-
-
Save breyer/21f93473a6e7ccdcbabd4e661376ddac to your computer and use it in GitHub Desktop.
How to iPXE boot from http iso on Leaseweb virtual cloud server
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Install custom ISO image at leaseweb via iPXE boot in console mode. | |
| Here: Installing freebsd-11.0-RC3 | |
| 1. press CTRL-B | |
| If your custom iso is not mounting, and your console is at an iPXE shell, you can: | |
| ``` | |
| dhcp | |
| initrd http://www.dayofdefeat.org/freebsd/mfsbsd-11.0-RELEASE-amd64.iso | |
| ``` | |
| While the iso is downloading, leaseweb iPXE does not include memdisk, so we have to upload it ourselves to another host. | |
| Here's one I found public, though I wouldn't recommend using it: http://preseed.panticz.de/ipxe/memdisk | |
| After the iso is downloaded and we get back a prompt, we can then: | |
| ``` | |
| chain http://preseed.panticz.de/ipxe/memdisk iso | |
| ``` | |
| After boot: | |
| # mkdir /usr/freebsd-dist/ | |
| # cd /usr/freebsd-dist/ | |
| # fetch http://ftp.de.freebsd.org/pub/FreeBSD/releases/amd64/11.0-RELEASE/MANIFEST | |
| # bsdinstall | |
| Nice to know & workarounds: | |
| - you can't load images via HTTPS | |
| - Error code 2a81800 means image to large > out of memory > use a smaller install image |
Author
this works in 2025 - https://github.com/bin456789/reinstall/blob/main/README.en.md
reinstall does not seem to support FreeBSD.
boot the Alpine Linux iso with reinstall.sh as shown in the README
this gives you Alpine Linux in RAM as a Rescue Environment
I download my isos to /dev/shm - & install qemu & install my custom system (Micro OS)
add a line to /etc/apk/repositories:
http://dl-cdn.alpinelinux.org/alpine/v3.22/community
& install qemu
apk update
apk add qemu qemu-img qemu-system-x86_64
modprobe kvm
cd /dev/shm
wget https://domain.com/my.iso
MYISO=/dev/shm/my.iso
#VNC (kvm)
----------
qemu-system-x86_64 -netdev type=user,id=mynet0 -device virtio-net-pci,netdev=mynet0 -m 4G -drive file=/dev/vda,format=raw,if=virtio -vga std -k en-gb -daemonize -cdrom $MYISO -boot d -vnc :1
# SPICE (no kvm)
----------------
qemu-system-x86_64 -netdev type=user,id=mynet0 -device virtio-net-pci,netdev=mynet0 -m 4G -no-kvm -drive file=/dev/vdb,format=raw,if=virtio -vga qxl -spice port=5900,addr=127.0.0.1,disable-ticketing -daemonize -cdrom $MYISO -boot d
#VNC (no kvm)
-------------
qemu-system-x86_64 -netdev type=user,id=mynet0 -device virtio-net-pci,netdev=mynet0 -m 4G -no-kvm -drive file=/dev/vdb,format=raw,if=virtio -vga std -k en-gb -daemonize -cdrom $MYISO -boot d -vnc :1
In Alpine helper scripts are in /sbin/setup-xxxxx (reinstall.sh seems to configure networking - I'm connected over SSH no problem)
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
this works in 2025 - https://github.com/bin456789/reinstall/blob/main/README.en.md