สารบัญ:

Lenovo T420 Coreboot W/Raspberry Pi: 13 ขั้นตอน (พร้อมรูปภาพ)
Lenovo T420 Coreboot W/Raspberry Pi: 13 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: Lenovo T420 Coreboot W/Raspberry Pi: 13 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: Lenovo T420 Coreboot W/Raspberry Pi: 13 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: ThinkPad T420 BIOS Update (Almost bricked it!) 2024, กรกฎาคม
Anonim
Lenovo T420 Coreboot พร้อม Raspberry Pi
Lenovo T420 Coreboot พร้อม Raspberry Pi

Coreboot เป็นการแทนที่ไบออสโอเพ่นซอร์ส คู่มือนี้จะอธิบายขั้นตอนที่จำเป็นในการติดตั้งบน Lenovo T420

ก่อนที่คุณจะเริ่ม คุณควรจะคุ้นเคยกับเทอร์มินัล Linux และถอดแยกชิ้นส่วนแล็ปท็อปของคุณก่อน

มีโอกาสที่สิ่งนี้จะทำให้แล็ปท็อปของคุณพัง คุณต้องยอมรับความเสี่ยงเอง

เสบียง

  • คลิปทดสอบ Ponoma 5250 - สำหรับเชื่อมต่อกับชิปไบออส
  • สายจัมเปอร์เขียงหั่นขนมสำหรับผู้หญิง - เรียกอีกอย่างว่าสายดูปองท์
  • ไขควงฟิลลิป
  • คีมขนาดเล็ก หรือดอกไขควง 5.0 มม.
  • สารประกอบความร้อน
  • ไอโซโพรพิลแอลกอฮอล์
  • สำลีก้าน
  • เลอโนโว T420
  • คอมพิวเตอร์ที่ใช้ลินุกซ์ "พีซีหลัก"
  • Raspberry Pi(3 หรือ 4) - ใช้งานเวอร์ชันล่าสุดหรือ Raspberry Pi OS - ดูคำแนะนำในการติดตั้งได้ที่นี่
  • คู่มือการบำรุงรักษาฮาร์ดแวร์ T420

ขั้นตอนที่ 1: อัปเดต Embedded Controller บน T420

ขอแนะนำให้อัปเดต Embedded Controller เป็นเวอร์ชันล่าสุด วิธีที่ง่ายที่สุดในการทำเช่นนี้คือติดตั้งไบออสจากโรงงานเวอร์ชันล่าสุด Coreboot ไม่สามารถสัมผัส EC ได้ คุณจะไม่สามารถอัปเดตได้หลังจากกระพริบเว้นแต่คุณจะเปลี่ยนกลับเป็นไบออสจากโรงงาน

ขั้นตอนที่ 2: เตรียม Raspberry Pi สำหรับการกะพริบ (บน RPI)

เตรียม Raspberry Pi สำหรับการกะพริบ (บน RPI)
เตรียม Raspberry Pi สำหรับการกะพริบ (บน RPI)
เตรียม Raspberry Pi สำหรับการกะพริบ (บน RPI)
เตรียม Raspberry Pi สำหรับการกะพริบ (บน RPI)

เพื่ออ่าน/เขียนชิปไบออส คุณต้องเปิดใช้งานโมดูลเคอร์เนลบางตัว

เข้าถึงยูทิลิตี้ config raspberry pi

sudo raspi-config

ภายใต้ตัวเลือกอินเทอร์เฟซเปิดใช้งาน:

  • P2 SSH - ถ้าคุณจะใช้ pi headless
  • P4 SPI
  • P5 I2C
  • P8 Remote GPIO - หากใช้ ssh เพื่อเชื่อมต่อกับ pi

ขั้นตอนที่ 3: เตรียมคอมพิวเตอร์ 'หลัก' สำหรับสร้าง Coreboot (บนพีซีหลัก)

สิ่งแรกที่ต้องทำคือติดตั้งการพึ่งพาที่จำเป็นในการสร้างคอร์บูต

สำหรับระบบที่ใช้เดเบียน

sudo apt ติดตั้ง git build-essential gnat flex bison libncurses5-dev wget zlib1g-dev

