ipxe menu splittato

This commit is contained in:
Paolo Asperti 2023-10-28 00:51:13 +02:00
parent 08699e9e43
commit 0c4622974a
Signed by: paspo
GPG Key ID: 06D46905D19D5182
18 changed files with 123 additions and 119 deletions

144
boot.ipxe
View File

@ -2,35 +2,36 @@
set boot-url http://${dhcp-server}
:start
# 2 secondi timeout
isset ${menu-timeout} || set menu-timeout 30000
isset ${enu-default} || set menu-default ubuntu
isset ${menu-default} || set menu-default ubuntu
menu iPXE boot menu
item --key u ubuntu Boot Ubuntu 22.04
item --key u popos Boot POP OS 22.04
item --key u popos-nvidia Boot POP OS 22.04 (nvidia)
item --key u mint-cinnamon Boot Linuxmint 21.2 Cinnamon
item --key u mint-xfce Boot Linuxmint 21.2 XFCE
item --key u mint-mate Boot Linuxmint 21.2 Mate
item --key u mint-lmde Boot Linuxmint Debian Edition 6
item --key u xubuntu Boot XUbuntu 22.04
item --key u lubuntu Boot LUbuntu 22.04
item --key u zorin-core Boot Zorin OS 16.3 Core
item --key u zorin-lite Boot Zorin OS 16.3 Lite
item --key u elementary Boot Elementary OS 7
item --key u fedora Boot Fedora Workstation 38 Live
item --key u opensuse Boot openSUSE Leap 15.5
# item --key u debian Boot Debian Live 12.2.0
# item --key u kali Boot Kali Linux 2023.3
item --key u ubuntu-http Boot Ubuntu 22.04 (HTTP)
item --key f freedos Boot FreeDOS
item --key n netboot-xyz netboot.xyz
item shell iPXE shell
item reboot Reboot
item --key u ubuntu_22.04 Boot Ubuntu 22.04
item --key u popos_22.04 Boot POP OS 22.04
item --key u popos_nvidia_22.04 Boot POP OS 22.04 (nvidia)
item --key u linuxmint_21.2_cinnamon Boot Linuxmint 21.2 Cinnamon
item --key u linuxmint_21.2_xfce Boot Linuxmint 21.2 XFCE
item --key u linuxmint_21.2_mate Boot Linuxmint 21.2 Mate
item --key u lmde_6 Boot Linuxmint Debian Edition 6
item --key u xubuntu_22.04 Boot XUbuntu 22.04
item --key u lubuntu_22.04 Boot LUbuntu 22.04
item --key u zorinos_16.3_core Boot Zorin OS 16.3 Core
item --key u zorinos_16.3_lite Boot Zorin OS 16.3 Lite
item --key u elementaryos_7 Boot Elementary OS 7
item --key u fedora_38_live Boot Fedora Workstation 38 Live
item --key u opensuse_leap_15.5 Boot openSUSE Leap 15.5
# item --key u debian Boot Debian Live 12.2.0
# item --key u kali Boot Kali Linux 2023.3
# item --key u ubuntu-http Boot Ubuntu 22.04 (HTTP)
item --key f freedos Boot FreeDOS
item --key n netboot-xyz netboot.xyz
item shell iPXE shell
item reboot Reboot
item
item --key x exit Exit iPXE and continue BIOS boot
item --key x exit Exit iPXE and continue BIOS boot
choose --timeout ${menu-timeout} --default ${menu-default} selected || goto cancel
set menu-timeout 0
# will load http://ipaddress/menu/selected.ipxe if it exists
chain ${boot-url}/menu/${selected}.ipxe ||
goto ${selected}
:cancel
@ -58,104 +59,9 @@ set submenu-timeout 0
clear submenu-default
goto start
:freedos
echo Booting FreeDOS
kernel ${boot-url}/memdisk iso raw
initrd ${boot-url}/iso/FD13LIVE.iso
boot || goto failed
goto start
:netboot-xyz
chain --autofree http://boot.netboot.xyz
goto start
:ubuntu
echo Booting Ubuntu 22.04 (NFS)
initrd ${boot-url}/mount/ubuntu-22.04.3-desktop-amd64.iso/casper/initrd
chain ${boot-url}/mount/ubuntu-22.04.3-desktop-amd64.iso/casper/vmlinuz ip=${net0/ip}::${dhcp-server}:255.255.255.0::::${dhcp-server}: boot=casper netboot=nfs nfsroot=${dhcp-server}:/srv/pxe/mount/ubuntu-22.04.3-desktop-amd64.iso initrd=initrd config -- keyboard-configuration/layoutcode=it keyboard-configuration/modelcode=pc105 debian-installer/locale=it
goto start
:ubuntu-http
echo Booting Ubuntu 22.04 (HTTP)
initrd ${boot-url}/mount/ubuntu-22.04.3-desktop-amd64.iso/casper/initrd
set url http://${dhcp-server}/iso/ubuntu-22.04.3-desktop-amd64.iso
chain ${boot-url}/mount/ubuntu-22.04.3-desktop-amd64.iso/casper/vmlinuz ip=${net0/ip}::${dhcp-server}:255.255.255.0::::${dhcp-server}: boot=casper netboot=url url=${url} initrd=initrd config -- keyboard-configuration/layoutcode=it keyboard-configuration/modelcode=pc105 debian-installer/locale=it
goto start
:popos
echo Booting POP OS 22.04 (NFS)
initrd ${boot-url}/mount/pop-os_22.04_amd64_intel_4.iso/casper/initrd.gz
chain ${boot-url}/mount/pop-os_22.04_amd64_intel_4.iso/casper/vmlinuz.efi ip=${net0/ip}::${dhcp-server}:255.255.255.0::::${dhcp-server}: boot=casper netboot=nfs nfsroot=${dhcp-server}:/srv/pxe/mount/pop-os_22.04_amd64_intel_4.iso initrd=initrd.gz config -- keyboard-configuration/layoutcode=it keyboard-configuration/modelcode=pc105 debian-installer/locale=it
goto start
:popos-nvidia
echo Booting POP OS 22.04 - nvidia (NFS)
initrd ${boot-url}/mount/pop-os_22.04_amd64_nvidia_4.iso/casper/initrd.gz
chain ${boot-url}/mount/pop-os_22.04_amd64_nvidia_4.iso/casper/vmlinuz.efi ip=${net0/ip}::${dhcp-server}:255.255.255.0::::${dhcp-server}: boot=casper netboot=nfs nfsroot=${dhcp-server}:/srv/pxe/mount/pop-os_22.04_amd64_nvidia_4.iso initrd=initrd.gz config -- keyboard-configuration/layoutcode=it keyboard-configuration/modelcode=pc105 debian-installer/locale=it
goto start
:elementary
echo Booting Elementary OS 7 (NFS)
initrd ${boot-url}/mount/elementaryos-7.1-stable.20230926rc.iso/casper/initrd.lz
chain ${boot-url}/mount/elementaryos-7.1-stable.20230926rc.iso/casper/vmlinuz ip=${net0/ip}::${dhcp-server}:255.255.255.0::::${dhcp-server}: boot=casper netboot=nfs nfsroot=${dhcp-server}:/srv/pxe/mount/elementaryos-7.1-stable.20230926rc.iso initrd=initrd.lz config -- keyboard-configuration/layoutcode=it keyboard-configuration/modelcode=pc105 debian-installer/locale=it
goto start
:mint-cinnamon
echo Booting Linuxmint 21.2 cinnamon (NFS)
initrd ${boot-url}/mount/linuxmint-21.2-cinnamon-64bit.iso/casper/initrd.lz
chain ${boot-url}/mount/linuxmint-21.2-cinnamon-64bit.iso/casper/vmlinuz ip=${net0/ip}::${dhcp-server}:255.255.255.0::::${dhcp-server}: boot=casper netboot=nfs nfsroot=${dhcp-server}:/srv/pxe/mount/linuxmint-21.2-cinnamon-64bit.iso initrd=initrd.lz config -- keyboard-configuration/layoutcode=it keyboard-configuration/modelcode=pc105 debian-installer/locale=it
goto start
:mint-xfce
echo Booting Linuxmint 21.2 xfce (NFS)
initrd ${boot-url}/mount/linuxmint-21.2-xfce-64bit.iso/casper/initrd.lz
chain ${boot-url}/mount/linuxmint-21.2-xfce-64bit.iso/casper/vmlinuz ip=${net0/ip}::${dhcp-server}:255.255.255.0::::${dhcp-server}: boot=casper netboot=nfs nfsroot=${dhcp-server}:/srv/pxe/mount/linuxmint-21.2-xfce-64bit.iso initrd=initrd.lz config -- keyboard-configuration/layoutcode=it keyboard-configuration/modelcode=pc105 debian-installer/locale=it
goto start
:mint-mate
echo Booting Linuxmint 21.2 mate (NFS)
initrd ${boot-url}/mount/linuxmint-21.2-mate-64bit.iso/casper/initrd.lz
chain ${boot-url}/mount/linuxmint-21.2-mate-64bit.iso/casper/vmlinuz ip=${net0/ip}::${dhcp-server}:255.255.255.0::::${dhcp-server}: boot=casper netboot=nfs nfsroot=${dhcp-server}:/srv/pxe/mount/linuxmint-21.2-mate-64bit.iso initrd=initrd.lz config -- keyboard-configuration/layoutcode=it keyboard-configuration/modelcode=pc105 debian-installer/locale=it
goto start
:mint-lmde
echo Booting Linuxmint Debian Edition 6 (NFS)
initrd ${boot-url}/mount/lmde-6-cinnamon-64bit.iso/casper/initrd.lz
chain ${boot-url}/mount/lmde-6-cinnamon-64bit.iso/casper/vmlinuz ip=${net0/ip}::${dhcp-server}:255.255.255.0::::${dhcp-server}: boot=live live-config live-media-path=/casper netboot=nfs nfsroot=${dhcp-server}:/srv/pxe/mount/lmde-6-cinnamon-64bit.iso initrd=initrd.lz config -- keyboard-configuration/layoutcode=it keyboard-configuration/modelcode=pc105 debian-installer/locale=it
goto start
:xubuntu
echo Booting XUbuntu 22.04 (NFS)
initrd ${boot-url}/mount/xubuntu-22.04.3-desktop-amd64.iso/casper/initrd
chain ${boot-url}/mount/xubuntu-22.04.3-desktop-amd64.iso/casper/vmlinuz ip=${net0/ip}::${dhcp-server}:255.255.255.0::::${dhcp-server}: boot=casper netboot=nfs nfsroot=${dhcp-server}:/srv/pxe/mount/xubuntu-22.04.3-desktop-amd64.iso initrd=initrd config -- keyboard-configuration/layoutcode=it keyboard-configuration/modelcode=pc105 debian-installer/locale=it
goto start
:lubuntu
echo Booting LUbuntu 22.04 (NFS)
initrd ${boot-url}/mount/lubuntu-22.04.3-desktop-amd64.iso/casper/initrd
chain ${boot-url}/mount/lubuntu-22.04.3-desktop-amd64.iso/casper/vmlinuz ip=${net0/ip}::${dhcp-server}:255.255.255.0::::${dhcp-server}: boot=casper netboot=nfs nfsroot=${dhcp-server}:/srv/pxe/mount/lubuntu-22.04.3-desktop-amd64.iso initrd=initrd config -- keyboard-configuration/layoutcode=it keyboard-configuration/modelcode=pc105 debian-installer/locale=it
goto start
:zorin-core
echo Booting Zorin OS 16.3 Core (NFS)
initrd ${boot-url}/mount/Zorin-OS-16.3-Core-64-bit.iso/casper/initrd.lz4
chain ${boot-url}/mount/Zorin-OS-16.3-Core-64-bit.iso/casper/vmlinuz ip=${net0/ip}::${dhcp-server}:255.255.255.0::::${dhcp-server}: boot=casper netboot=nfs nfsroot=${dhcp-server}:/srv/pxe/mount/Zorin-OS-16.3-Core-64-bit.iso initrd=initrd.lz4 config -- keyboard-configuration/layoutcode=it keyboard-configuration/modelcode=pc105 debian-installer/locale=it
goto start
:zorin-lite
echo Booting Zorin OS 16.3 Lite (NFS)
initrd ${boot-url}/mount/Zorin-OS-16.3-Lite-64-bit.iso/casper/initrd.lz4
chain ${boot-url}/mount/Zorin-OS-16.3-Lite-64-bit.iso/casper/vmlinuz ip=${net0/ip}::${dhcp-server}:255.255.255.0::::${dhcp-server}: boot=casper nocheck netboot=nfs nfsroot=${dhcp-server}:/srv/pxe/mount/Zorin-OS-16.3-Lite-64-bit.iso initrd=initrd.lz4 config -- keyboard-configuration/layoutcode=it keyboard-configuration/modelcode=pc105 debian-installer/locale=it
goto start
:fedora
echo Booting Fedora Workstation 38 Live (NFS)
initrd ${boot-url}/mount/Fedora-Workstation-Live-x86_64-38-1.6.iso/images/pxeboot/initrd.img
chain ${boot-url}/mount/Fedora-Workstation-Live-x86_64-38-1.6.iso/images/pxeboot/vmlinuz rd.live.image root=live:nfs://${dhcp-server}/srv/pxe/mount/Fedora-Workstation-Live-x86_64-38-1.6.iso/LiveOS/squashfs.img initrd=initrd.img
goto start
:opensuse
echo Booting openSUSE Leap 15.5 (NFS)
initrd ${boot-url}/mount/openSUSE-Leap-15.5-DVD-x86_64-Build491.1-Media.iso/boot/x86_64/loader/initrd
chain ${boot-url}/mount/openSUSE-Leap-15.5-DVD-x86_64-Build491.1-Media.iso/boot/x86_64/loader/linux install=${boot-url}/mount/openSUSE-Leap-15.5-DVD-x86_64-Build491.1-Media.iso splash=silent initrd=initrd
goto start

