Not today...

comments

tuto

Alpine iPXE

Tagged admin

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!