为了在树莓派上使用 ArchLinuxArm 需要花些功夫,如果对 Linux 不是特别熟练的话推荐还是使用官方的 Raspbian 系统。
安装 ArchLinuxArm 必须在 Linux 系统下进行,如果你使用 macOS/Windows,可以通过安装 VirtualBox 再在 VirtualBox 中安装虚拟机来对内存卡操作。
安装 VirtualBox
VirtualBox 官方下载链接:https://www.virtualbox.org/wiki/Downloads
国内清华大学镜像站点下载:https://mirror.tuna.tsinghua.edu.cn/help/virtualbox/
推荐使用清华大学的镜像下载,速度会快非常多。下载完成之后安装即可,安装比较简单,一路确定即可。
在 VirtualBox 中安装 CentOS7
我安装 CentOS 的目的就是为了给内存卡装系统,所以安装 Minimal 版本就可以了。
CentOS7 Minimal 下载链接:http://isoredirect.centos.org/centos/7/isos/x86_64/
推荐选择下载链接中的阿里云镜像,速度比较快。
下载完镜像后,打开VirtualBox,点击新建,名称CentOS7,版本选择 Other Linux(64-bit),之后分配内存,创建虚拟硬盘(动态分配,8G)。
点击启动,选择刚刚下载的 iso 镜像,然后启动,启动之后,选择屏幕上的第一项 Install CentOS 7,之后进入安装系统页面,这里注意几个地方:1. 在网络和主机名中打开以太网,2. 设置 root 密码。进度条跑完之后点击重启。(话说既然都准备在树莓派上装 Arch 了,这些东西应该已经没啥问题了吧。)
添加扩展以支持虚拟机读取连接到电脑的读卡器。
打开 VirtualBox 扩展页面:https://download.virtualbox.org/virtualbox/。选择和你安装的客户端一样的版本号,下载文件名为 Oracle_VM_VirtualBox_Extension_Pack-<version>.vbox-extpack
的扩展包,在 VirtualBox 设置的扩展设置中添加,之后重启 VirtualBox。
本地 ssh 连接虚拟机(可选)
为了让我们的电脑可以通过 ssh 连接虚拟机,还需要做些配置。如果嫌麻烦跳过直接在虚拟机操作也行,我主要是因为嫌弃虚拟机操作体验割裂还有字体的不适应。
macOS:
如果你像我一样 mac 是通过 Wi-Fi 连接网络的,就这么设置。点击菜单栏的管理,进入主机网络管理器,点击创建,保持默认就行,然后保存关闭。
在虚拟机的网络页面,启用网卡2,添加仅主机(Host-Only)网络,选择刚才创建的那个网络。
Windows:
在虚拟机的网络页面,启用网卡2,添加仅主机(Host-Only)网络,可能会碰上驱动问题,我这里没有 Windows 设备就不做测试了。
之后重启虚拟机,执行 ip addr
命令,记录下 IP 地址,一般应该是 192.168.56.xxx。
现在就可以通过 ssh root@192.168.56.xxx
连接虚拟机进行之后的安装操作了。
安装 ArchLinuxArm
以下操作均在虚拟机中进行。
使用 fdisk -l
查看 sd 卡的符号,应该是 /dev/sdX
而非 /dev/sdX1
类似的。在我这是 /dev/sda
。
使用 fdsik 对 sd 卡进行分区:fdisk /dev/sdX
。
进入fdisk分区界面后按下面步骤删除旧的分区表,并新建一个。
按 o 清除旧的分区表,并生成一个新的DOS分区表。可以通过按 p 可以查看现有分区,这时应该没有任何分区。
按 n > 回车 > 回车 > 回车 > +100M ,建立一个100M的主分区。
按 t > c ,将分区类型从 Linux 变为 W95 FAT32。
按 n > 回车 > 回车 > 回车 > 回车 ,将剩余的所有空间组成一个分区。
按 w,保存分区表并退出。
将 sd 卡中的分区格式化并挂载,需要现在虚拟机中安装相关支持:yum install e4fsprogs
,之后执行:
mkfs.vfat /dev/sdX1 mkdir boot mount /dev/sdX1 boot mkfs.ext4 /dev/sdX2 mkdir root mount /dev/sdX2 root
之后把系统写入内存卡。官方镜像站地址为:http://os.archlinuxarm.org/os/rpi,但下载速度极慢,建议把下载地址替换为中科大的镜像,镜像地址:http://mirrors.ustc.edu.cn/archlinuxarm/os/rpi。以下命令中网址请自行更换为你获取到的对应系统的地址,这里不要下载,因为折腾电脑和虚拟机的文件同步不如命令行直接 wget。
如果你手上的树莓派是 2b 及以上版本,需要先编译 libarchive,因为系统文件必须在 bsdtar3.3+ 版本中才能正确解压。过程中可能需要补齐一些依赖库,自行安装吧,大概就是 gcc zlib 之类的。libarchive 地址:https://github.com/libarchive/libarchive,编译命令:
wget https://github.com/libarchive/libarchive/archive/v3.3.2.tar.gz tar xf v3.3.2.tar.gz cd libarchive-3.3.2 cmake . make -j2
编译成功后,libarchive-3.3.2 下的 bin 目录有可执行文件 bsdtar,后续使用时 bsdtar 命令记得替换为该可执行文件。
开始写入系统。
针对rp 2b 及以上版本
wget http://mirrors.ustc.edu.cn/archlinuxarm/os/rpi/ArchLinuxARM-rpi-2-latest.tar.gz bsdtar -xpf ArchLinuxARM-rpi-2-latest.tar.gz -C root sync mv root/boot/* boot sync
针对rp b+
wget http://mirrors.ustc.edu.cn/archlinuxarm/os/rpi/ArchLinuxARM-rpi-latest.tar.gz tar -xf ArchLinuxARM-rpi-latest.tar.gz -C root sync mv root/boot/* boot sync
之后执行:
umount boot root
现在将 sd 卡插入树莓派中启动电源就可以启动 ArchLinuxArm 了。这里使用 ssh 进行连接。初始的用户名和密码都是 alarm,root 密码为 root,通过查询路由器后台得到树莓派的地址为 192.168.2.110,就可以通过ssh命令连接树莓派了。
对 Arch 的后续操作
安装系统之后,进行一些简单的初始化操作。
更改软件源
在 etc/pacman.d/mirrorlist
文件头部添加如下任一源:
# 清华 Server = http://mirrors.tuna.tsinghua.edu.cn/archlinuxarm/$arch/$repo # 中科大 Server = http://mirrors.ustc.edu.cn/archlinuxarm/$arch/$repo
之后初始化 keyring 和更新软件及安装 sudo:
su pacman-key --init pacman-key --populate archlinuxarm pacman -Syy pacman -Syu pacman -S sudo
用户管理及 SSH 配置部分略去
设置时区
在 ~/.profile
(默认不存在)末尾添加行 TZ='Asia/Shanghai'; export TZ
。
中文支持
编辑 /etc/locale.gen
文件来设定系统中可以使用的 locale(取消对应项前的注释符号「#」即可):
en_US.UTF-8 UTF-8 zh_CN.UTF-8 UTF-8
之后执行 locale-gen
命令,便可以在系统中使用这些locale。可以通过 locale
命令来查看当前使用的 locale:亦可通过 locale -a
命令来查看目前可以使用的locale。
编辑用户配置文件:
$ nano .bashrc
在末尾添加:
export.UTF-8
激活配置:
$ source .bashrc
至此,ArchLinuxArm 的安装完成了:
[lakor@alarm ~]$ screenfetch -` .o+` lakor@alarm `ooo/ OS: Arch Linux `+oooo: Kernel: aarch64 Linux 5.3.6-1-ARCH `+oooooo: Uptime: 1h 1m -+oooooo+: Packages: 208 `/:-:++oooo+: Shell: bash 5.0.11 `/++++/+++++++: Disk: 2.0G / 29G (8%) `/++++++++++++++: CPU: Unknown @ 4x 1.2GHz `/+++ooooooooooooo/` RAM: 104MiB / 901MiB ./ooosssso++osssssso+` .oossssso-````/ossssss+` -osssssso. :ssssssso. :osssssss/ osssso+++. /ossssssss/ +ssssooo/- `/ossssso+/:- -:/+osssso+- `+sso+:-` `.-/+oso: `++:. `-/+/ .` `/ [lakor@alarm ~]$
Enjoy~
版权声明:本文为期权记的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://www.qiquanji.com/post/4628.html
微信扫码关注
更新实时通知