以前低價收到一個三星的 Chromebook,型號是 XE303C12。這幾天想把它的系統改爲 Linux,畢竟 ChromeOS 上的應用太少了。由於這個本子的 CPU 是 ARM 芯片,因此網上的資料少點,並且內核都是用谷歌提供的 3.8 版本的內核,只看到 ArchLinux 上有 4.16 版本的內核,因此決定安裝 ArchLinux。linux
<!--more-->chrome
簡介
這個 Chromebook 的配置,至少比同價位的買的樹莓派的配置高的多了。shell
安裝到 U 盤
首先本子目前是 ChromeOS,若是你想安裝成 Linux 的話,先要把 Linux 安裝到 U 盤,全部先準備一個 U 盤插入到 Chromebook 上。網絡
開發者模式
關機,在開機的時候按住 ESC + Refresh + Power 三個鍵。在 Recovery 界面按 Ctrl + D,而後就會提示按 Enter 開啓開發者模式。less
外部啓動
爲了後面的從 U 盤啓動,這裏先要開啓從外部啓動。當你開啓了開發者模式後,進入到系統,而後按 Ctrl + Alt + T 就會打開一個終端,敲 shell
就能進入 Bash,而後 sudo su
獲取 root 權限。開啓外部啓動:ssh
crossystem dev_boot_usb=1 dev_boot_signed_only=0
重啓後就能生效,你重啓後能夠敲 crossystem
驗證以前的設置是否是成功了。post
製做啓動盤
這裏我用 U 盤作啓動盤,安裝方法參考官方給的教程。fetch
安裝到系統
上面的步驟還保留了 ChromeOS,Linux 只是安裝到 U 盤而已,我要把 ChromeOS 完全替換成 ArchLinux,還要把 ArchLinux 安裝到系統盤上。也就是 mmcblk0。由於 ArchLinux 沒有 cgpt
命令,還要自行安裝。spa
pacman -S cgpt
把安裝到 U 盤的教程中的 /dev/sda
替換成 mmcblk0
,把 /dev/sda1
替換成 mmcblk0p1
,把 /dev/sda2
替換成 mmcblk0p2
。關機,拔下 U 盤,啓動就能夠進入 ArchLinux 了。code
更新
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
這樣就能夠合上蓋子,安心的作一個「高配樹莓派」了。