5
menu/elementaryos_7.ipxe Normal file
View File

@ -0,0 +1,5 @@
#!ipxe
echo Booting Elementary OS 7 (NFS)
initrd ${boot-url}/mount/elementaryos-7.1-stable.20230926rc.iso/casper/initrd.lz
chain ${boot-url}/mount/elementaryos-7.1-stable.20230926rc.iso/casper/vmlinuz ip=${net0/ip}::${dhcp-server}:255.255.255.0::::${dhcp-server}: boot=casper netboot=nfs nfsroot=${dhcp-server}:/srv/pxe/mount/elementaryos-7.1-stable.20230926rc.iso initrd=initrd.lz config -- keyboard-configuration/layoutcode=it keyboard-configuration/modelcode=pc105 debian-installer/locale=it

5
menu/fedora_38_live.ipxe Normal file
View File

@ -0,0 +1,5 @@
#!ipxe
echo Booting Fedora Workstation 38 Live (NFS)
initrd ${boot-url}/mount/Fedora-Workstation-Live-x86_64-38-1.6.iso/images/pxeboot/initrd.img
chain ${boot-url}/mount/Fedora-Workstation-Live-x86_64-38-1.6.iso/images/pxeboot/vmlinuz rd.live.image root=live:nfs://${dhcp-server}/srv/pxe/mount/Fedora-Workstation-Live-x86_64-38-1.6.iso/LiveOS/squashfs.img initrd=initrd.img

