123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131 |
- # /sys/lib/dist/pc/mkfile
- <../defs
- out=outside # outside web server
- s=/sys/lib/dist/pc
- x=`{bind -b /sys/lib/dist/bin/$cputype /bin}
- default:V: cddisk
- SUB=`{ls sub inst}
- boot.raw:DQ: proto $SUB
- rfork n
- rm -rf boot
- mkdir boot
- bind /dev/null /sys/log/timesync
- # make files writable for now.
- sed 's!d000!d775!;s!000!664!;s!555!775!;s!444!664!' proto >proto.cp
- disk/mkfs -a proto.cp | disk/mkext -d boot
- @{
- cd boot/386
- strip init
- cd bin
- strip * */* >[2]/dev/null || status=''
- }
- sed 's!/.*!!' proto >proto.cp
- disk/mkfs -a -s boot proto.cp | tee >{wc -c >[1=2]} |
- touchfs 1000000000 >$target
- boot.bz2:DQ: boot.raw
- ls -l boot.raw
- bflz -n 32 <boot.raw >boot.bflz
- bzip2 -9 <boot.bflz >$target
- ls -l boot.bflz $target
- root.bz2:DQ: 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
- mk 'CONF=pccd' 9pccd.gz
- }
- # disk/format apparently uses stat to obtain a file's real name, so
- # binding 9loadusb onto 9load will store the name 9loadusb in the
- # generated fat filesystem. the same is true for plan9.ini.cd and plan9.ini.
- 9load: /386/9load
- cp $prereq $target
- cp /386/9loaddebug 9loaddebug
- # 9load no longer loads from floppies, and even if it did, this
- # no longer works, since 9load+9pcflop.gz won't fit on a floppy:
- # disk/format: data does not fit on disk (2849 2849)
- #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:D: 9load /sys/src/9/pc/9pcflop.gz plan9.ini.cd /lib/vgadb
- mk -a /sys/src/9/pc/9pccd.gz
- mk -a /sys/src/9/pc/9pcflop.gz
- rfork n
- cp -x plan9.ini.cd subst/plan9.ini
- dd -if /dev/zero -of $target -bs 1024 -count 2880 >[2]/dev/null
- disk/format -t 3½QD -f -b /386/pbs -d $target \
- /sys/src/9/pc/^(9pcflop 9pccd)^.gz subst/plan9.ini /lib/vgadb
- ls -l $target
- $scr/usbdisk:D: $scr/plan9.iso.bz2 /n/sources/plan9
- @ {
- rfork n
- if (~ $#scr 0 || ~ $scr '') {
- echo '$scr unset' >[1=2]
- exit not-set-up
- }
- cd $scr
- bind /dev/null /dev/cons
- bind /dev/null /dev/consctl
- { mkusbboot -s 1900 -r /n/sources/plan9; mv image $target } >[2=1] |
- grep -v 'mkfs: /sys/lib/sysconfig/proto/.*can''t stat'
- exit ''
- }
- $scr/usbdisk.bz2:D: $scr/usbdisk
- @ {
- bzip2 <$prereq >$target && rm -f $prereq
- ls -l $target
- targsz = `{{ls -s $target; echo 0} | awk '{print $1; exit}'}
- if (test $targsz -lt 80000) {
- echo $target implausibly small: >[1=2]
- ls -l $target >[1=2]
- rm -f $target
- exit $target-too-small
- }
- exit ''
- }
- 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: 9loaddebug # ndisk
- 9fs $out
- dst=/n/$out/sys/lib/dist/web.protect
- cp 9loaddebug $dst
- # gzip -9 <ndisk > $dst/plan9.flp.gz
- # mk clean
- test:V: 9loaddebug # ndisk
- cp 9loaddebug ../web.protect2/n9loaddebug
- # cp ndisk ../web.protect2/ndisk
- cd0:D: cddisk
- rm -f cd0
- disk/mk9660 -9cj -v 'Plan 9 4th Edition' -s . -p cd0.proto -b cddisk cd0
|