How to install GnuBoot?

7 respostas [Última entrada]
sam-d16
Desconectado
Joined: 09/28/2023

Hello everyone. I wanted to create an important topic here so that we can share our experience of installing GnuBoot on our computers, help each other.

Waiting for my T400 package to start installing Gnuboot.

Useful links information on Gnuboot:

gnuboot-0.1-rc3 => https://ftp.gnu.org/gnu/gnuboot/gnuboot-0.1-rc3/roms/

https://savannah.gnu.org/projects/gnuboot

irc channel #gnuboot

Avron

I am a translator!

Desconectado
Joined: 08/18/2020

I suggest using https://www.gnu.org/software/gnuboot/web/docs/install/install.html as start page.

All necessary pieces of information are there but not at all in order, which can be confusing.

If I had to list steps, it would be:
1. Check your flash size (flashrom -p internal)
2. Decide which payload you want (SeaBIOS is like legacy BIOS, well documented in all distros, so easiest to use)
3. Download the rom for your flash size, the selected payload and your keyboard layout
4. Get the source and build ich9utils (this is for T400, X200 and similar)
5. Use ich9gen to set the MAC address to your current MAC address

For internal flashing (if you have an old Libreboot):
6. Reboot with iomem=relaxed as kernel parameter (by editing the start command in GRUB menu)
7. Save your current ROM
8. Flash
9. If it says success, ask to switch off, then boot

One difficulty I had was to get the GPG key that was used to sign the things to download. Maybe I got it from pgp.mit.edu, but I cannot remember well.

sam-d16
Desconectado
Joined: 09/28/2023

Hello Avron .
Thank you very much for your instructions and feedback.
I wanted to clarify with you about step 4, do I understand correctly that the ich9utils utility is needed to change the mac address?

Avron

I am a translator!

Desconectado
Joined: 08/18/2020

Do I understand correctly that the ich9utils utility is needed to change the mac address?

Yes. As explained in https://www.gnu.org/software/gnuboot/web/docs/install/ich9utils.html, you need to run "ich9gen –macaddress 00:1f:16:80:80:80" (replace 00:1f:16:80:80:80 with your actual ethernet controller MAC address) to generate a flash descriptor with your MAC address and then run a dd command to add what was generated to the rom you want to flash.

I am not sure whether the roms ready to download have no descriptor/address at all (and then, if you flash them without doing these steps, ethernet will not work) or have one with a fixed address (then ethernet may work but you may have some problems).

sam-d16
Desconectado
Joined: 09/28/2023

gpg --verify gnuboot-0.1-rc3_t400_16mb.tar.xz.sig
gpg: assuming signed data in 'gnuboot-0.1-rc3_t400_16mb.tar.xz'
gpg: Signature made Sat 30 Dec 2023 06:42:37 PM EST
gpg: using EDDSA key 9AA8CDA0DC9C0604D26AE4A72974E1D5F25DFCC8
gpg: Can't check signature: No public key


gpg --keyserver keys.gnupg.net --recv-keys 9AA8CDA0DC9C0604D26AE4A72974E1D5F25DFCC8
gpg: key 2974E1D5F25DFCC8: public key "Adrien 'neox' Bourmault <name at domain>" imported
gpg: Total number processed: 1
gpg: imported: 1

sam-d16
Desconectado
Joined: 09/28/2023

Thank you for your answer. I couldn’t figure out where to download this program on the site https://www.gnu.org/software/gnuboot/web/docs/install/ich9utils.html, I found this solution:

$ git clone https://notabug.org/libreboot/ich9utils
$ cd ich9utils
$ make
-rw-r--r-- 1 sam-d16 sam-d16 3529 Jun 19 2:10 COPYING
-rwxr-xr-x 1 sam-d16 sam-d16 123280 Jun 19 2:12 demefactory*
-rwxr-xr-x 1 sam-d16 sam-d16 123816 Jun 19 2:12 ich9deblob*
-rwxr-xr-x 1 sam-d16 sam-d16 134352 Jun 19 2:12 ich9gen*
-rwxr-xr-x 1 sam-d16 sam-d16 123248 Jun 19 2:12 ich9show*
-rw-r--r-- 1 sam-d16 sam-d16 3757 Jun 19 2:10 Makefile
drwxr-xr-x 6 sam-d16 sam-d16 4096 Jun 19 2:12 obj/
drwxr-xr-x 6 sam-d16 sam-d16 4096 Jun 19 2:10 src/

And the program is ready to work)

Avron

I am a translator!

Desconectado
Joined: 08/18/2020
sam-d16
Desconectado
Joined: 09/28/2023

Avron, thank you very much for the link, I downloaded the archive and found the program there.
Avron, if you don’t mind, I would like to describe in a little more detail the installation process that you wrote, so that the instructions are saved here for other users who want to install GnuBoot and look for answers through a search engine.
I'll try to write later with commands and photos...

wget https://ftp.gnu.org/gnu/gnuboot/gnuboot-0.1-rc3/gnuboot-0.1-rc3_src.tar.xz
Extracting gnuboot-0.1-rc3_src.tar.xz
$ tar -xvf gnuboot-0.1-rc3_src.tar.xz
Extracting Specific Files from a tar.xz File
$ tar -xf gnuboot-0.1-rc3_src.tar.xz gnuboot-0.1-rc3_src/ich9utils/
$ cd gnuboot-0.1-rc3_src/ich9utils/
$ make