5
menu/freedos.ipxe Normal file
View File

@ -0,0 +1,5 @@
#!ipxe
echo Booting FreeDOS
kernel ${boot-url}/memdisk iso raw
initrd ${boot-url}/iso/FD13LIVE.iso

View File

@ -0,0 +1,5 @@
#!ipxe
echo Booting Linuxmint 21.2 cinnamon (NFS)
initrd ${boot-url}/mount/linuxmint-21.2-cinnamon-64bit.iso/casper/initrd.lz
chain ${boot-url}/mount/linuxmint-21.2-cinnamon-64bit.iso/casper/vmlinuz ip=${net0/ip}::${dhcp-server}:255.255.255.0::::${dhcp-server}: boot=casper netboot=nfs nfsroot=${dhcp-server}:/srv/pxe/mount/linuxmint-21.2-cinnamon-64bit.iso initrd=initrd.lz config -- keyboard-configuration/layoutcode=it keyboard-configuration/modelcode=pc105 debian-installer/locale=it

View File

@ -0,0 +1,5 @@
#!ipxe
echo Booting Linuxmint 21.2 mate (NFS)
initrd ${boot-url}/mount/linuxmint-21.2-mate-64bit.iso/casper/initrd.lz
chain ${boot-url}/mount/linuxmint-21.2-mate-64bit.iso/casper/vmlinuz ip=${net0/ip}::${dhcp-server}:255.255.255.0::::${dhcp-server}: boot=casper netboot=nfs nfsroot=${dhcp-server}:/srv/pxe/mount/linuxmint-21.2-mate-64bit.iso initrd=initrd.lz config -- keyboard-configuration/layoutcode=it keyboard-configuration/modelcode=pc105 debian-installer/locale=it

