For a personal project I want to iPXE boot alpine. I did not found any step by
step guide, so I ended up testing multiple solutions until it works. This
post is a “copy” of the answer I made here for the netboot.xyz project.
To fix this issue I used a bunch of thread and resources but here are the three
main entry used:
Now here is the process to make all of this work:
-
clone the alpine-iso git repo
-
cd to the directory and create the following two files:
-
alpine-pxe.packages
which will be empty (those packages are installed in the iso not in the initrd)
-
alpine-pxe.conf.mk
with the following content:
```text
ALPINE_NAME := alpine-pxe
KERNEL_FLAVOR := grsec
INITFS_FEATURES := ata base bootchart squashfs ext4 usb virtio network dhcp
MODLOOP_EXTRA :=
```
some options may not be needed, I did not had the time to check this correctly,
virtio
and network
are needed according to
the wiki
-
create the image following the instructions here and pass your new profile: make PROFILE=alpine-pxe
-
start a simple http server in isotmp.alpine-pxe/isofs/boot/
the ipxe boot will need the two following files:
initramfs-grsec
vmlinuz-grsec
-
create your ipxe script with an adaptation of the following to your own url
#!ipxe
dhcp
set base-url http://192.168.122.0:5050
set kernel-params ip=dhcp modules=loop,squashfs,usb-storage nomodeset
kernel ${base-url}/vmlinuz-grsec ${kernel-params}
initrd ${base-url}/initramfs-grsec
boot
Here again I am not sure that all the options are needed, still have to perform some tests.
-
start your network boot!