最近由于嵌入式课程实验的缘故,老师给每位同学发了一块树莓派3b。由于玩得比较少,且现在物联网(IoT)发展速度较快,所以作一文探讨OS的选择与使用体验。
就是上面这货,不得不说开发板还是很小巧玲珑的。一个网线接口,四个USB2.0,一个标准HDMI,一个3.5mm耳机孔,一个TF卡插槽(在底部边缘),现在看来都是标准得甚至有点落伍的配置,还算是凑合。
接下来就是烧录OS。Linux下干这活挺简单,用dd就行。我们先插上TF卡, lsblk 看一下。
显示有/dev/sdc,一切正常。我们可以用
sudo dd if=镜像名.img of=/dev/sdc1 bs=4M status=progress conv=fsync
把指定镜像刻录到TF卡中。如果使用windows,用rufus这个小工具直接刻录即可。
接下来就是选择OS。现在有很多针对树莓派开发的IoT版OS,各有特点,不同OS的使用体验也天差地别,需要针对使用场景来进行选择。
Raspbian
下载地址:https://www.raspberrypi.org/downloads/raspbian/
树莓派官方搞的基于debian的OS,目前最新版本是debian 10(buster),一般来说选择Raspbian Buster with desktop就够用了,不需要with recommend software。
装好的效果如下图:
桌面很有XFCE的感觉,非常简洁,响应速度尚可。偶尔有鼠标图标刷新率不够导致掉帧的问题,也还可以接受。换个源搞搞配置之后就可以随便用了。如果想当个人PC,上个网写写简单代码什么的还可以。
Ubuntu Mate
下载地址:https://ubuntu-mate.org/download/
选择Raspberry Pi → 18.04.2(Bionic)。
装好的效果如下图:
初看跟传统的ubuntu没什么差别,但是很快就能体会到有个严重的问题:很卡,除了鼠标移动、键盘交互这种唤起中断的操作之外其他操作都非常卡。个人猜测性能瓶颈主要还是在TF卡IO上。很快我就没有再用下去了。
Ubuntu Core
下载地址:https://ubuntu.com/download/raspberry-pi-2-3-core
这个系统安装没什么可说的,关键是要去https://login.ubuntu.com/注册个账号并上传ssh公钥,因为装了这个系统之后就只能通过ssh登录了。
比较坑爹的是这个系统竟然没有apt……
Ubuntu Server
下载地址:https://ubuntu.com/download/raspberry-pi
这个系统比上面的要完善得多,只是没有桌面而已(挺好的)。如果想装桌面的话推荐XFCE,内存占用低且性能好。
sudo apt-get install xubuntu-desktop
图就不贴了。
Archlinux Arm
下载地址:https://mirrors.tuna.tsinghua.edu.cn/archlinuxarm/os/ArchLinuxARM-rpi-3-latest.tar.gz
Archlinux是我个人最喜欢的linux发行版,正好对大量的arm开发板作了适配,当然要尝试一下。
首先下载安装包。由于archlinuxarm的烧录方式与archlinux有所不同,不能直接dd,我们需要在下载的过程中插入TF卡并分区。
sudo fdisk /dev/sdc
删除所有分区并创建两个primary分区,一个大小为100M,另一个使用剩下空间。然后cd到镜像下载目录。
sudo mkfs.vfat /dev/sdc1 mkdir boot sudo mount /dev/sdc1 boot sudo mkfs.ext4 /dev/sdc2 mkdir root sudo mount /dev/sdc2 root
等待镜像下载完成后。
sudo bsdtar -xpf ArchLinuxARM-rpi-3-latest.tar.gz -C root mv root/boot/* boot sudo umount boot root
此时就可以拔出TF卡并启动系统了,默认的账号密码均为alarm。boot成功后进行如下操作:
su # 密码为root pacman-key --init pacman-key --populate archlinuxarm nano /etc/pacman.d/mirrorlist # 添加清华源 Server = http://mirrors.tuna.tsinghua.edu.cn/archlinuxarm/$arch/$repo # 保存 pacman -Syu
等待系统更新完成即可。
装好必要软件后占用非常可观,然而也有一点问题。用x86版本archlinux时现在少见的滚挂现象在我第一次装好archlinuxarm时就遇到了,被迫重装系统。
Windows 10 for IoT
此系统需要在windows下操作。
下载地址:https://docs.microsoft.com/en-us/windows/iot-core/downloads
直接下载Windows 10 IoT Core Dashboard即可,操作非常傻瓜。好像现在微软很喜欢把工具傻瓜化,对于windows用户来说十分方便。也可以在网页下方直接下载ISO,再利用visual studio来安装。
不过我在实际boot过程中并没有成功,提示0x000014c错误,遂google之。发现是TF卡太大(64g)导致的错误,还意外得知这系统居然是32位的……等有空再试了。