跳轉到內容

Libreboot/ThinkPad X60

來自華夏公益教科書
注意:本指南將與官方 Libreboot 文件合併。請更新您的連結。
ThinkPad X60 Series.
ThinkPad X60、X60T 和 X60s。

ThinkPad X60 是第一款Libreboot 筆記型電腦,也是唯一一款所有主機板都保證與 Libreboot 相容的筆記型電腦系列(沒有 ATI GPU,所有 LCD 螢幕都能開箱即用等)。

  • 所有 ThinkPad X60/X60s/X60 Tablet 主機板都支援 Libreboot,因為它們都沒有 ATI GPU。
  • ThinkPad X60 系列支援軟體 BIOS 刷寫。
    • 除非您意外地損壞 BIOS,否則無需進行硬體刷寫。
  • 您必須在安裝 Libreboot 之前安裝 GNU/Linux。這裡有一個FSF 批准的發行版列表。
  • 為了使用 FSF 批准的 GNU/Linux 發行版,您必須更換 Intel 3945abg WiFi 卡;因為它使用專有驅動程式。
    • 我們推薦使用 Atheros ath9k 無線 N miniPCI 卡。其他帶有開源驅動程式的 WiFi 卡在 h-node 上列出。
    • 您需要拆下鍵盤和掌託才能更換 miniPCI 卡。如果您沒有勇氣這樣做,只需購買一個 USB 介面卡。
    • 在安裝 Libreboot 之前不要插入新的 miniPCI 卡,否則您的筆記型電腦將無法啟動(由於惱人的 miniPCI 白名單)。
    • 在安裝 Libreboot 之前,您必須使用乙太網線連線到網際網路,或透過 USB 驅動器傳輸資料。

下載 Libreboot

[編輯 | 編輯原始碼]
  1. 下載最新的 Libreboot 二進位制檔案.
  2. 開啟終端並導航到下載資料夾(或其他任何位置)
  3. 解壓縮 Libreboot 資料夾
    tar -xvf libreboot_bin.tar.gz 
  4. 導航到 libreboot_bin 資料夾
    cd libreboot_bin 

安裝並建立依賴項

[編輯 | 編輯原始碼]

flashrombucts 程式需要一些依賴項。使用 Libreboot 的 builddeb 指令碼自動安裝它們。

  • 對於基於 DEB 的發行版(Trisquel、Ubuntu、Debian 等)
  • sudo ./deps-trisquel
  • 對於基於 Arch 的發行版(Parabola、Arch Linux 等)
  • sudo ./deps-parabola
  • 其他 Linux 發行版需要自行找到相應的依賴項。

接下來,我們實際上必須從原始碼構建 flashrombucts。Libreboot 開發人員製作了一個很好的構建指令碼,可以自動執行此操作

sudo ./builddeps-flashrom
sudo ./builddeps-bucts

找到正確的 ROM

[編輯 | 編輯原始碼]

libreboot_bin/ 中的 bin/ 資料夾下,有許多按主機板分類的 Libreboot ROM。

選擇與您的筆記型電腦鍵盤佈局匹配的 ROM(美國或英國,QWERTY 或 DVORAK)。對於 ThinkPad,如果需要擴充套件塢和序列埠支援,請選擇 serial ROM。

  • bin/x60/ - ThinkPad X60/X60s
  • bin/x60t/ - ThinkPad X60 Tablet

