以前低价收到一个三星的 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
这样就能够合上盖子,安心的作一个「高配树莓派」了。