Experiment: Specify external GRUB for chainloading #8178
stevefan1999-personal
started this conversation in
Ideas
Replies: 2 comments
-
Maybe we should not load from /sys/class/block from then on. I'm not really installing a specialized GRUB loader just yet. I'm using SystemRescue that has its own GRUB on the ISO that can scan onto others. Technically speaking you can use another drive (such as flash card or a pen drive) to serve as that chainloader as well Sidenote: I just reckon the Xpenology project actually did that to some extent -- at least ARPL did something similar |
Beta Was this translation helpful? Give feedback.
0 replies
-
Oh look: Maybe we can hack together a kernel parameter to skip it from being filtered...See this |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
This is a spun-off from #4041 (comment). From the current partition scheme of Talos:
While we are obviously not going to fix #6325 soon, so we have to retain the current structure. But what if we let the user designate a tiny partition to store a first stage GRUB? I think 4 to 16MB is usually enough, so that we can load the LVM GRUB modules from the first stage and then chainload to the second stage bootloader inside the LVM. It might not necessarily be LVM, as ZFS and other volume virtualization tech may also apply here, LVM is the only sane choice for GRUB to chainload to.
What it effectively means is something like this:
2.1. EFI - stores EFI boot data.
2.2. BIOS - used for GRUB’s second stage boot.
2.3. BOOT - used for the boot loader, stores initramfs and kernel data.
2.4. META - stores metadata about the talos node, such as node id’s.
2.5. STATE - stores machine configuration, node identity data for cluster discovery and KubeSpan info
2.6. EPHEMERAL - stores ephemeral state information, mounted at /var
I think this would be a pretty interesting experiment for the Talos team to invest time with. Not that this would not need so much more code, would not have to destroy existing partition scheme (since LVM virtualized the disk concept to begin with), have little to no side effect for existing users since it is recursively backward compatible (maybe add a little bit of bootloading time, but Talos is already fast), while letting new user to test out a new way of installing Talos, and to solving #4041, #6325, and #6325 altogether.
It is also possible to modify existing Talos installation to add the new chainload partition, as we could nicely cut out 16MB off the EFI partition and install enough LVM stuff to make it a first stage GRUB bootloader.
Beta Was this translation helpful? Give feedback.
All reactions