ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

飞腾派多系统实测:Ubuntu、OpenKylin与RT-Thread安装对比与选型指南

飞腾派多系统实测:Ubuntu、OpenKylin与RT-Thread安装对比与选型指南 飞腾派这块板子我在它刚放出工程样板消息的时候就盯上了。不是因为参数有多炸裂而是它用的飞腾腾锐 E2000 平台本身就是冲着嵌入式场景去的官方又一直在强调系统兼容性。我拿到手之后的第一件事就是把手头能想到的主流系统挨个装一遍。这篇文章就是我在 Ubuntu、OpenKylin、RT-Thread 这三套系统上的实际安装记录和体验对比包括镜像获取、烧录步骤、启动过程、遇到的问题以及最后的选型建议全部按我的实际操作过一遍。希望能给刚入手飞腾派的同好节省一点挨坑的时间。这篇东西适合谁看适合刚拿到飞腾派、还不知道装什么系统的玩家也适合已经在用、但想试试轻量桌面和 RTOS 的开发人员。如果你以前只玩过树莓派或者普通 ARM 板子也可以把这篇当成一份飞腾派的多系统上手指南。如果你只想拿它当日常小主机Ubuntu 和 OpenKylin 的体验对比正好是你需要的内容。如果你是做嵌入式控制的第五章的 RT-Thread 实战部分值得重点看里面有一个 u8g2 驱动 OLED 屏幕的完整过程。1. 飞腾派是一块什么样的板子1.1 硬件底子E2000 平台能干什么我手上的飞腾派是 4GB 内存版本。它的核心是飞腾腾锐 E2000Q四核 Cortex-A53 架构主频 2.0GHz。这套组合放在开发板里不算账面惊艳但属于非常稳的区间关键是它对主流系统都有完整适配不用像某些偏门板卡一样到处找驱动、补内核补丁。对大多数开发场景来说性能完全是够用的。接口方面飞腾派板载了千兆以太网、HDMI 输出、USB 3.0、40Pin GPIO、音频接口和调试串口。存储上同时支持板载 eMMC 和 TF 卡我这次全部测试都走 TF 卡启动原因后面会细说。板子尺寸和树莓派 4 接近但接口布局完全不同散热片建议到手就装。A53 四核虽然不像桌面 CPU 那样严重发热但长时间编译任务还是会有明显热量积累尤其夏天室温高的时候。1.2 为什么我把三套不同“物种”的系统塞进同一块板子一开始我自己也觉得奇怪Linux 桌面发行版和 RTOS 完全是两个维度的东西怎么能放在一起横向对比但飞腾派的定位恰好就是这种“通吃”路线它既能跑完整桌面系统当迷你主机也能作为嵌入式控制器跑实时系统。这种属性让飞腾派成了非常适合做多系统对比的平台。我选 Ubuntu、OpenKylin、RT-Thread 的原因很直接Ubuntu 是国外发行版里生态最完整的代表OpenKylin 是面向中文环境的开源 Linux 发行版RT-Thread 则是文档和组件都很完善的开源实时操作系统。三套系统分别对应“通用桌面”“本地化桌面”“实时嵌入式”三个典型方向。完整跑完一遍之后你基本就能判断飞腾派适合拿来做什么不适合做什么避免被网上零零散散的评价带偏。2. 开工前的材料准备与系统规划2.1 需要的硬件和软件清单先列一下我这次用的东西避免你到时候缺这个少那个飞腾派开发板4GB 内存版本原装电源32GB TF 卡两张速度规格至少 A1 以上我用的是 V30 规格USB 键鼠套装、HDMI 线、显示器USB 转 TTL 串口模块和杜邦线RT-Thread 调试必须要用读卡器一台装了 Windows 或 Linux 的电脑软件这边我准备了 balenaEtcher 烧录工具、Xshell 或者任意 SSH 客户端、MobaXterm 作为串口终端工具。对于串口调试MobaXterm 自带串口会话管理比单独再装一个 SecureCRT 方便不少。这里特别注意一点TF 卡一定要多准备两张。反复烧录对 TF 卡的寿命和稳定性消耗很大我用坏过一张杂牌卡坏之前毫无征兆直接导致系统跑到一半卡死后来全部换成正规品牌卡问题明显少了很多。2.2 镜像获取和烧录工具选择镜像去哪下飞腾官方开发者社区和 OpenKylin 官网都能找到对应文件。下载时一定要看清楚版本注明的是“飞腾派”或者“E2000”适配版不要图省事直接下通用 ARM 镜像。通用镜像在启动阶段往往缺少设备树和驱动很容易卡在一个黑屏界面上只能重新烧录。烧录工具我推荐 balenaEtcher逻辑很简单选镜像、选 TF 卡、点 Flash烧完还会自动校验一遍基本不会出错。你在 Windows 上也可以用 Rufus但烧镜像文件时必须选择直接写入而不是 ISO 模式否则会出现无法启动的情况。Linux 下用 dd 命令也行但新手不推荐因为稍不注意就会把块设备的盘符写错宿主机整块硬盘直接被覆盖的教训我在社区里见过不止一次。2.3 分区与多系统引导的思路飞腾派支持从 TF 卡启动也支持从板载 eMMC 启动。我这次所有系统都放在 TF 卡上切换系统最直接的方式就是换卡。有人问能不能把三个系统塞进一张卡里用引导菜单选择理论上可以但不同系统的分区格式差异很大RT-Thread 往往也不是标准的分区引导结构折腾引导的收益很低。我实测下来最稳的方案就是“一卡一系统”换来换去也就十秒钟的事。如果你想同时维护两个系统我建议这样规划TF 卡放一个系统eMMC 放另一个通过板上的启动拨码开关切换。这个方案不需要修改任何系统文件逻辑清晰也不会出现引导程序互相覆盖的问题。这次我先讲 Ubuntu 和 OpenKylin 各自单独刷卡的流程第五节最后再回到这套组合建议。3. Ubuntu 系统安装实测3.1 Ubuntu 镜像烧录与首次启动Ubuntu 镜像下载回来后是个压缩包解压后得到一个 .img 文件。打开 balenaEtcher选中镜像、选中 TF 卡、点击 Flash等进度条跑完Windows 可能会弹窗提示“需要使用格式化”这时候千万别点格式化就把启动分区清掉了。直接拔出卡片插到飞腾派上。首次启动速度很快从按下电源键到看到登录界面大概十几秒。默认账号密码在官方文档里有说明我第一次没看文档试了好几个组合才进系统白白浪费了几分钟。进去之后第一件事就是打开终端执行 uname -a看到 aarch64 字样才算放心说明内核和用户态架构正确识别。3.2 系统设置、软件源与中文输入法Ubuntu 镜像默认的软件源在海外下载速度非常不稳定所以进系统后的第一件事就是换源。我一般把源换成华为云或者清华的镜像源注意对应 Ubuntu 版本代号否则 apt 会报错。这里重点提醒一句飞腾派是 aarch64 架构源列表里不要混入 amd64 组件否则一部分软件能装一部分装不上排查起来非常头疼。换完源之后先跑一遍完整的 apt update 和 apt upgrade让系统处于最新状态。然后处理中文输入法。官方镜像默认很可能没有预装中文输入法我用的是 fcitx5 加中文拼音引擎。安装完成后不需要急着配置注销重新登录在输入法框架里添加拼音即可按 Ctrl Space 切换中英文。这一步其实和 PC 上装 Ubuntu 的流程一模一样没有特殊坑。3.3 桌面流畅度和任务实测Ubuntu 桌面默认走的是轻量级桌面环境实际跑起来非常流畅。我同时打开浏览器、文件管理器和一个代码编辑器内存占用大概在 1.2GB 左右4GB 版本没有任何压力。CPU 调度也比较积极轻负载时频率会自动降下来发热量和风扇需求都不大。随手做了一项实际测试用 apt 安装 Docker然后跑一个 Nginx 容器。aarch64 架构的 Docker 镜像数量没有 x86 那么多但常用开发镜像基本都有。跑起来之后测试网络板载千兆网口在没有交换机限速的情况下实测下载速度能跑满家庭宽带带宽。SSH 连接也很稳定我后续基本都通过 Xshell 远程登录操作比一直插着显示器和键鼠省事很多。如果你想把这个板子当作分布式集群里的低功耗节点用Ubuntu 版本是最合适的基础系统。4. OpenKylin 系统安装实测4.1 OpenKylin 的安装过程OpenKylin 的适配镜像同样可以在官网下载到烧录流程和 Ubuntu 完全一致。它也是一个 .img 文件用 balenaEtcher 写入 TF 卡。首次启动后会进入初始化向导可以选择语言、创建用户、连接网络整个过程比 Ubuntu 的首次配置更接近“智能手机开箱”的体验一步一步来就行。这一版默认桌面基于 UKUI 3.x视觉风格和传统 Windows 很像开始菜单、任务栏、系统托盘、控制中心全都有。第一次进入桌面你会产生一个非常强烈的感觉这不像开发板系统这就是一个桌面发行版。对刚从 Windows 环境切过来的人几乎没有学习成本。4.2 本地化体验和软件中心OpenKylin 做得好的是中文场景的打磨。系统默认就是中文界面字体渲染清晰输入法开箱即用不需要额外配置。我装完系统之后直接用它登录网页版文档、看视频、处理日常事务整体体验和普通办公电脑差距不大。软件中心是 OpenKylin 的特色里面集成了不少日常软件按分类浏览很直观。不过数量确实没法跟 Ubuntu 的 apt 官方仓库比很多常用开发工具需要自己切到终端用 apt 安装或者去软件官网找 aarch64 版本的包。我在安装一个开发工具时遇到过没有预编译包的情况最后只能下载源码手动编译编译依赖也花了一点时间。4.3 和 Ubuntu 对比OpenKylin 到底输在哪坦白讲OpenKylin 的桌面体验和 Ubuntu 差距没有想象中巨大但有几个短板很现实。第一是软件源的包版本更新频率不如 Ubuntu部分工具链版本偏旧对追新用户不友好。第二是默认桌面虽然视觉效果更好但内存占用明显更高实测开机内存占用比 Ubuntu 的轻量桌面高 200MB 左右如果只有 2GB 内存版本这一点可能比较明显。第三是部分开发软件对 aarch64 的官方支持还不完善经常需要自己处理依赖。但反过来说如果不做深度嵌入式开发只是想用飞腾派当一台中文小电脑OpenKylin 的体验是三套系统里最省心的。我把它插在客厅显示器上家里人也能无脑使用不需要教任何 Linux 命令。对一块开发板来说能把“开箱即用”做到这个程度已经很不错了。5. RT-Thread 系统安装与开发实测5.1 为什么要在开发板上跑 RTOS看到这里你可能会问飞腾派都已经能跑完整 Linux 桌面了为什么还要折腾 RT-Thread答案是 Linux 不是实时系统它的任务调度、中断响应存在不确定性。当你准备做电机控制、传感器采集、通信网关这类对时延敏感的场景时RTOS 才是正确选择因为任务切换和中断响应时间是可预测的微秒级别的差异在很多工业场景中直接影响产品成败。RT-Thread 是一个发展很快的开源实时操作系统组件生态非常全。飞腾官方生态库和 RT-Thread 仓库里都有对应的 BSP下载源码后编译就能把 RT-Thread 跑在飞腾派的 A53 核心上。这一套对于工程师来说尤其有价值前期在 Ubuntu 上交叉编译、调试业务逻辑后期把同样的硬件切换到 RT-Thread 跑正式程序一套硬件两套方案灵活性非常高。5.2 搭建编译环境与生成固件编译 RT-Thread 需要 ARM64 交叉编译工具链。我是在电脑上的 Ubuntu 虚拟机里操作的直接通过 apt 安装 gcc-aarch64-linux-gnu。然后在 RT-Thread 源码的 bsp 目录下找到飞腾派对应的工程目录这个目录里已经有完整的 board 配置和链接脚本。编一个嵌入式项目没有纯 PC 项目那种复杂依赖操作流程大致是先执行 scons --menuconfig 配置组件和驱动再执行 scons -j4 开始编译。如果菜单配置正确最终会生成一个 bin 格式的固件体积通常只有几百 KB。对比 Linux 镜像动辄几 GB 的大小你会直观感受到这两个“系统”的路线差异有多大。5.3 烧录、串口启动和 FinSH 操作RT-Thread 固件的烧录方式和 Linux 镜像完全不同它不依赖 TF 卡分区而是通过飞腾派上的调试串口和专用烧录工具写入。我用 USB 转 TTL 模块连接板子的串口调试接口用杜邦线把 TX、RX、GND 接好打开 MobaXterm 创建串口会话波特率设置为 115200和 BSP 文档保持一致。上电后串口终端会立刻刷出 RT-Thread 的启动日志。从时钟初始化到内存初始化再到设备驱动注册一层层打印出来和单片机开发的体验非常接近。启动完成后进入 FinSH 控制台这是 RT-Thread 的交互式 shell直接输入 list_device 就能查看所有设备节点输入 list_thread 能看到当前线程状态。我在这个环节跑了一个简单的心跳灯线程用定时器控制 GPIO 翻转观察串口日志和板载 LED 的节奏是否一致。相比 Linux 下创建线程要写一堆代码RT-Thread 里只需要定义一个线程入口函数再调用 rt_thread_create 和 rt_thread_startup 就能跑起来整个过程直白且透明。5.4 用 u8g2 驱动 OLED 屏的实战分享一个具体案例通过 RT-Thread 的 u8g2 软件包驱动 0.96 寸 OLED 屏。u8g2 是一个单色图形库支持 SSD1306、SH1106 等大量屏幕控制器在 RT-Thread 软件包中心里可以直接搜索添加非常方便。软件包添加完成之后需要在 menuconfig 里开启 I2C 设备驱动然后从飞腾派 40Pin GPIO 引出 SCL 和 SDA 两根线接到 OLED 屏对应的接口。代码初始化的关键步骤是把 u8g2 库和 I2C 总线绑定调用 u8g2_Setup_ssd1306_i2c_128x64_noname_f 完成屏幕配置接着在主循环里依次调用 u8g2_ClearBuffer、u8g2_DrawStr、u8g2_SendBuffer 刷新画面。整个流程跑通之后屏幕上就能稳定显示自定义文本和简单图形。这块还有一个细节值得说u8g2 的软件包通常自带示例代码但不同开发板的 I2C 引脚编号不一样套用示例前必须确认引脚复用配置否则屏幕大概率只亮背光而不显示内容。引脚对不上时别急着怀疑屏幕和库先用逻辑分析仪看看 I2C 总线上有没有波形再回头排查软件配置。6. 三套系统横向对比与选型建议6.1 对比表格可以直接抄作业下面这张表是我在同一块飞腾派上实测整理的对比结果可以当作选型参考维度UbuntuOpenKylinRT-Thread系统类型Linux 桌面发行版Linux 桌面发行版实时操作系统RTOS启动方式TF 卡 / eMMCTF 卡 / eMMC串口烧录 / 专用烧录工具桌面环境轻量桌面UKUI无图形界面串口控制台开机内存占用约 700MB约 950MB几十 KB 到几百 KB软件生态非常丰富apt 仓库完善常用软件不少总量偏少面向嵌入式组件极多中文输入法需要自行配置默认内置不适用实时性不具备不具备微秒级中断响应适用场景开发调试、迷你主机、容器桌面办公、家庭休闲使用工业控制、数据采集、设备接入内存占用和数据基于 4GB 版本实测不同版本和不同更新状态下会有一点浮动但整体的数量级不会有变化。RT-Thread 的“内存占用”和 Linux 的内存占用不是一个概念它没有完整的进程虚拟内存体系所以直接对比数值意义不大放在表格里只是为了让你直观理解两者不是一个物种。6.2 不同场景怎么选如果你准备把飞腾派当开发机用跑编译、跑 Docker、调代码优先选 Ubuntu软件匹配度和社区答疑资源都最多。如果你要把它放在客厅或者家里当一台中文小电脑用选 OpenKylin开箱即用的体验最好。如果你要做实际硬件项目控制电机、采集传感器、做通信协议对接直接上 RT-Thread。另外三套系统不冲突。我目前的最终方案是eMMC 刷 Ubuntu 常驻用来做日常开发和交叉编译TF 卡里保存 RT-Thread 固件需要做硬件调试时换上卡即可。OpenKylin 则作为备用系统偶尔想要一个更省心的桌面环境时再刷进去。整个过程下来飞腾派在我这边的角色从“一台 Linux 小主机”变成了“一个多面手开发平台”这也是这块板子最吸引我的地方。7. 实操避坑记录7.1 烧录总失败先查 SD 卡和读卡器我前两次烧录 Ubuntu 反复失败Etcher 校验总是到一半报错一开始怀疑镜像损坏重新下载还是不行。后来换了一张卡一次成功。问题就出在杂牌 TF 卡上要么是虚标容量要么是写入速度不稳定。此后我只用正规品牌 A1 以上规格的卡烧录前先往卡里拷贝一个大文件测试速度明显偏慢就直接换卡。读卡器也要留意USB 2.0 的读卡器速度慢且容易中途失败建议至少用 USB 3.0 读卡器。7.2 开机黑屏和供电不足飞腾派的供电要求比想象中严格。我用普通手机充电器试过一次接上键鼠和 HDMI 后经常开机黑屏甚至反复重启。换上原装 5V/3A 电源之后问题彻底消失。如果你插了多个 USB 外设建议把大功率设备放到带独立供电的 HUB 上否则电源保护机制可能直接让板子掉电。遇到黑屏时优先确认供电不要去刷系统折腾半天最后发现是供电问题。7.3 网络和 SSH 连接问题SSH 连不上大多数情况下不是板子的问题而是系统默认没有安装或启动 openssh-server。Ubuntu 镜像同样可能默认关闭 SSH 服务需要在桌面终端里执行安装命令并启动服务。还可能遇到的情况是 sshd 虽然在跑但防火墙拦截了连接检查一下防火墙状态即可。板子如果通过网线直连电脑还需要手动配置静态 IP否则两边不在同一个网段互相根本发现不了对方。我的笨办法是先接 HDMI 显示桌面查看板子实际拿到的 IP 地址再用 Xshell 去连接虽然多了一步但实测最稳。7.4 多系统切换的坑有人希望图省事把 Ubuntu 和 OpenKylin 同时塞进一张 TF 卡用引导菜单切换。我在飞腾派上试过成功率不稳定尤其是内核版本和分区格式不一致时很容易出现一个系统能启动另一个系统找不到根分区的情况。折腾一下午之后我彻底放弃了单卡双系统回归“一卡一系统”的路线。如果你不想频繁换卡就在 eMMC 里常驻一个系统TF 卡放另一个用拨码开关切换这个方案稳定程度高很多。最后分享一个小技巧每次把系统跑稳定之后用镜像工具把整张 TF 卡备份成文件存到电脑。之后哪怕系统被折腾坏了也只需要重新烧录备份文件几分钟就能恢复。这个习惯让我省掉了大量重装系统的重复劳动强烈建议保留。
返回列表