From a22166f6e0750fbddf564f244bb96d94524296d4 Mon Sep 17 00:00:00 2001 From: Silvio Rhatto Date: Sun, 17 Jan 2021 15:26:04 -0300 Subject: Fix: cleanup and refactor --- research/libreboot.md | 149 -------------------------------------------------- 1 file changed, 149 deletions(-) delete mode 100644 research/libreboot.md (limited to 'research/libreboot.md') diff --git a/research/libreboot.md b/research/libreboot.md deleted file mode 100644 index fa0ec98..0000000 --- a/research/libreboot.md +++ /dev/null @@ -1,149 +0,0 @@ -[[!meta title="Libreboot"]] - -Also check the [additional references](https://links.fluxo.info/tags/libreboot). - -## Important note - -From [Libreboot – Installation instructions](https://libreboot.org/docs/install/index.html): - -> NOTE: if running flashrom -p internal for software based flashing, and you get -> an error related to /dev/mem access, you should reboot with iomem=relaxed -> kernel parameter before running flashrom, or use a kernel that has -> CONFIG_STRICT_DEVMEM not enabled. - -Or you might get errors like this: - - user@x60s:~/code/libreboot/libreboot_r20160907_util/flashrom/i686$ sudo ./flashrom_lenovobios_sst -p internal -r factory.bin - flashrom v0.9.9-unknown on Linux 4.9.0-2-686-pae (i686) - flashrom is free software, get the source code at https://flashrom.org - - Calibrating delay loop... OK. - Found chipset "Intel ICH7M". - Enabling flash write... Error accessing ICH RCRB, 0x4000 bytes at 0xfed1c000 - /dev/mem mmap failed: Operation not permitted - FAILED! - FATAL ERROR! - Error: Programmer initialization failed. - user@x60s:~/code/libreboot/libreboot_r20160907_util/flashrom/i686$ sudo ./flashrom_lenovobios_macronix -p internal -r factory.bin - -## Pre-compiled binaries - -[Get the latest stable release](https://libreboot.org/download.html), check integrity, etc. - -In my case I only needed these, which were the latest releases at the time of writing: - -* https://mirrors.peers.community/mirrors/libreboot/stable/20160907/SHA512SUMS -* https://mirrors.peers.community/mirrors/libreboot/stable/20160907/SHA512SUMS.sig -* https://mirrors.peers.community/mirrors/libreboot/stable/20160907/libreboot_r20160907_util.tar.xz -* https://mirrors.peers.community/mirrors/libreboot/stable/20160907/rom/grub/libreboot_r20160907_grub_x60.tar.xz - -Download and unpack bot libreboot util and rom tarballs. In this example I used the following paths: - -* `~/code/libreboot/libreboot_r20160907_util` -* `~/code/libreboot/roms/libreboot_r20160907_grub_x60` - -## Building from source - -Just if you need to: - - git clone https://notabug.org/libreboot/libreboot.git && cd libreboot - sudo ./oldbuild dependencies trisquel7 - ./download all - ./oldbuild module all - -## x60s - -This is how I've done. The actual procedure might change without notice :P - -### Overview - -* Backup the original firmware [like said](https://www.coreboot.org/Board:lenovo/x60/Installation#Back_up_the_original_proprietary_firmware). -* Then flash the new ROM as [said here](https://libreboot.org/docs/install/#flashrom_lenovobios). - -Note this [funny note](https://en.wikibooks.org/wiki/Libreboot/Install/ThinkPad_X60_and_T60) -on customized and solitary proprietary software: - -> While backing up the proprietary BIOS image might be construed as "endorsing" -> proprietary software: This BIOS image is unique to every motherboard. It will -> be impossible to restore the original BIOS once it is lost. Back it up now or -> you will lose it forever. Do not take this decision lightly. - -### BIOS Backup - - user@x60s:~/code/libreboot/libreboot_r20160907_util/flashrom/i686$ sudo ./flashrom_lenovobios_sst -p internal -r factory.bin - user@x60s:~/code/libreboot/libreboot_r20160907_util/flashrom/i686$ sudo ./flashrom_lenovobios_macronix -p internal -r factory.bin - -### Flashing - - user@x60s:~/code/libreboot/libreboot_r20160907_util$ sudo ./flash i945lenovo\_firstflash ../roms/libreboot_r20160907_grub_x60/x60_usqwerty_vesafb.rom - Mode selected: i945lenovo_firstflash - bucts utility version 'withoutgit' - Using LPC bridge 8086:27b9 at 0000:1f.00 - Current BUC.TS=0 - 128kb address range 0xFFFE0000-0xFFFFFFFF is untranslated - Updated BUC.TS=1 - 64kb address ranges at 0xFFFE0000 and 0xFFFF0000 are swapped - flashrom v0.9.9-unknown on Linux 4.9.0-2-686-pae (i686) - flashrom is free software, get the source code at https://flashrom.org - - Calibrating delay loop... OK. - Found chipset "Intel ICH7M". - Enabling flash write... WARNING: SPI Configuration Lockdown activated. - OK. - Found SST flash chip "SST25VF016B" (2048 kB, SPI) mapped at physical address 0xffe00000. - Reading old flash chip contents... done. - Erasing and writing flash chip... spi_block_erase_20 failed during command execution at address 0x0 - Reading current flash chip contents... done. Looking for another erase function. - spi_block_erase_52 failed during command execution at address 0x0 - Reading current flash chip contents... done. Looking for another erase function. - Transaction error! - spi_block_erase_d8 failed during command execution at address 0x1f0000 - Reading current flash chip contents... done. Looking for another erase function. - spi_chip_erase_60 failed during command execution - Reading current flash chip contents... done. Looking for another erase function. - spi_chip_erase_c7 failed during command execution - Looking for another erase function. - No usable erase functions left. - FAILED! - Uh oh. Erase/write failed. Checking if anything has changed. - Reading current flash chip contents... done. - Apparently at least some data has changed. - Your flash chip is in an unknown state. - Get help on IRC at chat.freenode.net (channel #flashrom) or - mail flashrom@flashrom.org with the subject "FAILED: "! - ------------------------------------------------------------------------------- - DO NOT REBOOT OR POWEROFF! - flashrom v0.9.9-unknown on Linux 4.9.0-2-686-pae (i686) - flashrom is free software, get the source code at https://flashrom.org - - Calibrating delay loop... OK. - Found chipset "Intel ICH7M". - Enabling flash write... WARNING: SPI Configuration Lockdown activated. - OK. - No EEPROM/flash device found. - Note: flashrom can never write if the flash chip isn't found automatically. - user@x60s:~/code/libreboot/libreboot_r20160907_util$ - -Then reboot the machine, passing "iomem=relaxed" into the kernel command line. Then run the -second flash: - - user@x60s:~/code/libreboot/libreboot_r20160907_util$ sudo ./flash i945lenovo\_secondflash ../roms/libreboot_r20160907_grub_x60/x60_usqwerty_vesafb.rom - Mode selected: i945lenovo_secondflash - flashrom v0.9.9-unknown on Linux 4.9.0-2-686-pae (i686) - flashrom is free software, get the source code at https://flashrom.org - - Calibrating delay loop... OK. - coreboot table found at 0x7be9f000. - Found chipset "Intel ICH7M". - Enabling flash write... OK. - Found SST flash chip "SST25VF016B" (2048 kB, SPI) mapped at physical address 0xffe00000. - Reading old flash chip contents... done. - Erasing and writing flash chip... Erase/write done. - Verifying flash... VERIFIED. - bucts utility version 'withoutgit' - Using LPC bridge 8086:27b9 at 0000:1f.00 - Current BUC.TS=1 - 64kb address ranges at 0xFFFE0000 and 0xFFFF0000 are swapped - Updated BUC.TS=0 - 128kb address range 0xFFFE0000-0xFFFFFFFF is untranslated - user@x60s:~/code/libreboot/libreboot_r20160907_util$ - -## Issues - -* [#870006 - xserver-xorg: X60 libreboot Xorg hangs reproducibly after upgrade to stretch - Debian Bug report logs](https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=870006). -- cgit v1.2.3