This lets you boot from ipxe. You can run the ipxe shell from their stock image or the netboot.xyz one. For the latter, press "m", then type "dhcp" (machine is now pingable!) then type "route" to check the ip. To boot type: chain http://192.168.42.1:4280/menu.ipxe and you're off! Thanks to frebib for finding the workaround to the VFS bug. The answer is you need to run the imgfree command to unblock the initrd.
39 lines
1.4 KiB
Cheetah
39 lines
1.4 KiB
Cheetah
#!ipxe
|
|
|
|
menu iPXE Boot Options
|
|
|
|
item kickstart Install {{ .distro }} {{ .version }} {{ .arch }} ( kickstart )
|
|
item manual Install {{ .distro }} {{ .version }} {{ .arch }} ( manual )
|
|
item shell iPXE shell
|
|
item exit Exit to BIOS
|
|
|
|
choose --default kickstart --timeout 10000 option && goto ${option}
|
|
|
|
:kickstartwip
|
|
imgfree
|
|
set server_root {{ .server_base }}
|
|
kernel ${server_root}{{ .distro }}{{ .version }}-{{ .arch }}/vmlinuz ip=dhcp initrd=initrd.magic inst.repo={{ .inst_repo_base }}releases/{{ .version }}/{{ .flavour }}/{{ .arch }}/os/ inst.text inst.ks={{ .ks }} console=ttyS1,115200n8
|
|
initrd ${server_root}{{ .distro }}{{ .version }}-{{ .arch }}/initrd.img
|
|
boot
|
|
|
|
# The imgfree command works around some bug, which makes our initrd not be seen
|
|
# properly. We would otherwise get a VFS not syncing error on boot.
|
|
|
|
:kickstart
|
|
imgfree
|
|
kernel {{ .server_base }}{{ .distro }}{{ .version }}-{{ .arch }}/vmlinuz ip=dhcp initrd=initrd.img inst.repo={{ .inst_repo_base }}releases/{{ .version }}/{{ .flavour }}/{{ .arch }}/os/ inst.ks={{ .ks }}
|
|
initrd {{ .server_base }}{{ .distro }}{{ .version }}-{{ .arch }}/initrd.img
|
|
boot
|
|
|
|
:manual
|
|
imgfree
|
|
kernel {{ .server_base }}{{ .distro }}{{ .version }}-{{ .arch }}/vmlinuz ip=dhcp inst.repo={{ .inst_repo_base }}releases/{{ .version }}/{{ .flavour }}/{{ .arch }}/os/
|
|
initrd {{ .server_base }}{{ .distro }}{{ .version }}-{{ .arch }}/initrd.img
|
|
boot
|
|
|
|
:shell
|
|
shell
|
|
|
|
:exit
|
|
exit
|