在基于 Arm 的 Thinkpad X13S 筆記本上運(yùn)行 Linux
最新發(fā)布的 Armbian 有助于解決在 Arm 計(jì)算機(jī)上安裝并運(yùn)行 Linux 發(fā)行版的困難 —— 這是一項(xiàng)不小的挑戰(zhàn)。
今年 3 月我們 評(píng)測(cè) 的聯(lián)想 Thinkpad X13S 第一代,是我們?cè)u(píng)估的首款主流 Arm 驅(qū)動(dòng)筆記本電腦。當(dāng)然,市面上確實(shí)還有其他的 Arm 筆記本,如 Pine64 的 Pinebook Pro 和多款基于 Arm 的 ChromeBook 等。然而,X13S 更接近常規(guī)的基于 x86 的筆記本電腦:具備優(yōu)質(zhì)的配置,配有 16GB 內(nèi)存和 256GB 的 NVMe SSD,更重要的是,它搭載了 PC 行業(yè)標(biāo)準(zhǔn)的 UEFI 固件,這在消費(fèi)級(jí) Arm 計(jì)算機(jī)上尚屬罕見(jiàn)。另一個(gè)好消息是,你可以禁用安全啟動(dòng),這是許多 Arm 設(shè)備不支持的。十年前,這是最初的微軟 Surface RT 的一個(gè) 關(guān)鍵問(wèn)題:Windows RT 一團(tuán)糟,而它的固件不讓你運(yùn)行其他的系統(tǒng)。
雖然 X13S 從 2022 年 5 月就開(kāi)始發(fā)售,但要讓這個(gè)機(jī)器支持運(yùn)行 Linux,卻花費(fèi)了一段不短的時(shí)間。一篇 博客文章 列出一些相關(guān)問(wèn)題,文章副標(biāo)題 “擁抱苦難” 已經(jīng)透露出難度之大。這篇文章鏈接了一篇有關(guān)如何在該機(jī)器上安裝 Debian 的 很老的指南。我們按照指南操作,嘗試安裝中間版的 Debian,定制內(nèi)核,看起來(lái)安裝成功了。
將其從 SSD 啟動(dòng),著實(shí)需要巨大的努力,這涉及到進(jìn)入 UEFI 固件 Shell,并手動(dòng)逐個(gè)查閱 30 到 40 個(gè)條目才能找出并啟用正確的 UEFI 啟動(dòng)條目,但經(jīng)過(guò)數(shù)小時(shí)的尋找和無(wú)數(shù)次的重啟,它成功工作了,Debian 能夠啟動(dòng)。不幸的是,在啟動(dòng)已經(jīng)安裝的操作系統(tǒng)時(shí),屏幕在輸出幾行以后就變黑了,再也沒(méi)亮過(guò)。雖然操作系統(tǒng)還在運(yùn)行,例如,按下電源鍵會(huì)在幾秒后干凈地關(guān)閉電源,但由于沒(méi)有顯示,甚至是文本顯示也沒(méi)有,我們無(wú)法配置 Wi-Fi 連接,而且該機(jī)器并沒(méi)有內(nèi)建的以太網(wǎng)接口。
隨著最新固件和更新的支持,現(xiàn)在已經(jīng)能在基于 Arm 的 Thinkpad 上使用 Ubuntu Lunar 的 GNOME 桌面環(huán)境。
此外,尚有一種 “概念版” 的 Ubuntu 23.04 “Lunar Lobster”,其開(kāi)發(fā)并未完成,該公司要求我們不公開(kāi)相關(guān)鏈接。自從我們拿到這臺(tái)機(jī)器以來(lái),已經(jīng)進(jìn)行了多次固件更新:最初其固件版本為 1.25,如今已經(jīng)更新至 1.57。在固件版本更新到 1.49 時(shí),固件設(shè)置程序增加了一個(gè)處于測(cè)試階段的 “Linux” 選項(xiàng),并隨著下一次更新,機(jī)器首次成功通過(guò)我們的 Ubuntu USB 啟動(dòng)盤(pán)啟動(dòng)。但引導(dǎo)過(guò)程極慢,開(kāi)機(jī)至少需要 10-15 分鐘,甚至更久,而且當(dāng)它運(yùn)行在立付Live系統(tǒng)模式下時(shí),設(shè)備功能有顯著限制:比如無(wú)法發(fā)出聲音,Wi-Fi 僅支持 2.4GHz 等。盡管如此,它的運(yùn)行效果尚可,足以完成安裝。初次啟動(dòng)進(jìn)入的是空白屏幕,然而,你可以切換到虛擬控制臺(tái),登錄并從 Shell 提示符下更新操作系統(tǒng)。在更新并重啟后,圖形登錄界面出現(xiàn),此時(shí)我們可以正常登錄,5GHz Wi-Fi 也開(kāi)始正常工作。
在固件 1.56 更新階段,Ubuntu 在這款硬件上仍有諸多限制:無(wú)聲音,僅支持 Wayland,不支持 X.org。按照我們的慣例,我們安裝時(shí)將 /home
掛載在獨(dú)立的磁盤(pán)分區(qū)中,Ubuntu 在一個(gè)只讀的主目錄上啟動(dòng),但這導(dǎo)致 Ubuntu 無(wú)法保存任何設(shè)置,也未能創(chuàng)建常用的文件夾(如 ~/Documents
等)。然而,執(zhí)行了一條手動(dòng)的 chown
命令后,權(quán)限問(wèn)題得以解決,/home
目錄也得以寫(xiě)入。
全面更新后,就連 X.org 也能正常運(yùn)行,這意味著非 GNOME 桌面可能最終也能被成功運(yùn)行。
固件版本 1.57 出現(xiàn)在上個(gè)月,重新安裝并更新 Ubuntu “Lunar” 后,聲音和 X11 功能得以正常工作,這意味著非 Wayland 桌面現(xiàn)在也變得可行。盡管仍有一些困難,但是配備一個(gè) USB-C 以太網(wǎng)適配器會(huì)有很大幫助,現(xiàn)在的 X13S 筆記本已經(jīng)可以很好地運(yùn)行 Ubuntu。相較于 Windows 運(yùn)行下的狀態(tài),一個(gè)顯著的差異在于,沒(méi)有了 x86 模擬環(huán)境,只有原生的 Arm64 應(yīng)用,機(jī)器的運(yùn)行狀況變得沒(méi)那么熱了。盡管底座會(huì)變熱,但它可以放在白白的大腿上使用而不會(huì)燙到你。
甚至連聲音芯片也得到了支持,我們可以播放音頻并調(diào)整音量。
一個(gè)(相對(duì))更加簡(jiǎn)單的選擇是——Armbian
在 Arm 筆記本上運(yùn)行 Linux 的問(wèn)題在于,基于 Arm 的計(jì)算機(jī)并不僅僅是一臺(tái) CPU 類(lèi)型不同的 x86 個(gè)人電腦。標(biāo)準(zhǔn)的主板和芯片組以及可替換的 GPU 是相當(dāng)稀有的。大部分機(jī)器都是圍繞一種高度集成的 SoC 構(gòu)建的,它包含了 CPU、GPU 以及所有其他組件。
在 x86 個(gè)人電腦上,操作系統(tǒng)可以依賴(lài)標(biāo)準(zhǔn)固件來(lái)啟動(dòng)計(jì)算機(jī),但并非所有的 Arm 設(shè)備都擁有這樣的固件。制造商為每種 Arm 設(shè)備打造適合運(yùn)行特定操作系統(tǒng)的設(shè)備,替換為另一種操作系統(tǒng)可能非常棘手。這就是為什么樹(shù)莓派計(jì)算機(jī)系列成功的原因之一:不是因?yàn)樗鼈兲貏e簡(jiǎn)單,它們并不是,而是因?yàn)樗鼈兊匿N(xiāo)售量大,因此得到廣泛的支持。
Armbian 項(xiàng)目就是對(duì)這個(gè)問(wèn)題的答案。它為大量的單板計(jì)算機(jī)(SBC)——主要是 Arm 架構(gòu)的,正如名字暗示的那樣,雖然并非只有這些——編譯了特殊的內(nèi)核。在 23.08 版本(代號(hào)為 Colobus)的發(fā)布時(shí),已經(jīng)列出了支持的 59 個(gè) Arm64 設(shè)備,以及 8 個(gè) RISC-V 的板卡,還有一個(gè) 通用的 x86-64/UEFI 版本。我們?cè)谌ツ?3 月時(shí)點(diǎn)評(píng)了 Armbian 22.02,但我們重新回顧它,是因?yàn)檫@次發(fā)布包含了一個(gè)在 X13S 上的 版本,即使支持仍在 持續(xù)進(jìn)行。
對(duì)于 x86 PC 來(lái)說(shuō),你通常從安裝介質(zhì)啟動(dòng),然后將操作系統(tǒng)安裝到機(jī)器的內(nèi)部硬盤(pán)上。但對(duì)于 SBC 來(lái)說(shuō),更常見(jiàn)的是將鏡像寫(xiě)入內(nèi)存卡,然后從內(nèi)存卡啟動(dòng)電腦,因此并無(wú)特定的安裝進(jìn)程。Armbian 為 X13S 提供的下載壓縮后只有大約 2GB,但它包含了一個(gè)完全安裝的系統(tǒng),因此你至少需要一個(gè) 16GB 的 U 盤(pán)。第一次啟動(dòng)時(shí),它會(huì)進(jìn)入文本模式提示并要求 root 密碼、用戶(hù)賬戶(hù)的憑據(jù),時(shí)區(qū)以及地區(qū)信息。只有在這些信息輸入完畢之后,它才會(huì)加載圖形桌面。
Armbian 的 Cinnamon 桌面實(shí)際上是專(zhuān)為 Arm64 設(shè)計(jì)的 Debian 12.1,額外附加的驅(qū)動(dòng)及微調(diào)使其符合 X13s 的需要。
這套方案成功地創(chuàng)建了一個(gè)工作正常的系統(tǒng),包括屏幕亮度調(diào)節(jié)等功能。系統(tǒng)重啟后,我們可以連接 2.4GHz 和 5GHz 的 Wi-Fi,并以典型的 Debian 方式進(jìn)行更新:使用 sudo apt update && sudo apt full-upgrade -y
命令。然而,系統(tǒng)沒(méi)有聲音,而且電池支持也尚未到位:不能充電,并且電量指示器不能工作。而且,我們的
Planet Computers USB-C 集線器上的以太網(wǎng)端口也未被檢測(cè)到。我們?cè)噲D使用 armbian-installer 腳本將
Armbian 安裝到 SSD,但盡管 Ubuntu 找到并將其添加到 GRUB 菜單中,Armbian 仍無(wú)法從 SSD 啟動(dòng)。
總結(jié)
隨著時(shí)間推移,高通 Snapdragon 8cx Gen 3 平臺(tái)的 Linux 支持得到了改善。在最新版本上,Ubuntu 在 X13S(內(nèi)核版本 6.2)上已經(jīng)可用,我們預(yù)期,隨著下個(gè)月 Ubuntu 新版的發(fā)布,這種設(shè)備可能變成一個(gè)受到支持的平臺(tái)。
與此同時(shí),一些其他的發(fā)行版也在進(jìn)行支持工作。雖然 Fedora 有一個(gè) 內(nèi)核鏡像,但目前只是停留在這個(gè)階段。另外,openSUSE Tumbleweed 也有一個(gè)預(yù)發(fā)布 鏡像,但還沒(méi)有安裝程序,對(duì)聲音以及電池也尚無(wú)支持。
OpenBSD 可以直接支持高通芯片,但是這個(gè)操作系統(tǒng)的常規(guī)限制,如藍(lán)牙的全面缺失仍然存在。我們已經(jīng)驗(yàn)證了其可以從 USB 啟動(dòng)并成功配置 Wi-Fi 及 USB 以太網(wǎng)卡,但我們并未深入嘗試,因?yàn)閷?duì)于刪除我們當(dāng)時(shí)唯一能夠完全運(yùn)行的操作系統(tǒng)——Windows,我們持保守態(tài)度。
在 Windows 11 Arm64 上的 Ubuntu 22.04 上運(yùn)行的 GNOME 網(wǎng)絡(luò)瀏覽器 Epiphany
當(dāng)然,還有 Windows 的 Linux 服務(wù)Windows Services for Linux(WSL)。這目前是最快捷到達(dá)可工作的 Linux 系統(tǒng)的途徑:我們?cè)囼?yàn)了在 Windows 11 下的 WSL2 中運(yùn)行 Ubuntu,它工作得相當(dāng)完美——且?guī)?lái)附加優(yōu)勢(shì),你明確知道你正在運(yùn)行的是原生 Arm 應(yīng)用,而非在耗電的模擬環(huán)境下運(yùn)行的 x86 代碼。然而,要注意運(yùn)行 Windows 本身并不高效,如果你在后臺(tái)有一些 X86 的應(yīng)用,你的電池續(xù)航會(huì)嚴(yán)重受影響。
如果你樂(lè)意從 U 盤(pán)啟動(dòng)——此處我們推薦使用一個(gè)高速 USB-C 盤(pán)——那么 Armbian 就能很輕松地幫你啟動(dòng),雖然有一些限制。隨著新內(nèi)核支持的提升,Armbian 的功能也將隨之增強(qiáng)。
X13S 并未準(zhǔn)備好全面采納任何自由和開(kāi)源的操作系統(tǒng)——例如,網(wǎng)絡(luò)攝像頭尤其仍未得到支持——但 Ubuntu 已經(jīng)差不多準(zhǔn)備好了。目前的鏡像并非官方版本,但你可以在你信任的搜索引擎上找到它。如果這個(gè)方式失敗,那么 Armbian 將是你的第二選擇。