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

Add a second kernel partition #243

Open
austin987 opened this issue Nov 24, 2020 · 5 comments
Open

Add a second kernel partition #243

austin987 opened this issue Nov 24, 2020 · 5 comments
Labels
enhancement New feature or request

Comments

@austin987
Copy link
Contributor

As mentioned in #229 (comment)

Non-free firmware aside, I think there is solid value in providing a second kernel partition (i.e., so that the kernel can be upgraded and have the ability to revert if things break).

Once there is a second partition, https://github.com/SolidHal/PrawnOS/blob/master/scripts/InstallScripts/UpgradeKernel.sh should then be updated to write the kernel to the non-active partition (maybe with a flag to override that), and then use cgpt to update the priority of the other partition.

@SolidHal
Copy link
Owner

I definitely see some value in this, especially on the armhf devices that will likely always use depthcharge. On arm64 devices, whatever bios/bootloader replacement ends up in use would have to have support for multiple kernel partitions for this to still be useful.
A backup kernel is always helpful when upgrading.

@SolidHal SolidHal added the enhancement New feature or request label Nov 28, 2020
@SolidHal
Copy link
Owner

SolidHal commented Dec 2, 2020

on #249 @rk-zero

Thanks so much for working on this. I use a c100pa on the couch that i would love to run without a wifi dongle.

Depthcharge would allow for 2 kernel partitions and switching between them by modifying the priority via cgpt - can you mod this pull request so we get 2 kernel partitions?

Thanks again, R

I understand this is a use case many folks deal with. I'm not completely clear on how being able to boot between the two is a large convenience. By booting the blobby kernel, you have already accepted that the associated filesystem/userspace has been used with the blobby kernel. In my mind, it is better to either accept the wifi blob in your kernel and just use that or find a way to cope with a wifi dongle in the name of no blobs. I'm not judging either way. Even with just the wifi blob, these machines are amazingly libre.

@Maccraft123
Copy link

There are some notes about this on ArchWiki:
https://wiki.archlinux.org/index.php/Talk:Chrome_OS_devices#cgpt_command

@SolidHal
Copy link
Owner

from @Maccraft123 s Cadmium: https://github.com/Maccraft123/Cadmium/blob/master/build-all#L44-L46
this also needs cmdline change, to set root parameter to: root=PARTUUID=%U/PARTNROFF=2

also, need some way to track which kernels from which packages are in which partitions, since uname -r isn't precise enough to tell us the full package version.

@SolidHal
Copy link
Owner

Could update the partitions labels as well when using cgpt to change the priority, put the kernel image package version in the label

thanks to @Maccraft123 for suggestion partition labels :D

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants