How to Boot New Linux-Libre Kernel in Libreboot
Hello, I have just installed jxself's 4.9xx LTS kernel onto my Trisquel installation, but I'm not sure how to boot it, given that I didn't install GRUB to the MBR, and am using it as a payload. I couldn't find instructions anywhere on jxself's website, and every time I reboot the machine, even after running "sudo update-grub", uname -r still shows that I'm using the previous kernel. Any help would be greatly appreciated. Thanks!
"I didn't install GRUB to the MBR"
My understanding is that's not relevant.
"I couldn't find instructions anywhere on jxself's website"
Perhaps you didn't read all the way through. Below the table of use cases and packages is the comment "If you use libreboot make sure to do this..." with some information.
Even though you didn't install GRUB the kernel package should have nevertheless created a GRUB configuration file. The presence of that file I mention there (and being a symlink to the real GRUB config that the kernel package would have made) is covered at https://libreboot.org/docs/gnulinux/grub_cbfs.html where it mentions that "By default, GRUB in libreboot is configured to scan all partitions on the main storage for /boot/grub/libreboot_grub.cfg or /grub/libreboot_grub.cfg(for systems where /boot is on a dedicated partition), and then use it automatically."
Hence the directions I put there, which should then result in libreboot using the GRUB configuration file that the kernel package made, since it's a symlink from what Libreboot looks for to the real one.
Of course, you can also go with Option 2 on that page and change the GRUB config in your flash chip. My kernel packages won't do that for you so it'll be something you have to do manually.
I'm sorry; I wasn't completely clear. What I meant was that there were instructions on what to do, if one were using Libreboot, but not how to do it. In other words, how to modify GRUB (either in the flash chip, or else the one in /boot) to boot the new kernel. I have since figured out how to do it, and since it is not documented anywhere else that I could find, I was thinking I could add it to Trisquel's documentation, so anyone else with a similar question could benefit from my trial and error.
"In other words, how to modify GRUB (either in the flash chip, or else the one in /boot) to boot the new kernel."
The point I was trying to make with the earlier post is that you shouldn't have had to do this. So I have two questions: What did you end up doing, and why didn't making that symlink on the site work for you? Because my understanding is that it should have: Libreboot is supposed to look for and use it, making the kernel booting completely automatic. If more steps are needed I can place them on my website for other people, but as I said from my understanding the only thing you should have needed to do are those two commands listed there.
Is the default configuration of grub.cfg on the flash chip supposed to automatically look for libreboot_grub? Because I change the 'Load Operating System' menu entry on that file, according to the instructions on the Libreboot website:
cryptomount -a
set root=‘lvm/grubcrypt-trisquel’
linux /vmlinuz root=/dev/mapper/grubcrypt-trisquel cryptdevice=/dev/mapper/grubcrypt-trisquel:root
initrd /initrd.img
boot
That's the only thing different from the default configuration found on the ROM images.
In order to get it to boot the newer kernel, I simply changed the vmlinuz and initrd.img to the latest kernel version of those files, located in /boot, and was able to sucessfully boot the new kernel.
"Is the default configuration of grub.cfg on the flash chip supposed to automatically look for libreboot_grub?"
Yes. This is what I've been trying to explain. :)
https://libreboot.org/docs/gnulinux/grub_cbfs.html has "by default, GRUB in libreboot is configured to scan all partitions on the main storage for /boot/grub/libreboot_grub.cfg or /grub/libreboot_grub.cfg(for systems where /boot is on a dedicated partition), and then use it automatically."
The key point there is "and then use it automatically." :)
Evento though it is meant for parabola, the GRUB part should help as a guide.