[coreboot] Coreboot on X230 and Dualboot / How to make it work

One7two99 one7two99 at protonmail.com
Thu Sep 28 00:38:09 CEST 2017


Hello,

after reading the dd howtos it seems that the 12 MB coreboot.rom file can be split like this:

# Split first 8MB of coreboot.rom (bottom-chip)
dd if=coreboot.rom of=x230-coreboot-8mb.rom bs=1024 count=$[1024*8] skip=0

# Split last 4MB of coreboot.rom (top-chip)
dd if=coreboot.rom of=x230-coreboot-4mb.rom bs=1024 count=$[1024*4] skip=$[1024*8]

at least this is what I did - while it was good enough that my X230 is booting up I still can't boot the secondary payloads (I have choosen nvramcui and coreinfo).

As mentioned I am writing a howto whch is target at a newbie user, who has basic linux skills and has just about coreboot and wants to try it out.

I've run the following steps (I've already written the howto which covers more information about each step, but unfortunately I can't access the wiki as an editor, asked for it already).

If you thing I've missed out important steps, I am happy to hear your comments.

--- on your raspberry pi ---

0) Put External Flash Clip, female jumper cables and Raspberry pi together
   (kind of a lego thing)

1) Install Raspberian on Pi using Noobs

2) Update Pi and install additional packages including 'flashrom'

3) take keyboard and palmrest of your "coreboot target laptop" (target) off
   to access the BIOS Chip(s)

4) Connect the BIOS-Clip to BIOS-chips and read the content from your pi
   (x230-default-part2-4mb.rom / x230-default-part2-8mb.rom)

5) merge the two files into one 12 MB ROM file
   (x230-default-12mb.rom)

--- on your build laptop ---

6) Copy all three files to your "build laptop" (laptop)
   Build Laptop must run Linux, this howto assumes you are using Ubuntu 16.04.3 LTS
   (could also be installed on an USB thumbdrive or external harddrive)

7) Download Coreboot from GIT

7) Install UEFITool on laptop

8) Extract VGA BLOB from the x230-default-12mb.rom file
   save the file in the coreboot/blobs directory
   (./coreboot/3rdparty/blobs/mainboard/lenovo/x230/pci8086,0166.rom)

9) Build Coreboot Toolchain

10) Compile ifdtool located in the coreboot/utils directory

11) Extract BLOBS from x230-default-12mb.rom using ifdtool
    save the files in the coreboot/blobs directory
    (./coreboot/3rdparty/blobs/mainboard/lenovo/x230/descriptor.bin)
    (./coreboot/3rdparty/blobs/mainboard/lenovo/x230/me.bin)
    (./coreboot/3rdparty/blobs/mainboard/lenovo/x230/gbe.bin)

11b) [Optionally] Use ME_Cleaner on me.bin file )
     (also it seems that ME_Cleaner is included in Coreboot:
     Coreboot nconfig:
     Chipset > Add Intel descriptor.bin file > Add Intel ME/TXE firmware
     --> Strip down the Intel ME/TXE firmware )
     I've choosen to leave the me.bin as is until everything is working.

12) Configure Coreboot (make nconfig)
    choose parameters/features and add the 4 binary blobs (step 8 and 11)

13) build coreboot image
    (./coreboot/build/coreboot.rom)

14) Split coreboot.rom into two separate files to flash them to your 2 chips
    (x230-coreboot-8mb.rom and x230-coreboot-4mb.rom)

15) copy both files to your Raspberry Pi

--- on your Raspberry pi ---

16) flash both files using flashrom again

17) Reboot target laptop

18) should boot up with coreboot.

[799]
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.coreboot.org/pipermail/coreboot/attachments/20170927/f14f95a1/attachment.html>


More information about the coreboot mailing list