# 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