本文的所有步骤涉及环境皆是最新的Archlinux(2017年12月15日)。首先我们先在home目录新建一个raspi文件夹并用其作为我们这次的工作目录。

mkdir ~/raspi

准备

下载镜像

由于树莓派的CPU和手机一样,采用ARM指令集(我们日常使用的PC多使用x86指令集),所以我们需要下载其专用的系统镜像。说是系统镜像,其实也就是一个压缩包。

树莓派2对应镜像的下载链接为:

http://os.archlinuxarm.org/os/ArchLinuxARM-rpi-2-latest.tar.gz

树莓派3对应镜像的下载链接为:

http://os.archlinuxarm.org/os/ArchLinuxARM-rpi-3-latest.tar.gz`

后文皆以树莓派3为例。

cd ~/raspi
wget http://os.archlinuxarm.org/os/ArchLinuxARM-rpi-3-latest.tar.gz # 下载系统镜像

等待下载完成时我们可以另开一个终端进入下个步骤。

准备分区

Archlinux在树莓派上大致的启动流程是:

  1. 通电后cpu运行ROM中的固件,加载SD卡文件系统
  2. 运行SD卡中的引导器
  3. 引导器加载其它程序(操作系统内核等)

所以首先我们需要准备一张SD卡(2GB以上即可)。为其进行分区:

分区大小 文件系统格式 设备路径(由下图红框内得知) 说明
100MB fat16 /dev/sdc1 一个固件保证能识别的引导分区
全部剩余容量 ext4 /dev/sdc2 一个内核能识别的,好用的系统分区

sd_partitions

这一步建议在GUI下完成,因为方便。推荐工具GParted。shell下的分区教程网上也有一大把。

安装

挂载分区

经过上一步骤,我们得到了两个分区:fat16/dev/sdc1ext4/dev/sdc2(如果你的设备路径不同,则下文皆用你自己的替换掉)。我们将其挂载到工作目录的两个文件夹中。

cd ~/raspi
mkdir boot root
sudo mount /dev/sdc1 boot
sudo mount /dev/sdc2 root

写入系统

进行到这一步,之前系统镜像的下载应该已经完成了。现在将压缩包解压到root中

sudo bsdtar -xpf ArchLinuxARM-rpi-3-latest.tar.gz -C root
# 如果你找不到bsdtar,tar也是可以的
sync
# 这一步将会占用很长时间
# 那是因为Linux的文件写入,通常会先将文件缓存到内存里
# 然后在后台慢慢完成实际的写入工作
# 而这条sync命令则是强制马上完成所有写入工作
# 而考虑到镜像文件的大小,以及SD卡可怜的写入速度……

将引导部分移动到boot中

sudo mv root/boot/* boot
# 这里可能会报一堆异常,很正常,那是因为文件从ext4文件系统转移到fat16,会丢失一些不需要的文件属性信息

开机

取消SD卡两个分区的挂载

sudo umount boot root

将SD卡插入树莓派的卡槽中,连上必备的网线、电源线,以及其它可选的线,开机。

如果成功连接了显示器和USB键盘,稍等片刻就可以登录了,系统默认账户密码如下:

账户名 密码 权限 远程登录权限
alarm alarm 非root 可以
root root root 不可以

如果没有HDMI显示器,可以使用HDMI-VGA转接器连接VGA显示器。如果也没有VGA显示器,或没有USB键盘,我们可以通过家里的路由器查到树莓派分配到的IP,然后通过ssh远程登录到树莓派。

ssh alarm@树莓派的IP
# 例如 ssh alarm@192.168.123.1

此时首先我们要启用sudo命令以帮助alarm账户提权。

su # 登录到root账户,密码也是root
pacman -S sudo # 安装sudo
visudo # 去掉 # %wheel ALL=(ALL) ALL 最前面的#符号
# 保存退出
exit # 退出root账户
# 此时已可使用sudo命令
sudo pacman -Syu # 更新整个系统

其它

你可能已经注意到了,SD卡低速的IO使系统更新非常缓慢,你可以考虑将系统转移到USB设备中(如U盘或移动硬盘)。

其它系统优化可参照Archlinux使用笔记

发表评论

电子邮件地址不会被公开。 必填项已用*标注