สำหรับระบบที่ใช้ Arch เป็นหลัก

sudo pacman -S ฐานพัฒนา gcc-ada flex bison ncurses wget zlib git

สร้างไดเร็กทอรีในโฮมไดเร็กทอรีของคุณเพื่อใช้งาน สำหรับตัวอย่างนี้ ผมจะเรียกมันว่า 'งาน' คุณจะต้องการไดเร็กทอรีเพื่อจัดเก็บอิมเมจจากโรงงาน ฉันจะเรียกไดเรกทอรีนั้นว่า 'รอม' คุณสามารถทำได้ในบรรทัดเดียวเพื่อประหยัดเวลา

mkdir -p ~/work/roms

ย้ายไปยังไดเร็กทอรีงาน

cd ~/work

ดาวน์โหลด ME_Cleaner เวอร์ชันล่าสุดจาก github

โคลน git

ดาวน์โหลด Coreboot เวอร์ชันล่าสุด

โคลน git

ย้ายไปยังไดเร็กทอรี coreboot

cd ~/work/coreboot

ดาวน์โหลดโมดูลย่อยที่จำเป็น

git submodule update --init --checkout

สร้างไดเร็กทอรีเพื่อเก็บไฟล์บางไฟล์เฉพาะสำหรับ T420 ของคุณ ซึ่งจำเป็นต้องใช้ในภายหลัง

mkdir -p ~/work/coreboot/3rdparty/blobs/mainboard/lenovo/t420

สร้างเครื่องมือ ifd ซึ่งจะใช้เพื่อแยกไบออสของโรงงานออกเป็นภูมิภาคต่างๆ

cd ~/work/coreboot/utils/ifdtool

ทำ

ขั้นตอนที่ 4: ต่อสายคลิป

สายขึ้นคลิป
สายขึ้นคลิป

ใช้สายตัวเมีย 6 ตัวต่อตัวเมียเพื่อต่อคลิปเข้ากับ Pi

Bios 1 > Pi 24

Bios 2 > Pi 21

Bios 4 > Pi 25

Bios 5 > Pi 19

Bios 7 > Pi 23

Bios 8 > Pi 17

พิน 3 และ 7 ใน Bios ไม่ได้ใช้

ขั้นตอนที่ 5: เข้าถึงชิป Bios

เข้าถึงชิป Bios
เข้าถึงชิป Bios
เข้าถึงชิป Bios
เข้าถึงชิป Bios
เข้าถึงชิป Bios
เข้าถึงชิป Bios
เข้าถึงชิป Bios
เข้าถึงชิป Bios

ชิปไบออสอยู่ใต้โรลเคจ ในการเข้าถึงคุณจะต้องถอดเมนบอร์ดออก

คู่มือการบำรุงรักษาฮาร์ดแวร์สามารถให้คำแนะนำหากคุณมีปัญหาในการค้นหา

ฉันได้รวมรูปภาพที่ฉีกขาดแล้ว เราไม่ได้มีไว้สำหรับการดูแบบสาธารณะ (ลายมือของฉันแย่มากขออภัย) แต่สิ่งที่พวกเขาอาจช่วยได้

ขั้นตอนที่ 6: เชื่อมต่อคลิปกับชิป Bios

เชื่อมต่อคลิปเข้ากับชิป Bios
เชื่อมต่อคลิปเข้ากับชิป Bios
เชื่อมต่อคลิปเข้ากับชิป Bios
เชื่อมต่อคลิปเข้ากับชิป Bios
เชื่อมต่อคลิปเข้ากับชิป Bios
เชื่อมต่อคลิปเข้ากับชิป Bios

เมื่อปิด Pi ให้เชื่อมต่อคลิปกับชิปไบออส

ขั้นตอนที่ 7: อ่าน Flash Chip (บน RPI)

อ่าน Flash Chip (บน RPI)
อ่าน Flash Chip (บน RPI)
อ่าน Flash Chip (บน RPI)
อ่าน Flash Chip (บน RPI)

เปิดเครื่อง Pi

สร้างไดเร็กทอรี roms และย้ายไปที่

mkdir -p ~/work/roms

cd ~/work/roms

