@catacombs he hasn’t had time to publish yet. Let me summarize quickly so you don’t have to wait longer:
- start with debian-11 based template
- install these packages: build-essential zlib1g-dev uuid-dev libdigest-sha-perl libelf-dev bc bzip2 bison flex git gnupg iasl m4 nasm patch python python2 python3 wget gnat cpio ccache pkg-config cmake libusb-1.0-0-dev autoconf texinfo ncurses-dev doxygen graphviz udev libudev1 libudev-dev automake libtool rsync innoextract
- in the qube:
git clone https://github.com/osresearch/heads
wget https://raw.githubusercontent.com/corna/me_cleaner/master/me_cleaner.py
wget https://download.lenovo.com/pccbbs/mobiles/g1rg24ww.exe
- the sha256sum hashes are
f60e1990e2da2b7efa58a645502d22d50afd97b53a092781beee9b0322b61153 g1rg24ww.exe
28e9c1904690a39d9bbb913ddfde38f6f6a6428654105be3ca911fd53866b27a me_cleaner.py
-
inside the /heads/blobs/xx30 directory:
innoextract ~/g1rg24ww.exe
and thenpython ~/me_cleaner.py -r -t -O me.bin app/ME8_5M_Production.bin
-
back in the /heads directory:
make BOARD=t430-maximized CPUS=$(nproc)
That’s the build with cleaned ME. To additionally set the HAP/AltMeDisable bit, do this after the build:
python ~/me_cleaner.py -s ~/heads/build/t430-maximized/heads-t430-maximized-*-bottom.rom
Then flash it (obviously your file names will be different, but you’ll get the idea):
sudo flashrom --programmer ch341a_spi -c "MX25L6406E/MX25L6408E" -r t430-8mb.rom
flashrom v1.2 on Linux 4.19.213-1.pvops.qubes.x86_64 (x86_64)
flashrom is free software, get the source code at https://flashrom.org
Using clock_gettime for delay loops (clk_id: 1, resolution: 1ns).
Found Macronix flash chip "MX25L6406E/MX25L6408E" (8192 kB, SPI) on ch341a_spi.
Reading flash... done.
sudo flashrom --programmer ch341a_spi -c "MX25L6406E/MX25L6408E" -w heads-t430-hotp-maximized-v0.2.0-1150-g0670bcd-bottom.rom
flashrom v1.2 on Linux 4.19.213-1.pvops.qubes.x86_64 (x86_64)
flashrom is free software, get the source code at https://flashrom.org
Using clock_gettime for delay loops (clk_id: 1, resolution: 1ns).
Found Macronix flash chip "MX25L6406E/MX25L6408E" (8192 kB, SPI) on ch341a_spi.
Reading old flash chip contents... done.
Erasing and writing flash chip... Erase/write done.
Verifying flash... VERIFIED.
sudo flashrom --programmer ch341a_spi -c "MX25L3206E/MX25L3208E" -r t430-4mb.rom
flashrom v1.2 on Linux 4.19.213-1.pvops.qubes.x86_64 (x86_64)
flashrom is free software, get the source code at https://flashrom.org
Using clock_gettime for delay loops (clk_id: 1, resolution: 1ns).
Found Macronix flash chip "MX25L3206E/MX25L3208E" (4096 kB, SPI) on ch341a_spi.
Reading flash... done
sudo flashrom --programmer ch341a_spi -c "MX25L3206E/MX25L3208E" -w heads-t430-hotp-maximized-v0.2.0-1150-g0670bcd-top.rom
flashrom v1.2 on Linux 4.19.213-1.pvops.qubes.x86_64 (x86_64)
flashrom is free software, get the source code at https://flashrom.org
Using clock_gettime for delay loops (clk_id: 1, resolution: 1ns).
Found Macronix flash chip "MX25L3206E/MX25L3208E" (4096 kB, SPI) on ch341a_spi.
Reading old flash chip contents... done.
Erasing and writing flash chip... Erase/write done.
Verifying flash... VERIFIED.
Good luck!