From: Eli Cohen <echoline@gmail.com> To: 9front@9front.org Subject: [9front] rpi inst patch Date: Wed, 11 May 2022 21:13:53 -0700 [thread overview] Message-ID: <CAHwi9bw7zzYrArYP0BwLmqPsnh8ca9bWXqRDsuhUyLCqS7ymOQ@mail.gmail.com> (raw) [-- Attachment #1: Type: text/plain, Size: 145 bytes --] I have changed inst to work for rpi, as people seem to ask about that a lot. another change it might need is to have /386/mbr present for fdisk. [-- Attachment #2.1: Type: text/plain, Size: 385 bytes --] from postmaster@9front: The following attachment had content that we can't prove to be harmless. To avoid possible automatic execution, we changed the content headers. The original header was: Content-Type: text/x-patch; charset="US-ASCII"; name="rpi.inst.diff" Content-Disposition: attachment; filename="rpi.inst.diff" Content-Transfer-Encoding: base64 Content-ID: <f_l32hx9tg0> [-- Attachment #2.2: rpi.inst.diff.suspect --] [-- Type: application/octet-stream, Size: 6715 bytes --] diff f84cf1e60427675514fb056cc1723e45da01e043 uncommitted --- a/rc/bin/inst/bootsetup +++ b/rc/bin/inst/bootsetup @@ -4,7 +4,7 @@ # prereq: copydist fats=() -for(i in /dev/sd*/9fat){ +for(i in /dev/sd*/9fat /dev/sd*/dos){ if(test -f $i) fats=($fats $i) } @@ -19,7 +19,10 @@ case go echo - echo 'Setup Plan 9 FAT boot partition (9fat)' + if(~ $objtype 386 amd64) + echo 'Setup Plan 9 FAT boot partition (9fat)' + if not + echo 'Setup Plan 9 pidos boot partition' echo if(~ $#fats 1) @@ -30,82 +33,130 @@ 9fat=$rd export 9fat - bootfile=`{basename $bootfile} + if(~ $objtype 386 amd64){ + bootfile=`{basename $bootfile} - if(! test -f /tmp/plan9.ini) { - @{ - echo 'bootfile='^$bootfile - echo 'bootargs=local!'^$fs' '$"fsflags - if(~ $#nvram 1) - echo 'nvram='^$nvram - echo 'mouseport='^$mouseport - echo 'monitor='^$monitor - echo 'vgasize='^$vgasize - cd '#ec' - for(i in *){ - echo -n $"i'=' - cat $i - echo - } | grep -v '(apm0|e820|bootfile|bootargs|bootscreen|nvram|mouseport|monitor|vgasize|cdboot)' - } >/tmp/plan9.ini - } + if(! test -f /tmp/plan9.ini) { + @{ + echo 'bootfile='^$bootfile + echo 'bootargs=local!'^$fs' '$"fsflags + if(~ $#nvram 1) + echo 'nvram='^$nvram + echo 'mouseport='^$mouseport + echo 'monitor='^$monitor + echo 'vgasize='^$vgasize + cd '#ec' + for(i in *){ + echo -n $"i'=' + cat $i + echo + } | grep -v '(apm0|e820|bootfile|bootargs|bootscreen|nvram|mouseport|monitor|vgasize|cdboot)' + } >/tmp/plan9.ini + } - # clean state - rm -f /tmp/oldplan9.ini /tmp/pbs.bak - unmount /n/9fat >[2]/dev/null + # clean state + rm -f /tmp/oldplan9.ini /tmp/pbs.bak + unmount /n/9fat >[2]/dev/null - if(! test -f /srv/dos) - dossrv + if(! test -f /srv/dos) + dossrv - need9fatformat=yes - if(~ `{fstype $9fat} dos){ - if(mount /srv/dos /n/9fat $9fat >[2]/dev/null){ - if(cp /n/9fat/plan9.ini /tmp/oldplan9.ini >[2]/dev/null) - need9fatformat=no - unmount /n/9fat >[2]/dev/null + need9fatformat=yes + if(~ `{fstype $9fat} dos){ + if(mount /srv/dos /n/9fat $9fat >[2]/dev/null){ + if(cp /n/9fat/plan9.ini /tmp/oldplan9.ini >[2]/dev/null) + need9fatformat=no + unmount /n/9fat >[2]/dev/null - # make sure dossrv is gone - sleep 1 + # make sure dossrv is gone + sleep 1 + } } - } - # always make backup of old bootsector - logprog dd -bs 512 -count 1 -if $9fat -of /tmp/pbs.bak + # always make backup of old bootsector + logprog dd -bs 512 -count 1 -if $9fat -of /tmp/pbs.bak - if(~ $need9fatformat yes){ - log Initializing Plan 9 FAT partition. - logprog disk/format -r 2 -d -b /n/newfs/386/pbs -l PLAN9 $9fat - } - if not { - log Updating bootsector. - logprog disk/format -b /n/newfs/386/pbs $9fat - } + if(~ $need9fatformat yes){ + log Initializing Plan 9 FAT partition. + logprog disk/format -r 2 -d -b /n/newfs/386/pbs -l PLAN9 $9fat + } + if not { + log Updating bootsector. + logprog disk/format -b /n/newfs/386/pbs $9fat + } - logprog mount -c /srv/dos /n/9fat $9fat + logprog mount -c /srv/dos /n/9fat $9fat - logprog rm -f /n/9fat/^(9bootfat plan9.ini $bootfile) + logprog rm -f /n/9fat/^(9bootfat plan9.ini $bootfile) - logprog cp /n/newfs/386/9bootfat /n/9fat/9bootfat - # make file continous on disk - logprog chmod +al /n/9fat/9bootfat + logprog cp /n/newfs/386/9bootfat /n/9fat/9bootfat + # make file continous on disk + logprog chmod +al /n/9fat/9bootfat - # copy config - logprog cp /tmp/plan9.ini /n/9fat/plan9.ini + # copy config + logprog cp /tmp/plan9.ini /n/9fat/plan9.ini - # copy kernel - logprog cp /n/newfs/$cputype/$bootfile /n/9fat/ + # copy kernel + logprog cp /n/newfs/$cputype/$bootfile /n/9fat/ - # copy efi bootloader - logprog mkdir -p /n/9fat/efi/boot - logprog cp /386/^(bootia32.efi bootx64.efi) /n/9fat/efi/boot + # copy efi bootloader + logprog mkdir -p /n/9fat/efi/boot + logprog cp /386/^(bootia32.efi bootx64.efi) /n/9fat/efi/boot - # copy in backups - if(test -f /tmp/oldplan9.ini) - logprog cp /tmp/oldplan9.ini /n/9fat - if(test -f /tmp/pbs.bak) - logprog cp /tmp/pbs.bak /n/9fat + # copy in backups + if(test -f /tmp/oldplan9.ini) + logprog cp /tmp/oldplan9.ini /n/9fat + if(test -f /tmp/pbs.bak) + logprog cp /tmp/pbs.bak /n/9fat - logprog unmount /n/9fat + logprog unmount /n/9fat + } + if not if(~ $objtype arm){ + bootcode=/sys/src/boot/bcm/^(bootcode.bin fixup_cd.dat start_cd.elf LICENCE.broadcom) + kernels=/$objtype/^(9pi 9pi2) + > /env/config.txt { + echo '[pi0]' + echo 'kernel=9pi' + echo '[pi1]' + echo 'kernel=9pi' + echo '[pi2]' + echo 'kernel=9pi2' + echo '[pi3]' + echo 'kernel=9pi2' + echo 'core_freq=250' + echo '[all]' + echo 'gpu_mem=16' + echo 'enable_uart=1' + echo 'boot_delay=1' + } + > /env/cmdline.txt { + echo 'console=0' + } + } + if not if(~ $objtype arm64){ + bootcode=/sys/src/boot/bcm/^(bootcode.bin fixup_cd.dat start_cd.elf fixup4cd.dat start4cd.elf bcm2711-rpi-4-b.dtb LICENCE.broadcom) + kernels=/$objtype/^(9pi3 9pi4) + > /env/config.txt { + echo '[pi4]' + echo 'kernel=9pi4' + echo 'arm_64bit=1' + echo '[pi3]' + echo 'kernel=9pi3' + echo 'arm_64bit=1' + echo '[all]' + echo 'gpu_mem=16' + echo 'core_freq=250' + echo 'enable_uart=1' + echo 'boot_delay=1' + } + > /env/cmdline.txt { + echo 'console=0' + } + } + if(~ $objtype arm arm64){ + fatfiles=(/env/config.txt /env/cmdline.txt $bootcode $kernels) + disk/format -d $9fat $fatfiles + } disk=`{basename `{basename -d $9fat}} if(./bootplan9){ --- a/rc/bin/inst/partdisk +++ b/rc/bin/inst/partdisk @@ -52,6 +52,15 @@ } } + if(~ $objtype arm arm64){ + { + echo a p1 0 .+100M + echo t p1 FAT32 + echo w + echo q + } | $diskedit /dev/sdM0/data + } + echo echo 'This is '$diskedit'; use it to create a Plan 9 partition.' echo 'If there is enough room, a Plan 9 partition will be' --- a/rc/bin/inst/prepdisk +++ b/rc/bin/inst/prepdisk @@ -4,17 +4,22 @@ # prereq: partdisk fn autotype { + d='-a 9fat -a nvram' + if(~ $objtype arm arm64) + d='-a nvram' + switch($fstype){ case cwfs cwfs64 cwfs64x - echo -a 9fat -a nvram -a fscache -a fsworm -a other + echo $d -a fscache -a fsworm -a other case hjfs - echo -a 9fat -a nvram -a fs + echo $d -a fs } } switch($1) { case checkready - if(! test -f /dev/sd*/plan9*){ + p=/dev/sd*/plan9* + if(! test -f $p(1) ){ prepdisk=notdone export prepdisk } @@ -43,7 +48,8 @@ disk/prep -p $disk >`{basename -d $disk}^/ctl >[2]/dev/null case checkdone - if(! test -f /dev/sd*/9fat) + p=/dev/sd*/plan9* + if(! test -f $p(1) ) prepdisk=ready if(! ~ $prepdisk ready) prepdisk=done
reply other threads:[~2022-05-12 4:16 UTC|newest] Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=CAHwi9bw7zzYrArYP0BwLmqPsnh8ca9bWXqRDsuhUyLCqS7ymOQ@mail.gmail.com \ --to=echoline@gmail.com \ --cc=9front@9front.org \ --subject='Re: [9front] rpi inst patch' \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).