this post was submitted on 22 Jun 2024
31 points (94.3% liked)

Linux

48031 readers
1156 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
 

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

you are viewing a single comment's thread
view the rest of the comments
[–] TheyCallMeHacked@discuss.tchncs.de 2 points 4 months ago (1 children)

I'm not sure what you mean by "checking the ROM"...

[–] libreman@lemy.lol 2 points 4 months ago (1 children)

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 2 points 4 months ago (2 children)

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.lol 2 points 4 months ago* (last edited 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.lol 1 points 4 months ago* (last edited 4 months ago) (1 children)

$ ./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 1 points 4 months ago (1 children)

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.lol 1 points 4 months ago (1 children)

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

Hmm, I'm not sure... I must admit, I only use SeaBIOS, not GRUB, so I wouldn't know how to configure it