Hi,
I wrote an iPXE script that can be used to boot your bare metal server into an Alpine Linux rescue system. To use it, simply follow the documentation on custom iPXE scripts.
I'm sharing the current version (I might update the gist later) here as well, the really nice part IMHO is the support of SSH keys, making it very easy to use even on servers without a KVM console.
#!ipxeecho Booting Alpine Linux rescue
Used below for SSH keys
set space:hex 20
set space ${space:string}
set arch x86_64#set version edge
set version latest-stable
#set mirror https://dl-cdn.alpinelinux.org/alpine
set mirror https://alpinelinux.mirrors.ovh.netTo see the whole boot process, adjust the console parameters based on what
you see in the official rescue's /proc/cmdline
#set console console=tty0${space}console=ttyS0,115200n8
Enable the community repository for ripgrep
set repo-url ${mirror}/${version}/main,${mirror}/${version}/community
set packages bash,curl,file,lsblk,mount,parted,ripgrep,vim,wget
set ssh_key ssh-ed25519${space}AAAAxxxxxxxxxxset base-url ${mirror}/${version}/releases/${arch}/netboot
imgfree
kernel ${base-url}/vmlinuz-lts initrd=initrd.magic ${console} ip=dhcp alpine_repo=${repo-url} modules=loop,squashfs modloop=${base-url}/modloop-lts pkgs=${packages} ssh_key="${ssh_key}"
initrd ${base-url}/initramfs-lts
boot
This is very light and can even be used on 2G memory servers:
localhost:~# free -h
total used free shared buff/cache available
Mem: 1.9G 52.6M 1.6G 262.5M 296.8M 1.5G
Swap: 0 0 0