หากต้องการอ่านและเขียนชิป คุณจะต้องใช้โปรแกรมที่เรียกว่า Flashrom ขั้นแรกตรวจสอบให้แน่ใจว่าได้ติดตั้งแล้ว

sudo apt ติดตั้ง flashrom

ใช้แฟลชรอมเพื่อโพรบชิปและตรวจสอบให้แน่ใจว่าได้เชื่อมต่อแล้ว

flashrom -p linux_spi:dev=/dev/spidev0.0, spispeed=128

อ่าน bios โรงงานปิดชิป 3 ครั้งและบันทึกเป็น factory1.rom factory2.rom factory3.rom

ใช้ตัวเลือก -c เพื่อระบุชิปแฟลชของคุณ อย่าลืมป้อนทุกอย่างระหว่างเครื่องหมายคำพูด

การอ่านแต่ละครั้งจะใช้เวลาพอสมควรขึ้นอยู่กับชิปที่สามารถอ่านได้ระหว่าง 30-45 นาทีในแต่ละครั้ง ไม่ต้องกังวลหากดูเหมือนว่า pi ถูกแขวน

flashrom -p linux_spi:dev=/dev/spidev0.0, spispeed=128 -c -r factory1.rom

flashrom -p linux_spi:dev=/dev/spidev0.0, spispeed=128 -c -r factory2.rom

flashrom -p linux_spi:dev=/dev/spidev0.0, spispeed=128 -c -r factory3.rom

ขั้นตอนที่ 8: เปรียบเทียบ 3 ไฟล์ (บน RPI)

เปรียบเทียบ 3 ไฟล์ (บน RPI)
เปรียบเทียบ 3 ไฟล์ (บน RPI)

ถัดไปคุณต้องการเปรียบเทียบไฟล์ 3 ไฟล์เพื่อให้แน่ใจว่าคุณมีการอ่าน / การเชื่อมต่อที่ดี

โรงงาน sha512sum*.rom

หากตรงกันทั้งหมด ให้คัดลอกไปยังคอมพิวเตอร์หลักในไดเร็กทอรี ~/work/roms

ปิด Pi คุณสามารถปล่อยให้คลิปเชื่อมต่อ

ขั้นตอนที่ 9: ทำความสะอาด ME (บนพีซีหลัก)

ทำความสะอาด ME (บนพีซีหลัก)
ทำความสะอาด ME (บนพีซีหลัก)

ย้ายไปที่ ~/work/roms

cd ~/work/roms

รอมโรงงานไม่ควรถูกแก้ไข ทำสำเนาหนึ่งในนั้นเพื่อทำความสะอาด

cp factory1.rom cleaned.rom

ทำความสะอาด IME บน.rom. ที่ล้างแล้ว

~/work/me_cleaner/me_cleaner.py -S cleaned.rom

ขั้นตอนที่ 10: แยกภาพ Rom (บนพีซีหลัก)

แยกภาพ Rom (บนพีซีหลัก)
แยกภาพ Rom (บนพีซีหลัก)

ชิปไบออสแบ่งออกเป็น 4 ส่วน คุณต้องแบ่งอิมเมจ cleaned.rom ออกเป็นส่วนต่าง ๆ ด้วยเครื่องมือ ifd ที่จัดหาโดย coreboot

~/work/coreboot/utils/ifdtool/ifdtool -x cleaned.rom

สิ่งนี้จะสร้าง 4 ไฟล์ เราต้องเปลี่ยนชื่อ 3 ตัวและสามารถลบ 1. ได้

เปลี่ยนชื่อภูมิภาคคำอธิบาย

mv flashregion_0_flashdescriptor.bin descriptor.bin

ลบภูมิภาค bios - มันจะถูกแทนที่ด้วย coreboot

rm flashregion_1_bios.bin

เปลี่ยนชื่อภูมิภาค GBE

mv flashregion_2_gbe.bin gbe.bin

เปลี่ยนชื่อภูมิภาค ME

mv flashregion_3_me.bin me.bin

คัดลอกไฟล์ไปยังไดเร็กทอรี coreboot

cp descriptor.bin gbe.bin me.bin ~/work/coreboot/3rdparty/blobs/mainboard/lenovo/t420/

