# raspberry pi hosting brainstorming ## Raspberry Pi netbooting * pi loads something from pxe * this can be ipxe * or a kernel * user data is somewhere * ceph / rbd * nfs (security? nfs over tls1.3?) ## Mounting NFS * Can be done from Linux * From ipxe? * https://ipxe.org/gsoc/nfs ## The kernel problem * ipxe or whatever is loading a kernel * we need to have a generic way to jump to the right kernel * What we can do easily * have a fixed kernel + initramfs * then load / mount nfs or something else (even ceph rbd) * Forces all users to run same kernel+initramfs * Upgrades might break the user * This might work for testing * We might be able to kexec! ## OS image approach * From SD card * pxe boots a kernel * kernel loads initramfs * but initramfs cannot be modified * user cannot update kernel ## What we would like to have * raspberry pi boots without anything in it -> netboot * it loads an image with a bootloader or similar * something abstract that does efi or bios load whatever... * optimal case * Approaches * ipxe * can load kernel/initramfs * cannot load something from ceph ## NFSroot based approach * http://alexforencich.com/wiki/en/linux/diskless_pxe_nfs ## Interesting facts * Changing the PI and keeping your state/ip address/OS ## References * https://ipxe.org/ * https://www.raspberrypi.org/documentation/hardware/raspberrypi/bootmodes/net_tutorial.md * https://www.raspberrypi.org/documentation/hardware/raspberrypi/bootmodes/net.md * https://www.raspberrypi.org/documentation/hardware/raspberrypi/bcm2711_bootloader_config.md