Thursday, August 29, 2024

pxelinux to ipxe howto (to boot bios method)

 TFTP root (Also HTTP root here)

       |- netboot
        |- boot.ipxe
        |- chain.c32   (syslinux)
        |- ipxe.lkrn   (download from ipxe.org)
        |- ldlinux.c32 (syslinux)
        |- libutil.c32 (syslinux)
        |- ldlinux.c32 (syslinux)
        |- memdisk     (syslinux)
        |- menu.c32    (syslinux)
        |- pxelinux.0  (syslinux)
        |- pxelinux.0? (link for fix bug tinycore)
        |- pxelinux.cfg
        || - default
|- tc (tinycore) || - core.gz
        || - vmlinuz

boot.ipxe
  #!ipxe
  
  dhcp
  chain http://boot.ipxe.org/demo/boot.php
default
DEFAULT menu.c32
PROMPT 0
MENU TITLE Boot Menu
TIMEOUT 50

LABEL local
    MENU LABEL 1 Boot local hard drive
    LOCALBOOT 0

LABEL core
    MENU LABEL 2 TINYCORE
    KERNEL /tc/vmlinuz
    APPEND initrd=/tc/core.gz

LABEL 1_ipxe
    MENU LABEL 3 IPXE (Network Boot)
    KERNEL ipxe.lkrn
    APPEND dhcp && chain http://boot.ipxe.org/demo/boot.php

LABEL 2_ipxe
    MENU LABEL 4 IPXE (Boot from file)
    KERNEL ipxe.lkrn
    APPEND boot.ipxe