git clone "https://github.com/corna/me_cleaner"
git clone --recurse-submodules "https://review.coreboot.org/coreboot.git"
flashrom --chip "MX25L6406E/MX25L6408E" --programmer buspirate_spi:dev=/dev/ttyUSB0 --read ./bios-8m.img
flashrom --chip "MX25L3206E/MX25L3208E" --programmer buspirate_spi:dev=/dev/ttyUSB0 --read ./bios-4m.img
cat bios-8m.img bios-4m.img > bios-12m.img
me_cleaner
can remove all modules except ROMP and BUPme_cleaner
can also set the MeAltDisable flag to disable ME entirelyifdtool
cd coreboot/util/ifdtool
make
ifdtool --dump bios-12m.img
me_cleaner
cd me_cleaner
python me_cleaner.py -c bios-12m.img
python me_cleaner.py -S -O bios-12m-cleaned.img bios-12m.img
ifdtool --unlock bios-12m-cleaned.img
mv bios-12m-cleaned.img.new bios-12m-cleaned-unlocked.img
ifdtool --extract bios-12m-cleaned-unlocked.img
creates these files:
flashregion_0_flashdescriptor.bin
: flash image metadataflashregion_1_bios.bin
: OEM BIOS, to be replaced with Corebootflashregion_2_intel_me.bin
: ME blob, changed by me_cleaner
flashregion_3_gbe.bin
: built-in Ethernet card firmware, not usingcd coreboot
make distclean
make menuconfig
General setup --->
[*] Use CMOS for configuration values
Mainboard --->
Mainboard vendor --->
(X) Lenovo
Mainboard model --->
(X) ThinkPad X230
ROM chip size --->
(X) 12288 KB (12 MB)
Chipset --->
[*] Add Intel descriptor.bin file
flashregion_0_flashdescriptor.bin
[*] Add Intel ME/TXE firmware
flashregion_2_intel_me.bin
Devices --->
Graphics initialization --->
(X) Use native graphics init
<Save>
make crossgcc-i386 CPUS=4
make crossgcc-x64 CPUS=4
make
cp build/coreboot.rom ../coreboot.img
dd bs=1M count=8 if=coreboot.img of=coreboot-8m.img
dd bs=1M skip=8 count=4 if=coreboot.img of=coreboot-4m.img
ls -l
to make sure coreboot-8m.img
and coreboot-4m.img
are the same size as bios-8m.img
and bios-4m.img
, respectivelyflashrom --chip "MX25L6406E/MX25L6408E" --programmer buspirate_spi:dev=/dev/ttyUSB0 --write coreboot-8m.img
flashrom --chip "MX25L3206E/MX25L3208E" --programmer buspirate_spi:dev=/dev/ttyUSB0 --write coreboot-4m.img