View File

@ -0,0 +1,5 @@
#!ipxe
echo Booting Linuxmint 21.2 xfce (NFS)
initrd ${boot-url}/mount/linuxmint-21.2-xfce-64bit.iso/casper/initrd.lz
chain ${boot-url}/mount/linuxmint-21.2-xfce-64bit.iso/casper/vmlinuz ip=${net0/ip}::${dhcp-server}:255.255.255.0::::${dhcp-server}: boot=casper netboot=nfs nfsroot=${dhcp-server}:/srv/pxe/mount/linuxmint-21.2-xfce-64bit.iso initrd=initrd.lz config -- keyboard-configuration/layoutcode=it keyboard-configuration/modelcode=pc105 debian-installer/locale=it

5
menu/lmde_6.ipxe Normal file
View File

@ -0,0 +1,5 @@
#!ipxe
echo Booting Linuxmint Debian Edition 6 (NFS)
initrd ${boot-url}/mount/lmde-6-cinnamon-64bit.iso/casper/initrd.lz
chain ${boot-url}/mount/lmde-6-cinnamon-64bit.iso/casper/vmlinuz ip=${net0/ip}::${dhcp-server}:255.255.255.0::::${dhcp-server}: boot=live live-config live-media-path=/casper netboot=nfs nfsroot=${dhcp-server}:/srv/pxe/mount/lmde-6-cinnamon-64bit.iso initrd=initrd.lz config -- keyboard-configuration/layoutcode=it keyboard-configuration/modelcode=pc105 debian-installer/locale=it