ขั้นตอนที่ 11: กำหนดค่าอิมเมจ Coreboot (บนพีซีหลัก)

กำหนดค่าอิมเมจ Coreboot (บนพีซีหลัก)
กำหนดค่าอิมเมจ Coreboot (บนพีซีหลัก)
กำหนดค่าอิมเมจ Coreboot (บนพีซีหลัก)
กำหนดค่าอิมเมจ Coreboot (บนพีซีหลัก)
กำหนดค่าอิมเมจ Coreboot (บนพีซีหลัก)
กำหนดค่าอิมเมจ Coreboot (บนพีซีหลัก)
กำหนดค่าอิมเมจ Coreboot (บนพีซีหลัก)
กำหนดค่าอิมเมจ Coreboot (บนพีซีหลัก)

ย้ายไปยังไดเร็กทอรี coreboot

cd ~/work/coreboot

กำหนดค่าคอร์บูต

ทำ nconfig

สิ่งนี้จะแสดงตัวแก้ไขการกำหนดค่า Coreboot การตั้งค่าเริ่มต้นส่วนใหญ่นั้นใช้ได้ แต่มีบางอย่างที่สามารถเพิ่มได้ นี่เป็นการกำหนดค่าพื้นฐาน มีตัวเลือกขั้นสูงเพิ่มเติม เช่น หน้าจอเริ่มต้น vga roms เพย์โหลดสำรอง ตัวเลือกเหล่านี้อยู่นอกเหนือขอบเขตของคู่มือนี้

การตั้งค่าทั่วไป

ใช้ CMOS สำหรับค่าคอนฟิกูเรชัน

เมนบอร์ด

  • ผู้จำหน่ายเมนบอร์ด >>> เลือก >> Lenovo
  • รุ่นเมนบอร์ด >>> เลือก >>> T420

ชิปเซ็ต

  • เพิ่มไฟล์ Intel descriptor.bin
  • เพิ่มเฟิร์มแวร์ Intel ME/TXE
  • เพิ่มการกำหนดค่ากิกะบิตอีเทอร์เน็ต

อุปกรณ์

  • เปิดใช้งานการจัดการพลังงานนาฬิกา PCIe
  • เปิดใช้งานสถานะย่อย PCIe ASPM L1

ไดร์เวอร์ทั่วไป

แป้นพิมพ์ PS/2 เริ่มต้น

ขั้นตอนที่ 12: สร้าง Coreboot (บนพีซีหลัก)

ถึงเวลารวบรวม!

ขั้นแรกสร้าง gcc toolchain

ทำ crossgcc-i386 CPUS=X

X = จำนวนเธรดที่ CPU ของคุณมี

สร้างคอร์บูต

ทำ iasl

ทำ

สิ่งนี้จะสร้างไฟล์ ~/work/coreboot/build/coreboot.rom

เปิด Pi และคัดลอกไฟล์นั้นไปยังไดเร็กทอรี ~/work/roms ของคุณ

ขั้นตอนที่ 13: เขียน Coreboot ไปที่ T420 (บน RPI)

เขียน Coreboot ไปที่ T420 (บน RPI)
เขียน Coreboot ไปที่ T420 (บน RPI)
เขียน Coreboot ไปที่ T420 (บน RPI)
เขียน Coreboot ไปที่ T420 (บน RPI)
เขียน Coreboot ไปที่ T420 (บน RPI)
เขียน Coreboot ไปที่ T420 (บน RPI)

ย้ายไปยังไดเร็กทอรี roms

cd ~/work/roms

โพรบชิปเพื่อให้แน่ใจว่าตรวจพบแล้ว

flashrom -p linux_spi:dev=/dev/spidev0.0, spispeed=128

เขียนอิมเมจคอร์บูต การดำเนินการนี้จะใช้เวลานานกว่าการอ่านภาพ

flashrom -p linux_spi:dev=/dev/spidev0.0, spispeed=128 -c -w coreboot.rom

หลังจากตรวจสอบการเขียนแล้วให้ปิด pi ถอดคลิปออกและประกอบ T420 กลับเข้าไปใหม่

ขอแสดงความยินดีที่คุณเพิ่งแฟลช Coreboot

แนะนำ: