• libreman@lemy.lolOP
    link
    fedilink
    English
    arrow-up
    2
    ·
    4 months ago

    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

    • TheyCallMeHacked@discuss.tchncs.de
      link
      fedilink
      arrow-up
      2
      ·
      4 months ago

      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 anymore

      • libreman@lemy.lolOP
        link
        fedilink
        English
        arrow-up
        2
        ·
        edit-2
        4 months ago

        I 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

      • libreman@lemy.lolOP
        link
        fedilink
        English
        arrow-up
        1
        ·
        edit-2
        4 months ago

        $ ./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:

        1. Boot with kernel parameter iomem=relaxed
        2. 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
        
        1. 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?

        • TheyCallMeHacked@discuss.tchncs.de
          link
          fedilink
          arrow-up
          1
          ·
          4 months ago

          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 expected

          • libreman@lemy.lolOP
            link
            fedilink
            English
            arrow-up
            1
            ·
            4 months ago

            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 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