Appearance
开发板折腾
我第一次正式接触电脑,大概是初二的时候为了能够在线看小说所以买了一个老旧的树莓派 2b 和 3。工作之后遇上了树莓派涨价又降价,降价后又买了树莓派 4b 8g 版本,部署了一大堆程序
目前树莓派整体生态感觉已江郎才尽,没有继续折腾的价值了。最新的 rpi5 只有还是 4 核 a76,只有 8g 内存,pcie2.0x1。早就有的 rk3588 则是 4 核 a76+4 核 a55+6T 的 NPU,32G 内存、一个 3.0x4 的 m2 和一个 2.0x1 的 wifi(也是 m2)、两个 2.5g pcie 网卡、3 个视频输入,一个 hdmi in。功能强大了非常多
所以目前购入了一个 32g 的香橙派来玩玩(比较便宜能买到 32g 内存的)
Raspberry 4B
由于树莓派优秀的生态,我折腾了很多系统,尤其是有了 uefi 支持以后。debian12、arm win10 和 win11、ESXi Flint 和 RHEL ARM。目前是使用 rhel9+docker 模式部署应用,部分自己的应用则是编写了启动脚本后裸机部署
由于树莓派没有什么 IO,所以我买了一个 USB 转 SATA M.2 硬盘的转接板。然后把一个旧的硬盘塞了上去。虽然说没什么卵用吧,就当圆了我曾经的梦想
系统说明
由于树莓派成了开发板的事实标准,所以大部分系统都优先适配了它。因此,我们也可以借树莓派为跳板来玩很多的系统
我大概尝试了三种不同的系统吧,基于 Debian 的原生系统、带有正版(开发者)ARM 版本的 RHEL 和专门用于虚拟化的 ESXi,并在里头装了 win11
整体来说我选择还是使用 RHEL 作为日用系统,因为我并不喜欢加了太多料的官方系统,当时也并不需要 GPIO 和 CSI 等接口。ESXi 则有一个巨大的问题,且不说 4 核 A72 的那个打不过电视盒子的性能,8g 内存也得先被 ESXi 自己占用 1G,之后也就没剩下多少内存了。不仅没有得到灵活拆分的扩展性,连承受负载的能力都没了
而 RHEL 则是我之前未曾接触的系统,而整体使用下来,新版的 RHEL 在自动维护和稳定性方面还是非常不错的
树莓派官方系统
作为树莓派的官方系统,Raspberry OS 是每个使用树莓派的用户的离不开的,尤其是一些特殊的配置只能在官方系统上做。首先到官网上下载好镜像,然后用官方的写入软件或者是如 rufus 等写 iso 软件把镜像写到 SD 卡里,插上后开机即可
如果选择 SD 卡装系统,最好是满足 U3A2 标准,这样性能才有保障,我比较推荐京造麒麟,性能测评算不错的。如果和我一样只是用来启动 UEFI 的,那就买个小容量监控卡就行
更新 EEPROM
这个是树莓派的启动程序,最好还是在树莓派上更新
bash
sudo apt-get update # 更新软件源信息
sudo apt-get upgrade -y # 升级所有的软件
sudo apt-get rpt-eeprom-update -a # 更新EEPROM
sudo apt-get reboot # 重启应用更改
好了,我基本就没折腾更多东西了
UEFI
需要使用https://github.com/raspberrypi/firmware 和 https://github.com/pftf/RPi4
大致步骤(以我的 4GB 树莓派 4 为例,已通过前面的步骤更新过 EEPROM):
- 下载最新的 raspberrypi firmware 并解压成
- 下载最新的 RPi4 UEFI firmware (当前 1.20)并解压成 RPi4_UEFI_Firmware 文件夹
- 将存储卡格式化成 fat32
- 删除掉 firmware-master/boot 目录下所有的 带 kernel 的 img 文件,并将整个 boot 文件夹剩下的文件复制到格式化好的存储卡里
- 复制 RPi4_UEFI_Firmware_v1.20 目录下所有文件到存储卡。记得覆盖
然后插上 SD 卡,如果能看到这个界面就算成功了。不过版本升级也可能会有变动
Debian
官方下载地址: https://www.debian.org/distrib 我没在上面找到 arm 版本的下载地址。可以去镜像站点找国内的,然后找到 arm64 版本的 DVD ISO
先来安装个 debian 试手一下吧,和电脑装系统一样简单。不过由于这时候 SD 卡被 UEFI 固件占用了,所以需要准备两个 U 盘,一个用来做系统系统盘(移动硬盘也行),一个用来装系统
安装的过程就直接跳过了
ESXi
官方下载地址: https://customerconnect.vmware.com/downloads/get-download?downloadGroup=ESXI-ARM 虽然只有 ESXi 7.0 但是要什么自行车
没什么好说的,不要怂,直接一把梭哈就完事了。可以体验一下虚拟化是什么感觉,然后再在里头套娃一个 win arm 版本。win10 win11 其实都可以,我会推荐 win10 多一些,资源的消耗会低不少
三台虚拟化节点合影,中下的那个是树莓派上的 ESXi
RHEL
这个就自行前往官网去摸索和下载吧。注意要下最新版,之前的 9.2 版本似乎没有无线网卡驱动,9.3 和之后的就有了
香橙派 5 Plus
由于这个玩意的 IO 相比树莓派强太多了,因此在考虑玩点花的
目前考虑通过 TF 卡的 UEFI(spi flash 好像也行?)启动系统,emmc 直通玩或者当 hypervistor 的系统盘,M2 接入 2T 的 P41 做存储空间。两个 2.5G 的网卡则是做 bond
软件方面考虑需要调用 gpu(游戏加速)和 npu(图像识别或者 llm?) ,可能无法直接使用 esxi,而是使用 qemu 或者国内编译的 pve arm 版。似乎 pve 可以使用 sysfsdev 来直通 npu,不确定可靠性
2024-01-16 有霉逼买了个一月后才能发货的期货,我不说是谁。2024-03-02 意外的到了,真的遥遥无期啊
额外考虑加装的内容
- MC 服务器: 懂的都懂,虽然半年不玩了
- onlyoffice: 似乎也没什么用
- Space: 内存消耗大户再现?
- TeamCity: 有必要专门搞一个 cicd 服务器吗?
- 本地存储数据库?: mysql 和其他?
稍微有点意义不明
折腾前的准备
简单介绍一下瑞芯微的这个 3588 吧,8nm 工艺,搭载四核 A76+四核 A55 的八核 CPU 高性能 GPU,内置 6T 算力的 NPU、一个 PCIe3.0x4 的通道和三个 SATA/PCIe2.0x1 复通的通道。USB、emmc 之类的没前途的东西我就不说了
然后 3588 的 CPU 分配是 A53 四个核一个簇(0-3),A76 两个核一个簇(4-5,6-7)。和 Intel 的大核在前正好相反,这样理论上性能有问题,因为很多任务是写死 CPU0 的
折腾 3588 前需要预先准备一些东西
- SD 卡、EMMC、固态 U 盘,NVME。用来装系统,最好有 NVME
- 一个至少能输出 5V3A 的充电器,C 口输出
- USB3.0 的拓展坞,最好能同时兼容 A 口和 C 口,用来避免兼容问题
- 购买一个主动的散热器或者是带散热器的外壳,被动散热对于动不动 10W 的散热器完全压不住
香橙派的硬件
香橙派 5 plus 对 3588 的通道分配我认为是非常合理的,3.0x4 的是给 M.2 用的,然后三个 2.0x1 分别给了无线网卡和两个 2.5g 网卡。有三个 HDMI 接口,一个可以输入做采集用,剩下的两个其中一个可以输出 8K,一个可以输出 4K。有两个 USB 2.0,两个 USB 3.0 A 口和一个 USB 3.0 C 口(带 DP 显示输出),甚至还有红外接收器!。这个扩展砍掉一半都把树莓派 5 按在地上反复摩擦
但是也不是没有不好的地方,比如说供电是直接走的 5V4A,没有 PD,这也就导致了需要采用非快充的充电头,否则有可能握手有问题。当然,用了 PD 的 Rock 5b 也有问题,各有各的好吧
意料之外的问题
- 3588 是真的热啊,虽然说听上去也就 10w 左右的发热,压起来轻轻松松。但是根据我的测试结果,也需要一个正规的散热器。像是那种塞一个 1cm 厚的导热垫的散热器很容易温度就室温+50 度,在室温 28 度下直接就会直接过热。好在有个南桥的散热器空位,可以用哪个
- 我抽到的这个处理器也是真的霉逼,rk3588 号称大核能 2400mhz,但是实际上工艺水平不稳定,瑞芯微用的是 rvtm 管理实际频率,分为(0-7,对应 2256-2400MHz),我这两个核的簇只有 3-4,算是大雷。也许换了散热器后可以尝试超频
- 各个系统对于设备的适配不一致,很有可能你的系统没有 USB2.0/3.0 的驱动,这就有个巨大的问题。可能你的键鼠需要接入一个 USB3.0 的拓展坞,或者是 USB 固态只有 2.0 的速度
硬盘读取测试,win 下是找的测试,linux 下是用的 fio。arm 机器 4K 多线程随机写入的参数是 Q32T4,再高就会无法写入,不确定具体原因。但是实际也能跑满 3.0x4 的带宽,750k IOPS。即使是过热了也有 300k IOPS
项目(MB/S) | X64 读 | X64 写 | ARM 读 | ARM 写 | 备注 |
---|---|---|---|---|---|
SEQ1M Q8T1 | 7127 | 6744 | 3151 | 3072 | |
SEQ128K Q32T1 | 7131 | 6763 | 3148 | 3049 | |
RND4K Q32T16 | 5842 | 2018 | 2858 | 2618 | arm 为 q32t4 |
RND4K Q1T1 | 68 | 335 | 47 | 231 |