]> git.lizzy.rs Git - plan9front.git/blobdiff - sys/src/9/boot/boot.c
Prevent nusb/disk and nusb/kb from blocking nusbrc
[plan9front.git] / sys / src / 9 / boot / boot.c
index 496dbd665d14e1e4ebd547088538b403f8c83a2f..5ec3118fb0987d6f35d76156ad0e4a609771e009 100644 (file)
@@ -4,18 +4,10 @@
 #include <fcall.h>
 #include "../boot/boot.h"
 
-char   cputype[64];
-char   reply[256];
-int    printcol;
-int    mflag;
-int    fflag;
-int    kflag;
-
 void
 boot(int argc, char *argv[])
 {
-       Waitmsg *w;
-       int pid, i;
+       char cputype[64];
        char buf[32];
 
        fmtinstall('r', errfmt);
@@ -31,29 +23,21 @@ boot(int argc, char *argv[])
        bind("#ec", "/env", MREPL);
        bind("#e", "/env", MBEFORE|MCREATE);
        bind("#s", "/srv", MREPL|MCREATE);
+       bind("#σ", "/shr", MREPL);
 
        if(Debug){
+               int i;
+
                print("argc=%d\n", argc);
                for(i = 0; i < argc; i++)
                        print("%lux %s ", (ulong)argv[i], argv[i]);
                print("\n");
        }
-
-       ARGBEGIN{
-       case 'k':
-               kflag = 1;
-               break;
-       case 'm':
-               mflag = 1;
-               break;
-       case 'f':
-               fflag = 1;
-               break;
-       }ARGEND
+       USED(argc);
 
        readfile("#e/cputype", cputype, sizeof(cputype));
        setenv("bootdisk", bootdisk, 0);
-       
+
        /* setup the boot namespace */
        bind("/boot", "/bin", MAFTER);
        run("/bin/paqfs", "-q", "-c", "8", "-m" "/root", "/boot/bootfs.paq", nil);
@@ -61,26 +45,5 @@ boot(int argc, char *argv[])
        snprint(buf, sizeof(buf), "/%s/bin", cputype);
        bind(buf, "/bin", MAFTER);
        bind("/rc/bin", "/bin", MAFTER);
-
-       switch(pid = rfork(RFFDG|RFREND|RFPROC)){
-       case -1:
-               fatal("fork error");
-       case 0:
-               setenv("cpuflag", cpuflag ? "1" : "0", 0);
-               run("/bin/rc", "/rc/bin/bootrc", nil);
-               break;
-       default:
-               while((w = wait()) != nil)
-                       if(w->pid == pid)
-                               break;
-               if(w == nil){
-                       free(w);
-                       fatal("wait error");
-               }
-               free(w);
-               break;
-       }
-
-       for(;;)
-               ;
+       exec("/bin/bootrc", argv);
 }