5
menu/lubuntu_22.04.ipxe Normal file
View File

@ -0,0 +1,5 @@
#!ipxe
echo Booting LUbuntu 22.04 (NFS)
initrd ${boot-url}/mount/lubuntu-22.04.3-desktop-amd64.iso/casper/initrd
chain ${boot-url}/mount/lubuntu-22.04.3-desktop-amd64.iso/casper/vmlinuz ip=${net0/ip}::${dhcp-server}:255.255.255.0::::${dhcp-server}: boot=casper netboot=nfs nfsroot=${dhcp-server}:/srv/pxe/mount/lubuntu-22.04.3-desktop-amd64.iso initrd=initrd config -- keyboard-configuration/layoutcode=it keyboard-configuration/modelcode=pc105 debian-installer/locale=it

4
menu/netboot-xyz.ipxe Normal file
View File

@ -0,0 +1,4 @@
#!ipxe
echo Booting netboot.xyz
chain --autofree http://boot.netboot.xyz

View File

@ -0,0 +1,6 @@
#!ipxe
echo Booting openSUSE Leap 15.5 (NFS)
initrd ${boot-url}/mount/openSUSE-Leap-15.5-DVD-x86_64-Build491.1-Media.iso/boot/x86_64/loader/initrd
chain ${boot-url}/mount/openSUSE-Leap-15.5-DVD-x86_64-Build491.1-Media.iso/boot/x86_64/loader/linux install=${boot-url}/mount/openSUSE-Leap-15.5-DVD-x86_64-Build491.1-Media.iso splash=silent initrd=initrd

5
menu/popos_22.04.ipxe Normal file
View File

@ -0,0 +1,5 @@
#!ipxe
echo Booting POP OS 22.04 (NFS)
initrd ${boot-url}/mount/pop-os_22.04_amd64_intel_4.iso/casper/initrd.gz
chain ${boot-url}/mount/pop-os_22.04_amd64_intel_4.iso/casper/vmlinuz.efi ip=${net0/ip}::${dhcp-server}:255.255.255.0::::${dhcp-server}: boot=casper netboot=nfs nfsroot=${dhcp-server}:/srv/pxe/mount/pop-os_22.04_amd64_intel_4.iso initrd=initrd.gz config -- keyboard-configuration/layoutcode=it keyboard-configuration/modelcode=pc105 debian-installer/locale=it

View File

