# HG changeset patch # User John Floren # Date 1328821838 0 # Node ID 8264495eb0cf2cc111dad39c5e79b4666b966165 # Parent aa41ad9cdb997b527fde2d2ebd2e1ebc1f309108 sys/lib/dist: come on, work you ****! R=nixiedev CC=nix-dev http://codereview.appspot.com/5653049 diff -r aa41ad9cdb99 -r 8264495eb0cf sys/lib/dist/mkfile --- a/sys/lib/dist/mkfile Thu Feb 09 21:00:43 2012 +0000 +++ b/sys/lib/dist/mkfile Thu Feb 09 21:10:38 2012 +0000 @@ -1,131 +1,26 @@ # /sys/lib/dist/mkfile -src9=/n/sources/plan9 # what to export -dist=/sys/lib/dist # where this machinery lives -scr=/n/other/dist # scratch space before copying to web.protect +SRC9=/usr/john/nix-4cd # you should definitely define SRC9 when running this yourself. +scr=/tmp/dist # scratch space before copying to web.protect # import /sys/lib/dist/web.protect from the outside x=`{setup} -cd:V: $scr/plan9.iso +cd:V: log $scr/plan9.iso -ncd:V: $scr/plan9-new.iso.bz2 +log: + rm $SRC9/dist/replica/nix.db + touch $SRC9/dist/replica/nix.db + replica/updatedb -p nixproto -r $SRC9 -x $SRC9/dist/replica/nix.db -x $SRC9/dist/replica/nix.log $SRC9/dist/replica/nix.db > $SRC9/dist/replica/nix.log -ncd-dist:V: $scr/plan9-new.iso.bz2 - mk $dist/web.protect/plan9-new.iso.bz2 - -cd-dist:V: $scr/plan9.iso.bz2 - mk $dist/web.protect/plan9.iso.bz2 - -contrib-cd:V: $scr/contrib.iso.bz2 - mk $dist/web.protect/contrib.iso.bz2 - -$scr/%.iso:D: $src9/dist/replica/plan9.log +$scr/%.iso:D: log $SRC9/dist/replica/nix.log @ { cd pc; mk cddisk } rm -f $target bind pc/cddisk cdstub/bootdisk.img - if(! test -f $src9/bootdisk.img) - bind -a cdstub $src9 + if(! test -f $SRC9/bootdisk.img) + bind -a cdstub $SRC9 title=`{date | sed 's/(...) (...) (..) (..:..):.. (...) (....)/Plan 9 - \2 \3 \6 \4/'} title=$"title echo 'CD:' $title - disk/mk9660 -9cj -v $title -s $src9 -b bootdisk.img $target - -# copy compressed file from scratch space to the distribution, carefully -$dist/web.protect/%.iso.bz2: $scr/%.iso.bz2 - >>$target.new - chmod +t $target.new # waste write buf, not venti store - cp $prereq $target.new - # replace previous version with a flash cut - if (test -e $target) - mv $target $target.old # try to not clobber downloads in progress - mv $target.new $target - -cd-cleanup:V: - rm -f $dist/web.protect/*.iso.bz2.old # remove old versions after a delay - -# generate replica log & db for $src9 only -scan:V: - test -d $scr # make sure other was mounted above - test -d $src9 - test -d $dist/web.protect - lock scan.lock replica/scan $dist/sources.replica - chmod +t $src9/dist/replica/*.^(db log) - -# generate replica log & db for all of /n/sources -scanall:V: - @ { - rfork ne - d=/n/sources - test -d $src9 - lock scanall.lock replica/scan $dist/sourcesall.replica - chmod +t $src9/dist/replica/*.^(db log) - } - -compresslog:V: - { - awk -f logcompress.awk $src9/dist/replica/plan9.log | - awk -f logtime.awk -v 't='^`{date -n} >/tmp/plan9.log - rm -f $src9/dist/replica/plan9.new.log - cp /tmp/plan9.log $src9/dist/replica/plan9.new.log && - mv $src9/dist/replica/plan9.new.log $src9/dist/replica/plan9.log - } $src9/dist/replica/plan9.db -# chmod 664 $src9/dist/replica/plan9.log >$src9/dist/replica/plan9.log -# chmod +a $src9/dist/replica/plan9.log -# mk scan - -odump:V: - disk/dump9660 -9cj -v 'Plan 9 4e Dumps' -s $src9 \ - -p /sys/lib/sysconfig/proto/allproto $scr/distdump.iso - -cd.install:V: -# if(~ $sysname achille){ -# echo; echo; echo '*** run this on a real machine, like chips.' -# exit bad -# } - bzip2 -9 <$scr/plan9.iso >web.protect/nplan9.iso.bz2 - -D.install:V: - D=/n/roro/usr/rob/testplan9 - 9fs roro - test -d $D - cp $D$dist/pc/ndisk $dist/web.protect/ndisk - cp $D$dist/pc/9loaddebug $dist/web.protect/n9loaddebug - -reallyinstall:V: - if(! ~ $sysname achille){ - echo; echo; echo '*** this needs to run on achille.' - exit bad - } - cd web.protect - for (i in plan9.iso.bz2 disk 9loaddebug vmware.zip) - if(test -f n$i){ - mv $i _$i && { mv n$i $i || mv _$i $i } - } - rm /srv/ramfs.9down4e - $dist/startcache - -dump:V: - rm -f /srv/9660.xxx - 9660srv 9660.xxx - mount /srv/9660.xxx /n/kremvax $scr/plan9.iso - now=`{mtime $dist/web.protect/plan9.iso.bz2 | awk '{print $1}'} - ls -l /rls/plan9/4e.iso - disk/dump9660 -9cj -s /n/kremvax -n $now /rls/plan9/4e.iso - ls -l /rls/plan9/4e.iso - rm /srv/9660.xxx - -reencode:V: - rm -f $scr/nplan9.iso - rm -f /srv/9660.xxx - 9660srv 9660.xxx - mount /srv/9660.xxx /n/kremvax $scr/plan9.iso - disk/mk9660 -9cj -v 'Plan 9 4th Edition' -s /n/kremvax \ - -b bootdisk.img $scr/nplan9.iso - rm /srv/9660.xxx + disk/mk9660 -9cj -v $title -p nix.proto -s $SRC9 -b bootdisk.img $target # compress a cd image in scratch space $scr/%.iso.bz2:D: $scr/%.iso @@ -137,85 +32,7 @@ mv $stem.iso.bz2 _$stem.iso.bz2 mv n$stem.iso.bz2 $stem.iso.bz2 } - echo `{date} md5 `{md5sum <$stem.iso.bz2} \ - sha1 `{sha1sum <$stem.iso.bz2} \ - $stem.iso.bz2 >>/usr/web/plan9checksums.txt +# echo `{date} md5 `{md5sum <$stem.iso.bz2} \ +# sha1 `{sha1sum <$stem.iso.bz2} \ +# $stem.iso.bz2 >>/usr/web/plan9checksums.txt } - -$scr/contrib.iso:DV: - rm -f $target - disk/mk9660 -9cj -v 'Plan 9 Extras' -s /n/sources \ - -p ./contrib.proto $target - -rebuild:V: - chmod +l build.lock >>build.lock - rebuild >build.lock - rebuild $target - -9-export:V: 9.tar.gz - 9fs sources - cp 9.tar.gz /n/sources/extra/9.tgz - chmod +t /n/sources/extra/9.tgz - -plan9.tar.bz2:V: - @{ - rfork n - 9fs sources - cd /n/sources - test -e $src9 - bind /n/empty $src9/lib/font - bind /n/empty $src9/sys/lib/postscript/font - bind /n/empty $src9/sys/lib/ghostscript - bind /n/empty $src9/sys/src/cmd/gs - tar c plan9/LICENSE* plan9/NOTICE plan9/*/mkfile plan9/*/include \ - plan9/acme/*/src plan9/acme/bin/source \ - plan9/^(adm cron lib lp mail rc sys tmp usr) - } | bzip2 >$target - -plan9-export:V: plan9.tar.bz2 - 9fs sources - chmod +t plan9.tar.bz2 - mv plan9.tar.bz2 /n/sources/extra/plan9.tar.bz2 diff -r aa41ad9cdb99 -r 8264495eb0cf sys/lib/dist/pc/inst/copydist --- a/sys/lib/dist/pc/inst/copydist Thu Feb 09 21:00:43 2012 +0000 +++ b/sys/lib/dist/pc/inst/copydist Thu Feb 09 21:10:38 2012 +0000 @@ -16,7 +16,7 @@ exit } case go - inst/watchfd applylog 0 `{ls -l /n/dist/dist/replica/plan9.log | awk '{print $6}'} 'Installing file system' & + inst/watchfd applylog 0 `{ls -l /n/dist/dist/replica/nix.log | awk '{print $6}'} 'Installing file system' & replica/pull -c / /rc/bin/inst/replcfg if(~ $status '' *conflicts || test -f /n/newfs/dist/replica/didplan9witherrors) >/n/newfs/dist/replica/didplan9 diff -r aa41ad9cdb99 -r 8264495eb0cf sys/lib/dist/pc/inst/replcfg --- a/sys/lib/dist/pc/inst/replcfg Thu Feb 09 21:00:43 2012 +0000 +++ b/sys/lib/dist/pc/inst/replcfg Thu Feb 09 21:10:38 2012 +0000 @@ -2,8 +2,8 @@ s=/n/dist/dist/replica serverroot=/n/dist -serverlog=$s/plan9.log -serverproto=$s/plan9.proto +serverlog=$s/nix.log +serverproto=$s/nix.proto fn servermount { status='' } fn serverupdate { status='' } diff -r aa41ad9cdb99 -r 8264495eb0cf sys/lib/dist/pc/mkfile --- a/sys/lib/dist/pc/mkfile Thu Feb 09 21:00:43 2012 +0000 +++ b/sys/lib/dist/pc/mkfile Thu Feb 09 21:10:38 2012 +0000 @@ -1,50 +1,3 @@ -out=outside # outside web server -s=/sys/lib/dist/pc -x=`{bind -b /sys/lib/dist/bin/$cputype /bin} - -default:V: ndisk - ls -l ndisk - -SUB=`{ls sub inst} -boot.raw:Q: proto $SUB - rm -rf boot - mkdir boot - 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 boot - @{ - cd boot/386 - strip init - cd bin - strip * */* >[2]/dev/null || status='' - } - cat proto | sed 's!/.*!!' >proto.cp - disk/mkfs -a -s boot proto.cp | tee >{wc -c >[1=2]} | - touchfs 1000000000 >boot.raw - -boot.bz2:Q: boot.raw - ls -l boot.raw - bflz -n 32 < boot.raw >boot.bflz - ls -l boot.bflz - bzip2 -9 < boot.bflz >$target - ls -l $target - -root.bz2:Q: boot.bz2 - { - echo bzfilesystem - cat boot.bz2 - dd -if /dev/zero -bs 1024 -count 1 >[2]/dev/null - } >$target - ls -l $target - -/sys/src/9/pc/9pcflop.gz: root.bz2 - @{ - rfork n - cd /sys/src/9/pc - mk 'CONF=pcflop' 9pcflop.gz - } - /sys/src/9/pc/9pccd.gz: @{ cd /sys/src/9/pc @@ -61,40 +14,23 @@ # cp /386/9loadnousb $target # cater to old bioses cp /386/9loadlitedebug 9loaddebug -ndisk: 9load /sys/src/9/pc/9pcflop.gz plan9.ini /lib/vgadb - dd -if /dev/zero -of ndisk -bs 1024 -count 1440 >[2]/dev/null - disk/format -f -b /386/pbs -d ndisk \ - 9load /sys/src/9/pc/9pcflop.gz plan9.ini /lib/vgadb - ls -l ndisk - # cannot list both 9pcflop.gz and 9pccd.gz because they cannot be built # in parallel. stupid mk -cddisk:DV: 9load /sys/src/9/pc/9pcflop.gz plan9.ini.cd /lib/vgadb +cddisk:DV: 9load /sys/src/9/pc/9pccd.gz plan9.ini.cd /lib/vgadb mk -a /sys/src/9/pc/9pccd.gz - mk -a /sys/src/9/pc/9pcflop.gz +# mk -a /sys/src/9/pc/9pcflop.gz rfork n cp -x plan9.ini.cd subst/plan9.ini dd -if /dev/zero -of cddisk -bs 1024 -count 2880 >[2]/dev/null disk/format -t 3½QD -f -b /386/pbs -d cddisk \ - 9load /sys/src/9/pc/^(9pcflop.gz 9pccd.gz) \ + 9load /sys/src/9/pc/9pccd.gz \ subst/plan9.ini /lib/vgadb ls -l cddisk clean:V: if (! unmount 9load >[2]/dev/null) ; - rm -rf boot boot.bz2 boot.bflz boot.raw root.bz2 9pcflop ndisk 9load cddisk proto.cp 9loaddebug - -install:V: ndisk 9loaddebug - 9fs $out - dst=/n/$out/sys/lib/dist/web.protect - cp 9loaddebug $dst - gzip -9 < ndisk > $dst/plan9.flp.gz - # mk clean - -test:V: ndisk 9loaddebug - cp 9loaddebug ../web.protect2/n9loaddebug - cp ndisk ../web.protect2/ndisk + rm -rf boot boot.bz2 boot.bflz boot.raw root.bz2 9pcflop 9load cddisk proto.cp 9loaddebug cd0:D: cddisk rm -f cd0 diff -r aa41ad9cdb99 -r 8264495eb0cf sys/lib/dist/pc/plan9.ini.cd --- a/sys/lib/dist/pc/plan9.ini.cd Thu Feb 09 21:00:43 2012 +0000 +++ b/sys/lib/dist/pc/plan9.ini.cd Thu Feb 09 21:10:38 2012 +0000 @@ -1,11 +1,5 @@ # config for initial cd booting -[menu] -menuitem=install, Install Plan 9 from this CD -menuitem=cdboot, Boot Plan 9 from this CD -# menuitem=debug, Boot Plan 9 from this CD and debug 9load - -[common] # very cautious settings to get started. # will defeat booting from usb devices. *nomp=1 @@ -27,11 +21,6 @@ # console=0 # baud=9600 -[install] -nobootprompt=local!/boot/bzroot -bootfile=sdD0!cdboot!9pcflop.gz - -[cdboot] bootargs=local!#S/sdD0/data bootfile=sdD0!cdboot!9pccd.gz diff -r aa41ad9cdb99 -r 8264495eb0cf sys/lib/dist/pc/sub/D003753 --- a/sys/lib/dist/pc/sub/D003753 Thu Feb 09 21:00:43 2012 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,22 +0,0 @@ -#!/bin/rc -if(! test -f /srv/dos) - dossrv >/dev/null [2]/dev/null -unmount /n/a:>[2]/dev/null - -if(~ $#adisk 1) - ; # do nothing -if not if(~ $#bootfile 0) - adisk=/dev/fd0disk -if not { - switch($bootfile) { - case sd* - adisk=`{echo $bootfile | sed 's#(sd..).*#/dev/\1/data#'} - case fd* - adisk=`{echo $bootfile | sed 's#(fd.).*#/dev/\1disk#'} - case * - echo 'unknown bootfile '^$bootfile^'; mail 9trouble@plan9.bell-labs.com' - exit oops - } -} - -mount -c /srv/dos /n/a: $adisk diff -r aa41ad9cdb99 -r 8264495eb0cf sys/lib/dist/pc/sub/F004119 --- a/sys/lib/dist/pc/sub/F004119 Thu Feb 09 21:00:43 2012 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,24 +0,0 @@ -#!/bin/rc - -rfork e -if(! test -f /srv/dos) - dossrv >/dev/null [2]/dev/null -unmount /n/a:>[2]/dev/null - -switch($bootfile) { -case sd*!cdboot!* - # just look for the right file. bootfile isn''t trustworthy - adisk=/dev/sd*/cdboot - if(! ~ $#adisk 1) - adisk=$adisk(1) -case sd* - adisk=`{echo $bootfile | sed 's#(sd..).*#/dev/\1/dos#'} -case fd* - adisk=`{echo $bootfile | sed 's#(fd.).*#/dev/\1disk#'} -case * - echo 'unknown bootfile '^$bootfile^'; mail 9trouble@plan9.bell-labs.com' - exit oops -} - -mount -c /srv/dos /n/a: $adisk - diff -r aa41ad9cdb99 -r 8264495eb0cf sys/lib/dist/pc/subst/plan9.ini --- a/sys/lib/dist/pc/subst/plan9.ini Thu Feb 09 21:00:43 2012 +0000 +++ b/sys/lib/dist/pc/subst/plan9.ini Thu Feb 09 21:10:38 2012 +0000 @@ -1,11 +1,5 @@ # config for initial cd booting -[menu] -menuitem=install, Install Plan 9 from this CD -menuitem=cdboot, Boot Plan 9 from this CD -# menuitem=debug, Boot Plan 9 from this CD and debug 9load - -[common] # very cautious settings to get started. # will defeat booting from usb devices. *nomp=1 @@ -27,11 +21,6 @@ # console=0 # baud=9600 -[install] -nobootprompt=local!/boot/bzroot -bootfile=sdD0!cdboot!9pcflop.gz - -[cdboot] bootargs=local!#S/sdD0/data bootfile=sdD0!cdboot!9pccd.gz diff -r aa41ad9cdb99 -r 8264495eb0cf sys/lib/dist/setup --- a/sys/lib/dist/setup Thu Feb 09 21:00:43 2012 +0000 +++ b/sys/lib/dist/setup Thu Feb 09 21:10:38 2012 +0000 @@ -1,10 +1,16 @@ #!/bin/rc # setup - prep for the mkfile -9fs sources -9fs other -9fs outfsother -if (test -e /cfg/$sysname/config) - . /cfg/$sysname/config -if not - outip=204.178.31.2 -import -c tcp!$outip!666 $dist/web.protect +#9fs sources +#9fs other +#9fs outfsother +#if (test -e /cfg/$sysname/config) +# . /cfg/$sysname/config +#if not +# outip=204.178.31.2 +#import -c tcp!$outip!666 $dist/web.protect + +# we want to build a kernel from the NIX repo eventually, but +# for right now just use the stock one in your root. +# But don't make a mess. +mkdir -p /tmp/dist/pc +bind -bc /tmp/dist/pc /sys/src/9/pc diff -r aa41ad9cdb99 -r 8264495eb0cf usr/glenda/bin/rc/startinstall --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/usr/glenda/bin/rc/startinstall Thu Feb 09 21:10:38 2012 +0000 @@ -0,0 +1,18 @@ +#!/bin/rc + +echo -n Binding in appropriate directories... +bind -a /sys/lib/dist/bin/386 /bin +aux/stub -d /rc/bin/inst +bind /sys/lib/dist/pc/inst /rc/bin/inst +aux/stub -d /bin/inst +bind /sys/lib/dist/pc/inst /bin/inst +echo done. +dossrv +inst/gui +# gotta make them scroll +for (i in /dev/wsys/*) { + if (~ `{cat $i/label} mainloop || ~ `{cat $i/label} tailfsrv) { + echo scroll > $i/wctl + } +} +