之前低價收到一個三星的 Chromebook,型號是 XE303C12。這幾天想把它的系統改成 Linux,畢竟 ChromeOS 上的應用太少了。因為這個本子的 CPU 是 ARM 芯片,所以網上的資料少點,而且內核都是用谷歌提供的 3.8 版本的內核,只看到 ArchLinux 上有 4.16 版本的內核,所以決定安裝 ArchLinux。
簡介
這個 Chromebook 的配置,至少比同價位的買的樹莓派的配置高的多了。
安裝到 U 盤
首先本子目前是 ChromeOS,如果你想安裝成 Linux 的話,先要把 Linux 安裝到 U 盤,所有先准備一個 U 盤插入到 Chromebook 上。
開發者模式
關機,在開機的時候按住 ESC + Refresh + Power 三個鍵。在 Recovery 界面按 Ctrl + D,然后就會提示按 Enter 開啟開發者模式。
外部啟動
為了后面的從 U 盤啟動,這里先要開啟從外部啟動。當你開啟了開發者模式后,進入到系統,然后按 Ctrl + Alt + T 就會打開一個終端,敲 shell
就能進入 Bash,然后 sudo su
獲取 root 權限。開啟外部啟動:
crossystem dev_boot_usb=1 dev_boot_signed_only=0
重啟后就能生效,你重啟后可以敲 crossystem
驗證之前的設置是不是成功了。
制作啟動盤
這里我用 U 盤做啟動盤,安裝方法參考官方給的教程。
安裝到系統
上面的步驟還保留了 ChromeOS,Linux 只是安裝到 U 盤而已,我要把 ChromeOS 徹底替換成 ArchLinux,還要把 ArchLinux 安裝到系統盤上。也就是 mmcblk0。因為 ArchLinux 沒有 cgpt
命令,還要自行安裝。
pacman -S cgpt
把安裝到 U 盤的教程中的 /dev/sda
替換成 mmcblk0
,把 /dev/sda1
替換成 mmcblk0p1
,把 /dev/sda2
替換成 mmcblk0p2
。關機,拔下 U 盤,啟動就可以進入 ArchLinux 了。
更新
Arch 的特點就是滾動更新,拿到之后最好隔一小段時間就更新一下。更新前最好換成國內的鏡像源,我是用的是中科大的鏡像源。
pacman -Syyu
我這里更新忽略關於系統的升級,因為我升級后就不能開機了。
編輯 /etc/pacman.conf
文件,修改如下:
IgnorePkg = linux-armv7 linux-armv7-chromebook linux-firmware
安裝軟件包組 base-devel
,解決編譯依賴問題。
pacman -S base-devel
語言
默認的話你會發現 TTY 不能顯示中文,需要設置 locale。修改 /etc/locale.gen
文件,取消注釋下面兩行。
en_US.UTF-8 UTF-8
zh_CN.UTF-8 UTF-8
然后重新生成一下區域信息。
locale-gen
接下來全局配置一下 /etc/locale.conf
文件。
LANG=en_US.UTF-8
或者不用全局配置,在 .zshrc
中配置也可以。
export LC_ALL=zh_CN.UTF-8
export LANG=zh_CN.UTF-8
時間
改成上海的時區。
timedatectl set-timezone Asia/Shanghai
開啟網絡對時功能。
timedatectl set-ntp true
添加用戶
默認用戶和密碼都是 root,肯定不方便后續使用。
useradd -m -g 初始用戶組 -G 額外用戶組 -s 登陸shell 用戶名
useradd -m -g users -G wheel -s zsh ouyangsong
別忘了給它設置密碼。
安裝 sudo 后,把 wheel 組都改成免密碼使用 sudo 權限。編輯 /etc/sudoer
,取消注釋下面兩行。
%wheel ALL=(ALL) ALL
%wheel ALL=(ALL) NOPASSWD: ALL
硬盤休眠
我把一個舊硬盤掛載到 Chromebook 上,當硬盤不使用的時候,需要讓硬盤休眠,延長硬盤使用壽命。安裝 hdparm 即可。設置 10 分鍾空閑就休眠。
新建一個服務 /etc/systemd/system/hdparm.service
。
[Unit]
Description=hdparm sleep
[Service]
Type=oneshot
ExecStart=/usr/bin/hdparm -q -S 120 -y /dev/sdb
[Install]
WantedBy=multi-user.target
然后設置開機自啟動即可。
網絡
使用 wifi-menu
命令就可以連無線網。因為我主要是遠程登陸,所以還需要安裝 openssh,這樣就可以通過學校局域網 IP 登陸了。
開機自動登陸 wifi。首先使用 wifi-menu 手動成功登陸,會自動生成一套配置文件。然后安裝相關的包。
pacman -S netctl wpa_actiond
查看 /etc/netctl
確認是否已經生成了 wifi 配置文件。
[root@alarm ~]# ls /etc/netctl/
examples hooks interfaces mlan0-czxxxxxxxxxx
[root@alarm ~]# cat /etc/netctl/mlan0-czxxxxxxxxxx
Description='Automatically generated profile by wifi-menu'
Interface=mlan0
Connection=wireless
Security=wpa
ESSID=czxxxxxxxxxx
IP=dhcp
Key=password
連接 wifi 的命令。
systemctl start netctl-auto@mlan0.service
開機自動連接 wifi 的命令。
systemctl enable netctl-auto@mlan0.service
安裝網絡相關的包。
pacman -S net-tools dnsutils inetutils iproute2
ifconfig、route 在 net-tools 中,nslookup、dig 在 dsnutils 中,ftp、telnel 在 inetutils 中,ip 命令在 iproute2 中。
還有一個問題就是合上蓋子后,網絡就斷了,這里需要編輯 Login Manager 的配置。
編輯 /etc/systemd/logind.conf
文件,修改如下:
#HandleLidSwitch=suspend
改成如下:
HandleLidSwitch=ignore
這樣就可以合上蓋子,安心的做一個「高配樹莓派」了。