]> git.lizzy.rs Git - plan9front.git/blobdiff - sys/src/9/boot/boot.c
kernel: don't strip binaries in bootfs.paq
[plan9front.git] / sys / src / 9 / boot / boot.c
index 74b18a4825cd99641cf9520aaa980607865d4b34..621c70da92a089cc3f63d197781212c03aca7a73 100644 (file)
@@ -4,22 +4,15 @@
 #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[])
+main(int argc, char *argv[])
 {
-       Waitmsg *w;
-       int pid, i;
+       char cputype[64];
+       char buf[32];
 
        fmtinstall('r', errfmt);
 
-       bind("#c", "/dev", MBEFORE);
+       bind("#c", "/dev", MREPL);
        open("/dev/cons", OREAD);
        open("/dev/cons", OWRITE);
        open("/dev/cons", OWRITE);
@@ -30,56 +23,26 @@ 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("%p %s ", 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 */
-       run("/boot/mntgen", "-s", "slash", "/mnt", nil);
-       run("/boot/bzfs", "-f", "/boot/rootfs.bz2", "-m", "/mnt/broot", nil);
-       bind("/mnt/broot", "/", MAFTER);
-       bind("/386/bin", "/bin", MAFTER);
-       bind("/rc/bin", "/bin", MAFTER);
        bind("/boot", "/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(;;)
-               ;
+       run("/bin/paqfs", "-qa", "-c", "8", "-m" "/root", "/boot/bootfs.paq", nil);
+       bind("/root", "/", MAFTER);
+       snprint(buf, sizeof(buf), "/%s/bin", cputype);
+       bind(buf, "/bin", MAFTER);
+       bind("/rc/bin", "/bin", MAFTER);
+       exec("/bin/bootrc", argv);
 }