一旦您知道要使用哪個 ROM,請記住它的目錄路徑,以便在下一步中使用(例如 bin/x60/libreboot_serial_usqwerty.rom

檢視官方 Libreboot 文件中的 ROM 部分,以獲取最新的列表。

備份原始 BIOS

[編輯 | 編輯原始碼]

如果您選擇進行備份,請點選右側的 [展開] 並按照說明操作。

  1. libreboot_bin/ 資料夾中,進入 flashrom/ 資料夾。
    cd flashrom 
  2. 執行這兩個命令以將 BIOS 備份到 factory.bin(不要驚慌,沒有任何內容被安裝)
    sudo ./flashrom_lenovobios_sst -p internal -r factory.bin
sudo ./flashrom_lenovobios_macronix -p internal -r factory.bin 
  1. 如果在 flashrom/ 資料夾中建立了 factory.bin 檔案,則 Lenovo BIOS 已成功備份。如果沒有,請再次嘗試這些命令。將此轉儲複製到安全的地方。
  2. 返回 libreboot_bin/ 資料夾。
    cd .. 

Libreboot 首次刷寫

[編輯 | 編輯原始碼]

如果您是在未修改的執行 Lenovo BIOS 的 ThinkPad 上首次刷寫 Libreboot,則需要按照此特殊過程進行操作。

  1. 執行 Lenovo BIOS 的首次刷寫指令碼
    sudo ./lenovobios_firstflash bin/YOURBOARD/YOURROM
  2. 等待該過程完成。預計在刷寫過程中會看到“嚴重錯誤”,但不要驚慌;繼續執行下一步以檢查刷寫是否正確執行。
  3. 如果成功啟用了 bucts 1,則會顯示以下行。
    Updated BUC.TS=1 - 64kb address ranges at 0xFFFE0000 and 0xFFFF0000 are swapped.
  1. 如果 flashrom 正確安裝了 Libreboot,則會顯示以下“錯誤”。輸出必須非常相似(flashrom 的後續版本可能存在細微差別)。
    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. spi_block_erase_52 failed during command execution at address 0x0
    Reading current flash chip contents... done. Transaction error!
    spi_block_erase_d8 failed during command execution at address 0x1f0000
    Reading current flash chip contents... done. spi_chip_erase_60 failed during command execution
    Reading current flash chip contents... done. spi_chip_erase_c7 failed during command execution
    FAILED!
    Uh oh. Erase/write failed. Checking if anything changed.
    Your flash chip is in an unknown state.
  1. 如果“錯誤”與上述行非常接近,請關閉筆記型電腦(不要重新啟動)。
  2. 等待幾秒鐘,然後啟動。Libreboot 將啟動。
  3. 如果正常選單選項不起作用,請使用 在本地儲存中搜索 GRUB 配置 選項。
  4. 啟動到 Linux 後,繼續執行Libreboot 第二次刷寫

啟用指點杆

[編輯 | 編輯原始碼]

在一些罕見的 X60 變體中,指點杆滑鼠可能無法開箱即用。不過不用擔心,只需使用 Libreboot 包中的 nvramtool 啟用它即可。

  1. 啟動並登入 Linux。(你可能需要使用文字模式,找到鍵盤快捷鍵)
  2. 開啟終端(以某種方式……不使用滑鼠。希望你安裝了 Yakuake!)
  3. 導航到 libreboot_bin/nvramtool 資料夾。
  4. 使用 make 構建 nvramtool
    make 
  5. 使用 nvramtool 啟用 TrackPoint 滑鼠。
    sudo ./nvramtool -w trackpoint=Enable 
  6. 重啟筆記型電腦(使用 sudo reboot),TrackPoint 將被啟用。如果仍然無法正常工作,請嘗試以下命令
    sudo ./nvramtool -y ../../src/mainboard/lenovo/x60/cmos.layout -w trackpoint=Enable 

Libreboot 二次刷寫

[編輯 | 編輯原始碼]

現在 Libreboot 已經安裝並執行,必須再次刷寫以完全刪除聯想 BIOS。

  1. 開啟終端並導航到 libreboot_bin 目錄。
  2. 執行以下命令以再次刷寫 Libreboot。
    sudo ./lenovobios_secondflash /path/to/libreboot.rom
  1. 如果 bucts 再次被設定為 0,則會顯示以下行。如果它沒有被設定為 0,請再次執行指令碼。
    Updated BUC.TS=0 - 128kb address range 0xFFFE0000-0xFFFFFFFF is untranslated 
  2. 以下內容也應該顯示,沒有任何錯誤
    Verifying flash... VERIFIED. 
  3. 再次關機,等待幾秒鐘,然後啟動。Libreboot 已成功安裝。

更換 WiFi 卡

[編輯 | 編輯原始碼]

如果你計劃使用 Trisquel 或其他 FSF 批准的 GNU/Linux 發行版,則必須將 Intel mPCI wifi 卡替換為Atheros 無線 N mPCI 卡(10-15 美元)。

Intel 卡需要專有二進位制檔案,使掌託極度發熱,並且僅支援較慢的 Wireless-G;因此,升級非常值得。

  1. 按照 X60/X60s 的本指南 或 HMM X60 平板電腦 來拆卸掌託。
  2. 拆卸 Intel 3945bgn WiFi 卡。
  3. 將其替換為 Atheros 無線 N MiniPCI 卡。

(需要更多資訊和照片)

更新 Libreboot 或安裝自定義 ROM

[編輯 | 編輯原始碼]

將來,如果你想更新 X60 上的 Libreboot(或恢復出廠 BIOS),請按照此過程操作。

  1. 下載並解壓最新的 Libreboot 二進位制發行版。
  2. 開啟終端,並導航到 libreboot_bin 目錄。
  3. 執行以下命令以刷寫你選擇的 ROM
    sudo ./flash /path/to/libreboot.rom
  1. 以下內容應該顯示,沒有任何錯誤
    Verifying flash... VERIFIED. 
  2. 再次關機,等待幾秒鐘,然後啟動。Libreboot 已成功更新。

消除高音尖嘯聲

[編輯 | 編輯原始碼]

有時 CPU 可能會發出高音尖嘯聲,所以如果它讓你感到困擾,請按照以下步驟消除它

安裝 PowerTop

[編輯 | 編輯原始碼]

^

首先,從軟體庫中安裝 powertop

sudo apt-get install powertop

現在你可以使用此命令來消除噪音

sudo powertop --auto-tune

你也可以在不帶引數的情況下執行它,然後進入“Tunables”並將所有內容設定為“Good”

Powertop - 在啟動時自動啟動(Trisquel 6)

[編輯 | 編輯原始碼]

^

包含在 libreboot 發行版 中的是一個名為 powertop.trisquel6 的指令碼。執行它,它將設定 powertop 在啟動時使用 --auto-tune 執行。在你的文字編輯器中載入該檔案以檢視它是如何做到的。

./powertop.trisquel6

適用於 Arch Linux/Parabola 的 Powertop

[編輯 | 編輯原始碼]
  1. 切換到 root 使用者
    su - 
  2. 安裝 powertop
    pacman -S powertop 
  3. 將以下內容新增到 /etc/systemd/system/powertop.service
[Unit]
Description=Powertop tunings

[Service]
Type=oneshot
RemainAfterExit=no
ExecStart=/usr/bin/powertop --auto-tune
# "powertop --auto-tune" still needs a terminal for some reason. Possibly a bug?
Environment="TERM=xterm"

[Install]
WantedBy=multi-user.target

最後,在 systemd 中啟用 powertop

    systemctl enable powertop
    systemctl start powertop

下次啟動機器時,嗡嗡聲就會消失。

Powertop 無法從檔案載入

[編輯 | 編輯原始碼]

Powertop 不會立即生效,它必須在實施其功能之前收集測量資料,這些資料將儲存在 /var/cache/powertop/saved_parameters.powertop 中。讓筆記型電腦在電池供電下執行一段時間,Powertop 最終會找出解決方法。

華夏公益教科書