Plan 9 from Bell Labs’s /usr/web/sources/plan9/rc/bin/pc/bootwinnt

Copyright © 2021 Plan 9 Foundation.
Distributed under the MIT License.
Download the Plan 9 distribution.


#!/bin/rc

disk=`{ls /dev/sd??/plan9 >[2]/dev/null | sed 1q | sed 's!.*/(.*)/plan9!\1!'}
if(! ~ $#disk 1) {
	echo 'No plan 9 disk found' >[1=2]
	exit
}

if(! c: || ! test -f /n/c:/boot.ini) {
	echo 'Could not find NT''s boot.ini on the first FAT disk.' >[1=2]
	exit
}

if(test -f /n/c:/boot.p9) {
	echo 'A Plan 9 backup already exists; will not edit boot.ini again.' >[1=2]
	exit
}

if(! cp /n/c:/boot.ini /n/c:/boot.p9) {
	echo 'Could not back up boot.ini; will not continue.' >[1=2]
	exit
}

chmod +w /n/c:/boot.ini

if(! grep -si '\[operating systems\]' /n/c:/boot.ini) {
	echo 'Could not parse boot.ini.' >[1=2]
	exit
}

if(grep -si 'Plan 9' /n/c:/boot.ini) {
	p9file=`{grep 'Plan 9' /n/c:/boot.ini | sed 1q | sed 's/=.*//'}
	if(! ~ $p9file [Cc]:'\'*) {
		echo 'Unexpected Plan 9 entry in boot.ini already; not continuing.' >[1=2]
		exit
	}
}

if not {
	p9file='c:\bootsect.p9'
	echo 'c:\bootsect.p9 = "Plan 9 from Bell Labs"
' >>/n/c:/boot.ini
}

p9file=/n/^`{echo $p9file | sed 's!\\!/!g'}


if(dd -if /dev/$disk/plan9 -bs 512 -count 1 -of $p9file >/dev/null >[2]/dev/null) {
	echo 'Plan 9 added to Windows NT boot menu.' >[1=2]
	exit
}

echo 'Error copying Plan 9 boot sector to file.'
exit

Bell Labs OSI certified Powered by Plan 9

(Return to Plan 9 Home Page)

Copyright © 2021 Plan 9 Foundation. All Rights Reserved.
Comments to webmaster@9p.io.