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.*