Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create action to support fallback for nodes lacking UEFI/netboot #9

Open
nicklasfrahm opened this issue Feb 6, 2021 · 3 comments
Open
Labels
kind/feature Categorizes issue or PR as related to a new feature. priority/backlog Higher priority than priority/awaiting-more-evidence.

Comments

@nicklasfrahm
Copy link
Contributor

Some boards do not support netbooting natively, such as the Rock Pi X. A current workaround is to supply a bootloader USB with the following folder structure:

/dev/sdxy/
└─ efi/
      └─ boot/
            └─ bootx64.efi

The bootx64.efi in this case is the renamed version of ipxe. I barely know anything about netbooting and bootloaders, but I suspect there is a better way.

It would be useful if there was an action, that would configure the boot partition to attempt to PXE boot first (to allow deprovisioning) and then to attempt to boot via the configured hard disk. This feature could be part of rootio, but I suspect that it should be a seperate action.

This would also greatly improve compatibility with devices, that do not have a UEFI to configure boot options, such as older Raspberry Pis or other single board computers.

@nicklasfrahm nicklasfrahm changed the title Create action to install ipxe in a partition Create action to create smart ipxe boot Feb 6, 2021
@gianarb
Copy link
Contributor

gianarb commented Feb 8, 2021

It would be useful if there was an action, that would configure the boot partition to attempt

Unfortunately, netbooting is a strict requirement, mainly because you need to netboot in order to run an actions, so if you don't have netbooting capabilities you can't run an action. When testing raspberry pi I did the same as you, I used a USB stick

@nicklasfrahm
Copy link
Contributor Author

nicklasfrahm commented Feb 8, 2021

And I completely get that, but my idea is that for the first provisioning you use a well-know SD card image or USB. After that, for regular reboots and deprovisioning, you can use this action to overwrite the well-known boot partition with this action, such that the boot partition will always have the following boot order:

  • Netboot
  • Mass storage device (USB, harddrive)

It is basically a compatibility guarantee, that will make sure that these devices are always able to netboot.

@thebsdbox
Copy link
Contributor

I think @detiber may have some experience on this, although it sounds like it may make a good discussion topic.

@tstromberg tstromberg added the priority/backlog Higher priority than priority/awaiting-more-evidence. label Aug 27, 2021
@tstromberg tstromberg changed the title Create action to create smart ipxe boot Create action to create smart ipxe boot for nodes lacking netboot Aug 27, 2021
@tstromberg tstromberg changed the title Create action to create smart ipxe boot for nodes lacking netboot Create action to support fallback for nodes lacking UEFI/netboot Aug 27, 2021
@tstromberg tstromberg added the kind/feature Categorizes issue or PR as related to a new feature. label Aug 27, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/feature Categorizes issue or PR as related to a new feature. priority/backlog Higher priority than priority/awaiting-more-evidence.
Projects
None yet
Development

No branches or pull requests

4 participants