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
I’m not sure what you mean by “checking the ROM”…
I’m not sure what you mean by “checking the ROM”…
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[
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 disk$ ./build roms t440plibremrc_12mb
Thanks 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:
- Boot with kernel parameter
iomem=relaxed
- Download and install ** flashprog** since flashrom will not work (for me it shows the chip size as 8Mb instead of 12Mb)
$ git clone https://github.com/SourceArcade/flashprog.git $ cd flashprog $ make $ sudo make install
- Check for errors with the command:
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 expectedYeah, 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 expected
Thank 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
- Boot with kernel parameter