Using ipxe
by kranzocompile basic ipxe
# clone sources
git clone git clone [email protected]:ipxe/ipxe.git
# install build dependencies
sudo dnf install gcc binutils make perl liblzma mtools mkisofs syslinux
# build for x86 uefi
cd ipxe/src
make bin/ipxe.lkrn bin-x86_64-efi/ipxe.efi
# build iso
./util/genfsimg -o ipxe.iso bin/ipxe.lkrn bin-x86_64-efi/ipxe.efi
embedd boot script
boot.ipxe:
#!ipxe
set uri http://10.0.2.2/boot-http.ipxe
dhcp
:loading
prompt Press any key to continue loading from ${uri}
echo loading from ${uri}
chain ${uri}
goto loading
build for x86 uefi with build script
cd ipxe/src
make bin/ipxe.lkrn bin-x86_64-efi/ipxe.efi
test using qemu
qemu-system-x86_64 -boot d -cdrom ipxe.iso -m 512
Quellen: