Hi all . I currently have version 2023.06.25 installed, stable. Tell me how to install the latest version 20240612? I see a lot of changes here https://codeberg.org/libreboot/lbwww/commit/d8bcd5c7044e28c6e20778ea25f6b907092a7e52 If I understand correctly the mechanism for introducing blob objects has changed, how can I check the ROM after I run the command ./build roms t440plibremrc_12mb
Hello . I mean, how do I know that there are blob objects embedded in the ROM, without which my laptop won’t turn on, I mean
mrc.bin
Previously I could check this using the command:
./cbfstool grub_t440pmrc_12mb_libgfxinit_corebootfb_usqwerty.rom print
Oh you can still do that. The path changed to
elf/cbfstool/[TREE]/cbfstool
(replace[TREE]
with the tree concerened). Note that since the switch to the libre RAM init code,mrc.bin
is not included anymoreI installed the updated version 20240612 everything worked as you said. Checking nothing as in the previous instructions does not give anything, as you wrote: after switching to the libre RAM initialization code
mrc.bin no longer turns on
.Now i need to edit
grub.cfg
because I get an error with searching for the achi1 diskThanks for your answer and help. I understand you correctly that after I executed the command
$ ./build roms t440plibremrc_12mb
Then I can update my ROM (for example, I now have 2023.06.25) by running the commands:
iomem=relaxed
$ git clone https://github.com/SourceArcade/flashprog.git $ cd flashprog $ make $ sudo make install
$ sudo flashprog -p internal
4 Flash
$ sudo flashprog -p internal -w seabios_withgrub_t440plibremrc_12mb_libgfxinit_corebootfb_ukqwerty_grubfirst.rom
And can I be sure that after turning on my computer I will see Grub Libreboot?
Yeah, that’s basically right. I believe flashprog is also included in libreboot, have a look in the
elf/
directory. After that, it should work as expectedThank you, kind person)) I installed it, but after installation
my screen is too bright
and this happens every time, so for now I will use the latest test version, it works well.I have another question, please tell me how, in your opinion, I can edit grub.cgf correctly so as not to get an error with searching for disk
"ahci1"
I inserted these lines:
........... echo # Insert newline } menuentry 'Load GNU/Linux-Libre (LTS)' { cryptomount -a set root='lvm/matrix-rootvol' linux /boot/vmlinuz-linux-libre-lts root=/dev/mapper/matrix-rootvol cryptdevice=/dev/sda1:lvm initrd /boot/initramfs-linux-libre-lts.img } menuentry 'Load Operating System (incl. fully encrypted disks) [o]' --hotkey='o' {
and deleted these ones since I don’t use
raid
:menuentry 'Load Operating System (incl. fully encrypted disks) [o]' --hotkey='o' { if [ "${grub_scan_disk}" != "ata" ]; then search_grub ahci fi if [ "${grub_scan_disk}" != "ahci" ]; then search_grub ata fi # grub device enumeration is very slow, so checks are hardcoded # TODO: add more strings, based on what distros set up when # the user select auto-partitioning on those installers lvmvol="lvm/matrix-bootvol lvm/matrix-rootvol" raidvol="md/0 md/1 md/2 md/3 md/4 md/5 md/6 md/7 md/8 md/9" # in practise, doing multiple redundant checks is perfectly fast and # TODO: optimize grub itself, and use */? here for everything for vol in ${lvmvol} ${raidvol} ; do try_user_config "${vol}" done unset ahcidev unset atadev for i in 11 10 9 8 7 6 5 4 3 2 1 0; do for part in 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1; do if [ "${grub_scan_disk}" != "ata" ]; then ahcidev="(ahci${i},${part}) ${ahcidev}" fi if [ "${grub_scan_disk}" != "ahci" ]; then atadev="(ata${i},${part}) ${atadev}" fi done done set pager=0 echo -n "Attempting to unlock encrypted volumes" for dev in ${ahcidev} ${atadev} ${lvmvol} ${raidvol}; do if cryptomount "${dev}" ; then break ; fi done set pager=1 echo # after cryptomount, lvm volumes might be available for vol in ${lvmvol}; do try_user_config "${vol}" done search_grub crypto if [ "${grub_scan_disk}" != "ata" ]; then # Last resort, if all else fails set root=ahci0,1 for p in / /boot/; do if [ -f "${p}vmlinuz" ]; then linux ${p}vmlinuz root=/dev/sda1 rw if [ -f "${p}initrd.img" ]; then initrd ${p}initrd.img fi fi done fi if [ "${grub_scan_disk}" != "ahci" ]; then # Last resort (for setups that use IDE instead of SATA) set root=ata0,1 for p in / /boot/; do if [ -f "${p}vmlinuz" ]; then linux ${p}vmlinuz root=/dev/sda1 rw if [ -f "${p}initrd.img" ]; then initrd ${p}initrd.img fi fi done fi true # Prevent pager requiring to accept each line instead of whole screen
Hmm, I’m not sure… I must admit, I only use SeaBIOS, not GRUB, so I wouldn’t know how to configure it