shithub: riscv

Download patch

ref: 634c55543a24e459900fdbad229eb01baae63680
parent: c7a5345aa6af80bd569e21b576c16daf3a0c72ea
author: cinap_lenrek <cinap_lenrek@felloff.net>
date: Fri Oct 31 16:07:54 EDT 2014

efi: generate /386/efiboot.fat for generating efi bootable cd images (see -E option of mk9660)

--- a/sys/man/8/9boot
+++ b/sys/man/8/9boot
@@ -1,6 +1,6 @@
 .TH 9BOOT 8
 .SH NAME
-9bootfat, 9bootiso, 9bootpxe, bootia32.efi, bootx64.efi \- PC bootloader for FAT, ISO and PXE network booting
+9bootfat, 9bootiso, 9bootpxe, bootia32.efi, bootx64.efi, efiboot.fat \- PC bootloader for FAT, ISO and PXE network booting
 .SH SYNOPSIS
 Started by PC BIOS or chainloaded by partition bootsector
 .SH DESCRIPTION
@@ -118,6 +118,7 @@
 .br
 .B /386/bootx64.efi
 .br
+.B /386/efiboot.fat
 .SH SOURCE
 .BR /sys/src/boot/pc
 .br
--- a/sys/src/boot/efi/mkfile
+++ b/sys/src/boot/efi/mkfile
@@ -1,4 +1,4 @@
-TARG=bootia32.efi bootx64.efi
+TARG=bootia32.efi bootx64.efi efiboot.fat
 HFILES=fns.h mem.h
 IMAGEBASE=0x8000
 CFLAGS=-FTVw
@@ -7,8 +7,7 @@
 all:V: $TARG
 
 install:V: $TARG
-	cp bootia32.efi /386
-	cp bootx64.efi /386
+	cp $prereq /386
 
 bootia32.efi:	pe32.8 efi.8 fs.8 pxe.8 iso.8 sub.8
 	8l -l -H3 -T$IMAGEBASE -o $target $prereq
@@ -58,11 +57,10 @@
 
 %.6:	$HFILES
 
-
-test.fat:D:	bootia32.efi bootx64.efi
+efiboot.fat:D:	bootia32.efi bootx64.efi
 	s = $target.$pid
 	rm -f $target
-	dd -if /dev/zero -of $target -bs 65536 -count 128
+	dd -if /dev/zero -of $target -bs 1024 -count 1024
 	disk/format -xd -t hard $target
 	dossrv -f $target $s
 	mount -c /srv/$s /n/esp
@@ -70,21 +68,38 @@
 	mkdir /n/esp/efi/boot
 	cp bootia32.efi /n/esp/efi/boot
 	cp bootx64.efi /n/esp/efi/boot
-	cp /386/9pcf /n/esp
-	echo 'bootfile=9pcf' >/n/esp/plan9.ini
 	unmount /n/esp
 	rm /srv/$s
 
-test.iso:D:	test.fat
+
+test.iso:D:	efiboot.fat
 	rm -fr tmp
 	mkdir tmp
-	cp test.fat tmp
 	mkdir tmp/cfg
 	mkdir tmp/386
+	cp efiboot.fat tmp/386
+	cp /386/9bootiso tmp/386
 	cp /386/9pcf tmp/386
 	echo 'bootfile=/386/9pcf' >tmp/cfg/plan9.ini
-	disk/mk9660 -E test.fat -p <{echo +} -s tmp $target
+	disk/mk9660 -B 386/9bootiso -E 386/efiboot.fat -p <{echo +} -s tmp $target
 	rm -r tmp
+
+test.fat:D:	bootia32.efi bootx64.efi
+	s = $target.$pid
+	rm -f $target
+	dd -if /dev/zero -of $target -bs 65536 -count 128
+	disk/format -xd -t hard $target
+	dossrv -f $target $s
+	mount -c /srv/$s /n/esp
+	mkdir /n/esp/efi
+	mkdir /n/esp/efi/boot
+	cp bootia32.efi /n/esp/efi/boot
+	cp bootx64.efi /n/esp/efi/boot
+	cp /386/9pcf /n/esp
+	echo 'bootfile=9pcf' >/n/esp/plan9.ini
+	unmount /n/esp
+	rm /srv/$s
+
 
 clean:V:
 	rm -f *.[68] *.out $TARG test.*