## diffname boot/local.c 1992/0317 ## diff -e /dev/null /n/bootesdump/1992/0317/sys/src/9/boot/local.c 0a #include #include #include <../boot/boot.h> static char *disk; void configlocal(Method *mp) { disk = mp->arg; USED(mp); } int authlocal(void) { return -1; } int connectlocal(void) { ulong i; int p[2]; char d[DIRLEN]; char sbuf[32]; char rbuf[32]; char *mtpt; char partition[2*NAMELEN]; if(stat("/kfs", d) < 0) return -1; sprint(partition, "%sfs", mp->arg ? mp->arg : bootdisk); if(stat(partition, d) < 0) return -1; if(bind("#c", "/dev", MREPL) < 0) fatal("bind #c"); if(bind("#p", "/proc", MREPL) < 0) fatal("bind #p"); if(pipe(p)<0) fatal("pipe"); switch(fork()){ case -1: fatal("fork"); case 0: sprint(sbuf, "%d", p[0]); sprint(rbuf, "%d", p[1]); execl("/kfs", "kfs", "-f", partition, "-s", sbuf, rbuf, 0); fatal("can't exec kfs"); default: break; } close(p[1]); return p[0]; } . ## diffname boot/local.c 1992/0318 ## diff -e /n/bootesdump/1992/0317/sys/src/9/boot/local.c /n/bootesdump/1992/0318/sys/src/9/boot/local.c 33c sprint(partition, "%sfs", disk ? disk : bootdisk); . ## diffname boot/local.c 1992/0321 ## diff -e /n/bootesdump/1992/0318/sys/src/9/boot/local.c /n/bootesdump/1992/0321/sys/src/9/boot/local.c 36c print("kfs..."); . ## diffname boot/local.c 1992/0728 ## diff -e /n/bootesdump/1992/0321/sys/src/9/boot/local.c /n/bootesdump/1992/0728/sys/src/9/boot/local.c 28d 23d ## diffname boot/local.c 1992/0825 ## diff -e /n/bootesdump/1992/0728/sys/src/9/boot/local.c /n/bootesdump/1992/0825/sys/src/9/boot/local.c 10c disk = *sys ? sys : mp->arg; . ## diffname boot/local.c 1992/0826 ## diff -e /n/bootesdump/1992/0825/sys/src/9/boot/local.c /n/bootesdump/1992/0826/sys/src/9/boot/local.c 10c if(*sys == '/' || *sys == '#') disk = sys; else disk = mp->arg; . ## diffname boot/local.c 1992/0902 ## diff -e /n/bootesdump/1992/0826/sys/src/9/boot/local.c /n/bootesdump/1992/0902/sys/src/9/boot/local.c 48,51c dup(p[0], 0); dup(p[1], 1); close(p[0]); close(p[1]); execl("/fs", "fs", "-f", partition, "-s", 0); fatal("can't exec fs"); . 34,37c dev = disk ? disk : bootdisk; sprint(partition, "%sfs", dev); if(stat(partition, d) < 0){ strcpy(partition, dev); if(stat(partition, d) < 0) return -1; } print("fs..."); . 32c if(stat("/fs", d) < 0) . 30a char *dev; . 28,29d ## diffname boot/local.c 1993/0403 ## diff -e /n/bootesdump/1992/0902/sys/src/9/boot/local.c /n/bootesdump/1993/0403/sys/src/9/boot/local.c 57c argp = args; *argp++ = "fs"; if(niob){ *argp++ = "-B"; *argp++ = niob; } *argp++ = "-f"; *argp++ = partition; *argp++ = "-s"; *argp = 0; exec("/fs", args); . 29a char *args[16], **argp; . 13a if(niob = strchr(disk, ' ')) /* assign = */ *niob++ = 0; . 5a static char *niob; . ## diffname boot/local.c 1993/0406 ## diff -e /n/bootesdump/1993/0403/sys/src/9/boot/local.c /n/bootesdump/1993/0406/sys/src/9/boot/local.c 13,16d 10a char *p; int n; disk = mp->arg; /* 1st try from config file */ if(disk && (niob = strchr(disk, ' '))) /* assign = */ *niob++ = 0; if(strncmp(argv0, "dksc(0,", 7) == 0){ p = strchr(argv0, ','); n = strtoul(p+1, 0, 10); sprint(diskname, "#w%d/sd%dfs", n, n); disk = diskname; /*print("argv0=\"%s\" --> disk = \"%s\"\n", argv0, disk);/**/ } . 4a static char diskname[2*NAMELEN]; . ## diffname boot/local.c 1993/0410 ## diff -e /n/bootesdump/1993/0406/sys/src/9/boot/local.c /n/bootesdump/1993/0410/sys/src/9/boot/local.c 26a if(disk) setenv("bootdisk", disk); . ## diffname boot/local.c 1993/0501 ## diff -e /n/bootesdump/1993/0410/sys/src/9/boot/local.c /n/fornaxdump/1993/0501/sys/src/brazil/boot/local.c 27,28c else disk = mp->arg; if(niob = strchr(disk, ' ')) /* assign = */ *niob++ = 0; . 12,24d 5d ## diffname boot/local.c 1994/0312 ## diff -e /n/fornaxdump/1993/0501/sys/src/brazil/boot/local.c /n/fornaxdump/1994/0312/sys/src/brazil/boot/local.c 13,16c if(disk) setenv("bootdisk", disk); . 10a char *p; int n; disk = mp->arg; /* 1st try from config file */ if(disk && (niob = strchr(disk, ' '))) /* assign = */ *niob++ = 0; if(strncmp(argv0, "dksc(0,", 7) == 0){ p = strchr(argv0, ','); n = strtoul(p+1, 0, 10); sprint(diskname, "#w%d/sd%dfs", n, n); disk = diskname; /*print("argv0=\"%s\" --> disk = \"%s\"\n", argv0, disk);/**/ } . 4a static char diskname[2*NAMELEN]; . ## diffname boot/local.c 1995/02021 ## diff -e /n/fornaxdump/1994/0312/sys/src/brazil/boot/local.c /n/fornaxdump/1995/02021/sys/src/brazil/boot/local.c 75,78d 28a . 25,26c /* if we've decided on one, pass it on to all programs */ . 23c } else if(mp->arg){ /* * a default is supplied when the kernel is made */ disk = mp->arg; } else if(*bootdisk){ /* * an environment variable from a pc's plan9.ini or * from the mips nvram or generated by the kernel * is the last resort. */ disk = bootdisk; . 15,18c if(*sys == '/' || *sys == '#'){ /* * if the user specifies the disk in the boot cmd or * 'root is from' prompt, use it */ disk = sys; } else if(strncmp(argv0, "dksc(0,", 7) == 0){ /* * on many mips arg0 of the boot command specifies the * scsi logical unit number */ . 7d ## diffname boot/local.c 1999/0501 ## diff -e /n/fornaxdump/1995/02021/sys/src/brazil/boot/local.c /n/emeliedump/1999/0501/sys/src/brazil/boot/local.c 97,98c exec("/kfs", args); fatal("can't exec kfs"); . 92c *argp++ = "kfs"; . 76c print("kfs..."); . 65c if(stat("/kfs", d) < 0) . ## diffname boot/local.c 2000/0506 ## diff -e /n/emeliedump/1999/0501/sys/src/brazil/boot/local.c /n/emeliedump/2000/0506/sys/src/9/boot/local.c 74a if(dir.mode & CHDIR) return -1; . 72c if(dirstat(partition, &dir) < 0) . 70c if(dirstat(partition, &dir) < 0){ . 59a Dir dir; . ## diffname boot/local.c 2000/1018 ## diff -e /n/emeliedump/2000/0506/sys/src/9/boot/local.c /n/emeliedump/2000/1018/sys/src/9/boot/local.c 100c print("kfs"); for(argp=arg; *argp; argp++) print(" %s", *argp); print("\n"); dup(p[0], 0); dup(p[1], 1); close(p[0]); close(p[1]); exec("/kfs", arg); . 98a for(i=1; imode; free(dir); if(mode & DMDIR) . 80d 76,78c dir = dirstat(partition); if(dir == nil) . 73,74c snprint(partition, sizeof partition, "%sfs", dev); dir = dirstat(partition); if(dir == nil){ . 70d 67,68c if(stat("/kfs", statbuf, sizeof statbuf) < 0) . 65a ulong mode; . 61,63c Dir *dir; char partition[64]; . 5c static char diskname[64]; . ## diffname boot/local.c 2002/0109 ## diff -e /n/emeliedump/2001/0527/sys/src/9/boot/local.c /n/emeliedump/2002/0109/sys/src/9/boot/local.c 52,57d ## diffname boot/local.c 2002/0401 ## diff -e /n/emeliedump/2002/0109/sys/src/9/boot/local.c /n/emeliedump/2002/0401/sys/src/9/boot/local.c 112a waitpid(); . ## diffname boot/local.c 2002/0414 ## diff -e /n/emeliedump/2002/0401/sys/src/9/boot/local.c /n/emeliedump/2002/0414/sys/src/9/boot/local.c 99,103d ## diffname boot/local.c 2002/1130 ## diff -e /n/emeliedump/2002/0414/sys/src/9/boot/local.c /n/emeliedump/2002/1130/sys/src/9/boot/local.c 103c exec("/boot/kfs", arg); . 61c if(stat("/boot/kfs", statbuf, sizeof statbuf) < 0) .