@ -0,0 +1,5 @@
#!ipxe
echo Booting POP OS 22.04 - nvidia (NFS)
initrd ${boot-url}/mount/pop-os_22.04_amd64_nvidia_4.iso/casper/initrd.gz
chain ${boot-url}/mount/pop-os_22.04_amd64_nvidia_4.iso/casper/vmlinuz.efi ip=${net0/ip}::${dhcp-server}:255.255.255.0::::${dhcp-server}: boot=casper netboot=nfs nfsroot=${dhcp-server}:/srv/pxe/mount/pop-os_22.04_amd64_nvidia_4.iso initrd=initrd.gz config -- keyboard-configuration/layoutcode=it keyboard-configuration/modelcode=pc105 debian-installer/locale=it

5
menu/ubuntu_22.04.ipxe Normal file
View File

@ -0,0 +1,5 @@
#!ipxe
echo Booting Ubuntu 22.04 (NFS)
initrd ${boot-url}/mount/ubuntu-22.04.3-desktop-amd64.iso/casper/initrd
chain ${boot-url}/mount/ubuntu-22.04.3-desktop-amd64.iso/casper/vmlinuz ip=${net0/ip}::${dhcp-server}:255.255.255.0::::${dhcp-server}: boot=casper netboot=nfs nfsroot=${dhcp-server}:/srv/pxe/mount/ubuntu-22.04.3-desktop-amd64.iso initrd=initrd config -- keyboard-configuration/layoutcode=it keyboard-configuration/modelcode=pc105 debian-installer/locale=it

5
menu/xubuntu_22.04.ipxe Normal file
View File

@ -0,0 +1,5 @@
#!ipxe
echo Booting XUbuntu 22.04 (NFS)
initrd ${boot-url}/mount/xubuntu-22.04.3-desktop-amd64.iso/casper/initrd
chain ${boot-url}/mount/xubuntu-22.04.3-desktop-amd64.iso/casper/vmlinuz ip=${net0/ip}::${dhcp-server}:255.255.255.0::::${dhcp-server}: boot=casper netboot=nfs nfsroot=${dhcp-server}:/srv/pxe/mount/xubuntu-22.04.3-desktop-amd64.iso initrd=initrd config -- keyboard-configuration/layoutcode=it keyboard-configuration/modelcode=pc105 debian-installer/locale=it

View File

@ -0,0 +1,5 @@
#!ipxe
echo Booting Zorin OS 16.3 Core (NFS)
initrd ${boot-url}/mount/Zorin-OS-16.3-Core-64-bit.iso/casper/initrd.lz4
chain ${boot-url}/mount/Zorin-OS-16.3-Core-64-bit.iso/casper/vmlinuz ip=${net0/ip}::${dhcp-server}:255.255.255.0::::${dhcp-server}: boot=casper netboot=nfs nfsroot=${dhcp-server}:/srv/pxe/mount/Zorin-OS-16.3-Core-64-bit.iso initrd=initrd.lz4 config -- keyboard-configuration/layoutcode=it keyboard-configuration/modelcode=pc105 debian-installer/locale=it

View File

@ -0,0 +1,5 @@
#!ipxe
echo Booting Zorin OS 16.3 Lite (NFS)
initrd ${boot-url}/mount/Zorin-OS-16.3-Lite-64-bit.iso/casper/initrd.lz4
chain ${boot-url}/mount/Zorin-OS-16.3-Lite-64-bit.iso/casper/vmlinuz ip=${net0/ip}::${dhcp-server}:255.255.255.0::::${dhcp-server}: boot=casper nocheck netboot=nfs nfsroot=${dhcp-server}:/srv/pxe/mount/Zorin-OS-16.3-Lite-64-bit.iso initrd=initrd.lz4 config -- keyboard-configuration/layoutcode=it keyboard-configuration/modelcode=pc105 debian-installer/locale=it

View File

@ -39,3 +39,21 @@
group: root
mode: "0644"
become: true
- name: IPXE boot menu
copy:
src: ../../../boot.ipxe
dest: /srv/pxe/boot.ipxe
owner: root
group: root
mode: "0644"
become: true
- name: IPXE boot menu items
copy:
src: ../../../menu/
dest: /srv/pxe/menu/
owner: root
group: root
mode: "0644"
become: true