Menu

Netboot Alpine Linux using iPXE

Copy the files needed by iPXE to a web server

Create an iPXE boot script

For example, create a script called boot.ipxe with contents:

#!ipxe

set base-url http://ipxe-boot.example.com

kernel ${base-url}/boot/vmlinuz-virt console=tty0 modules=loop,squashfs quiet nomodeset alpine_repo=https://dl-cdn.alpinelinux.org/alpine/v3.16/main modloop=http://ipxe-boot.example.com/boot/modloop-virt
initrd ${base-url}/boot/initramfs-virt
boot

Boot using the iPXE boot script

Using QEMU (for testing)

Assuming you have the binary qemu-system-x86_64 on your system:

qemu-system-x86_64 -boot n -m 512M -enable-kvm -device virtio-net,netdev=n1 -netdev user,id=n1,tftp=$(pwd),bootfile=/boot.ipxe

Using Libvirt

On Vultr.com

NOTE: Other cloud providers have similar features, but I haven’t used them.

iPXE Boot Feature - Vultr.com

See Also

Alpine linux netboot server