From 792b186b3a1d3360592d085062cab81d725f76c7 Mon Sep 17 00:00:00 2001 From: cinap_lenrek Date: Sat, 4 Jun 2011 05:19:29 +0000 Subject: [PATCH] boot(8): replace bzfs with paqfs --- sys/src/9/alphapc/apc | 12 ++++++------ sys/src/9/alphapc/mkfile | 3 --- sys/src/9/boot/boot.c | 9 +++++---- sys/src/9/boot/bootrc | 7 +++++++ sys/src/9/kw/plug | 15 ++++++-------- sys/src/9/omap/beagle | 11 +++++------ sys/src/9/omap/mkfile | 3 --- sys/src/9/pc/mkfile | 13 ------------- sys/src/9/pc/pccpuf | 11 +++++------ sys/src/9/pc/pcf | 11 +++++------ sys/src/9/port/bootfs.proto | 2 +- sys/src/9/port/mkbootfs | 39 ------------------------------------- sys/src/9/port/portmkfile | 12 +++++++++++- 13 files changed, 51 insertions(+), 97 deletions(-) delete mode 100755 sys/src/9/port/mkbootfs diff --git a/sys/src/9/alphapc/apc b/sys/src/9/alphapc/apc index c91795f49..ecfd0b602 100644 --- a/sys/src/9/alphapc/apc +++ b/sys/src/9/alphapc/apc @@ -55,12 +55,12 @@ ip port int cpuserver = 0; -boot +boot boot tcp + local bootdir - bootapc.out boot - /alpha/bin/disk/kfs - /alpha/bin/auth/factotum - /alpha/bin/ip/ipconfig - + boot$CONF.out boot + /$objtype/bin/paqfs + /$objtype/bin/auth/factotum + bootfs.paq diff --git a/sys/src/9/alphapc/mkfile b/sys/src/9/alphapc/mkfile index fba07d48d..137ecb392 100644 --- a/sys/src/9/alphapc/mkfile +++ b/sys/src/9/alphapc/mkfile @@ -76,9 +76,6 @@ $p$CONF: $CONF.c $OBJ $LIB install:V: $p$CONF cp $p$CONF /$objtype/$p$CONF -rootfs.bz2: - rc ../port/mkbootfs - <../boot/bootmkfile <../port/portmkfile <|../port/mkbootrules $CONF diff --git a/sys/src/9/boot/boot.c b/sys/src/9/boot/boot.c index 74b18a482..420831b4a 100644 --- a/sys/src/9/boot/boot.c +++ b/sys/src/9/boot/boot.c @@ -16,6 +16,7 @@ boot(int argc, char *argv[]) { Waitmsg *w; int pid, i; + char buf[32]; fmtinstall('r', errfmt); @@ -54,10 +55,10 @@ boot(int argc, char *argv[]) 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); + run("/boot/paqfs", "-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); bind("/boot", "/bin", MAFTER); diff --git a/sys/src/9/boot/bootrc b/sys/src/9/boot/bootrc index 4da39db38..697eb961e 100644 --- a/sys/src/9/boot/bootrc +++ b/sys/src/9/boot/bootrc @@ -1,5 +1,11 @@ #!/bin/rc +mntgen -s slash /mnt +bind /root /mnt/broot +unmount /root + +ramfs + bind -q '#p' /proc for(i in S f k æ t){ @@ -99,6 +105,7 @@ fn main{ # remove part of our temporary root /mnt/broot/$cputype/bin/unmount /$cputype/bin /bin /mnt/broot/$cputype/bin/unmount /rc/bin /bin + /mnt/broot/$cputype/bin/unmount /tmp /mnt/broot/$cputype/bin/unmount / # create the name space, mount the root fs diff --git a/sys/src/9/kw/plug b/sys/src/9/kw/plug index 7fe107ba6..b20e221e6 100644 --- a/sys/src/9/kw/plug +++ b/sys/src/9/kw/plug @@ -66,15 +66,12 @@ port int cpuserver = 1; int i8250freq = 3686000; -boot cpu +boot boot tcp -# paq + local bootdir - boot$CONF.out boot - /arm/bin/ip/ipconfig - /arm/bin/auth/factotum -# /arm/bin/paqfs - /arm/bin/usb/usbd -# nvram not needed any longer, it's in flash - nvram + boot$CONF.out boot + /$objtype/bin/paqfs + /$objtype/bin/auth/factotum + bootfs.paq diff --git a/sys/src/9/omap/beagle b/sys/src/9/omap/beagle index f7d40b50f..ea238d55a 100644 --- a/sys/src/9/omap/beagle +++ b/sys/src/9/omap/beagle @@ -69,13 +69,12 @@ port int cpuserver = 1; int i8250freq = 3686000; -boot cpu +boot boot tcp local bootdir - boot$CONF.out boot - /arm/bin/bzfs - /arm/bin/mntgen - /arm/bin/auth/factotum - rootfs.bz2 + boot$CONF.out boot + /$objtype/bin/paqfs + /$objtype/bin/auth/factotum + bootfs.paq diff --git a/sys/src/9/omap/mkfile b/sys/src/9/omap/mkfile index 74d617791..fcd7db859 100644 --- a/sys/src/9/omap/mkfile +++ b/sys/src/9/omap/mkfile @@ -92,9 +92,6 @@ install:V: /$objtype/$p$CONF wait touch $target -rootfs.bz2: - rc ../port/mkbootfs - <../boot/bootmkfile <../port/portmkfile <|../port/mkbootrules $CONF diff --git a/sys/src/9/pc/mkfile b/sys/src/9/pc/mkfile index cb54b7497..c5b7dfbab 100644 --- a/sys/src/9/pc/mkfile +++ b/sys/src/9/pc/mkfile @@ -77,9 +77,6 @@ $p$CONF: $CONF.c $OBJ $LIB $LD -o $target -T$KTZERO -l $OBJ $CONF.$O $LIB size $target -rootfs.bz2: - rc ../port/mkbootfs - # don't strip the gzipped kernels -- too frustrating when that's all you have! $p%.gz:D: $p% gzip -9 <$p$stem >$p$stem.gz @@ -188,13 +185,3 @@ checkdist:VQ: %.clean:V: rm -f $stem.c [9bz]$stem [9bz]$stem.gz boot$stem.* reboot.h apbootstrap.h init.h - -# testing -9load:D: /usr/rsc/boot/$O.load 9pcload - cat $prereq >$target - -9load.flp: 9load - disk/format -b /386/pbs -df $target $prereq - -$p$CONF.flp: /386/9load plan9.ini $p$CONF.gz - disk/format -b /386/pbs -df $target $prereq diff --git a/sys/src/9/pc/pccpuf b/sys/src/9/pc/pccpuf index a5e7407e1..38403cd40 100644 --- a/sys/src/9/pc/pccpuf +++ b/sys/src/9/pc/pccpuf @@ -118,13 +118,12 @@ ip port int cpuserver = 1; -boot cpu boot #S/sdC0/ +boot boot tcp local bootdir - bootpccpuf.out boot - /386/bin/bzfs - /386/bin/mntgen - /386/bin/auth/factotum - rootfs.bz2 + boot$CONF.out boot + /$objtype/bin/paqfs + /$objtype/bin/auth/factotum + bootfs.paq diff --git a/sys/src/9/pc/pcf b/sys/src/9/pc/pcf index 47ed15ad8..cbdf0e3b7 100644 --- a/sys/src/9/pc/pcf +++ b/sys/src/9/pc/pcf @@ -127,13 +127,12 @@ ip port int cpuserver = 0; -boot boot #S/sdC0/ +boot boot tcp local bootdir - bootpcf.out boot - /386/bin/bzfs - /386/bin/mntgen - /386/bin/auth/factotum - rootfs.bz2 + boot$CONF.out boot + /$objtype/bin/paqfs + /$objtype/bin/auth/factotum + bootfs.paq diff --git a/sys/src/9/port/bootfs.proto b/sys/src/9/port/bootfs.proto index 8d1476016..635e4c420 100644 --- a/sys/src/9/port/bootfs.proto +++ b/sys/src/9/port/bootfs.proto @@ -5,7 +5,6 @@ $cputype aux kbdfs bind - bzfs cat cryptsetup dd @@ -23,6 +22,7 @@ $cputype ipconfig ls mkdir + mntgen mount ramfs rc diff --git a/sys/src/9/port/mkbootfs b/sys/src/9/port/mkbootfs deleted file mode 100755 index d8867c5ad..000000000 --- a/sys/src/9/port/mkbootfs +++ /dev/null @@ -1,39 +0,0 @@ -#!/bin/rc - -fn bootraw { - proto=../port/bootfs.proto - mkdir bootfs - - aux/stub /sys/log/timesync - bind /dev/null /sys/log/timesync - # make files writable for now. - cat $proto | sed 's!d000!d775!;s!000!664!;s!555!775!;s!444!664!' > proto.cp - disk/mkfs -a proto.cp | disk/mkext -d bootfs - @{ - cd bootfs/386/bin - strip * */* >[2]/dev/null || status='' - } - disk/mkfs -a -s bootfs proto.cp >boot.raw - rm proto.cp -} - -fn bootbz2 { - aux/bflz -n 32 < boot.raw >boot.bflz - bzip2 -9 < boot.bflz >boot.bz2 - rm boot.raw boot.bflz -} - -fn rootbz2 { - { - echo bzfilesystem - cat boot.bz2 - dd -if /dev/zero -bs 1024 -count 1 >[2]/dev/null - } >rootfs.bz2 - ls -l rootfs.bz2 - rm boot.bz2 -} - -bootraw -bootbz2 -rootbz2 -rm -rf bootfs diff --git a/sys/src/9/port/portmkfile b/sys/src/9/port/portmkfile index 02f2f29b5..450fc82b6 100644 --- a/sys/src/9/port/portmkfile +++ b/sys/src/9/port/portmkfile @@ -30,7 +30,7 @@ all:V: mk 'CONF='$i clean:V: - rm -f *.[$OS] *.i *.root.s *.rootc.c cfs.h fs.h init.h conf.h *.out *.m errstr.h rootfs.bz2 + rm -f *.[$OS] *.i *.root.s *.rootc.c cfs.h fs.h init.h conf.h *.out *.m errstr.h bootfs.paq for(i in $CONFLIST $CRAPLIST) mk $i.clean @@ -92,3 +92,13 @@ boot$CONF.out: $CONF print.$O $BOOTDIR/boot.c $BOOTLIB $CC $CFLAGS boot$CONF.c $CC $CFLAGS ../boot/printstub.c $LD -o boot$CONF.out boot$CONF.$O $BOOTLIB printstub.$O + +bootfs.paq: ../port/bootfs.proto + mkdir -p bootfs + disk/mkfs -s / -d bootfs ../port/bootfs.proto + @{ + cd bootfs/$objtype/bin + strip * */* >[2]/dev/null || status='' + } + mkpaqfs -o $target bootfs + rm -rf bootfs