傻瓜式教程:树莓派安装 ArchLinuxArm系统

时间:5年前   阅读:11473

为了在树莓派上使用 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分区界面后按下面步骤删除旧的分区表,并新建一个。

  1. 按 o 清除旧的分区表,并生成一个新的DOS分区表。可以通过按 p 可以查看现有分区,这时应该没有任何分区。

  2. 按 n > 回车 > 回车 > 回车 > +100M ,建立一个100M的主分区。

  3. 按 t > c ,将分区类型从 Linux 变为 W95 FAT32。

  4. 按 n > 回车 > 回车 > 回车 > 回车 ,将剩余的所有空间组成一个分区。

  5. 按 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

微信扫码关注

更新实时通知

上一篇:换行导致的python爬虫爬取的html错误

下一篇:Android MVVM 入门与实践教程

网友评论

请先 登录 再评论,若不是会员请先 注册