新闻详情

新闻详情

首页 / 资讯中心 / 详情

RK3588开发板Ubuntu镜像烧写、扩容与xrdp远程桌面部署实战

发布时间:2026/9/28 2:47:02来源:尧图网络
RK3588开发板Ubuntu镜像烧写、扩容与xrdp远程桌面部署实战
正点原子RK3588这块板子我拿到手第一周就干了一件比较折腾的事放弃“插着显示器用一下”的玩法把镜像烧写、Ubuntu系统扩容、xrdp远程桌面串成了一条完整的落地链路。折腾完之后开发板变成了一台可以远程使用的Ubuntu小主机平时我在工位上用笔记本远程连上去写代码、看日志完全不依赖额外显示器。整个过程涉及的三个关键词——RK3588、Ubuntu镜像、xrdp——单独拆开都有不少教程但能把“从烧录到远程桌面”这条路一次性走通、还避开各种坑的内容并不多。这篇文章没有教科书式的绕弯全部是我实际踩过的步骤和坑从烧录镜像开始一直到远程桌面稳定连线按可复现的方式写。使用硬件为正点原子ATK-DLRK3588镜像环境是Ubuntu 22.04其他RK3588板卡只要启动流程和分区结构类似也基本能照用。适合刚入手RK3588开发板、又不想整天插屏幕鼠标键盘的开发者参考。1. 为什么要把“烧写、扩容、远程桌面”放在一起做1.1 这条链路解决的是“开发板日常化”的问题很多RK3588玩家拿到板子第一件事就是找官方资料包、烧个Ubuntu系统然后在HDMI屏幕上点点点。但这种玩法最多坚持一周——嵌入式开发想真正高效你不会希望每次操作都跑到板子旁边。把开发板变成一个可以远程登录的小型服务器/桌面工作站才是实际开发中更舒服的姿势。要实现这个目标链路里的三个环节缺一不可。先是镜像烧写没有正确的系统后面一切免谈然后是系统扩容大多数RK3588的Ubuntu出厂镜像rootfs分区做得非常保守只够系统启动和几个基础软件安装跑两个国内常用工具、装个Python环境磁盘告警就来了最后是远程桌面开发板跑图形应用、可视化调试、UI测试时纯SSH不够直观xrdp能把Ubuntu桌面完整搬到远程电脑上。1.2 为什么我不建议只做一半有人可能会说“我直接用SSH不行吗”答案是可以但你只能拿到终端。瑞芯微平台很多实际工作场景跟图形界面强相关比如GUI应用调试、屏幕显示效果验证、摄像头预览、NPU可视化标注工具。这些场景在SSH里没法干或者在SSH里干起来极其别扭。所以我把这条链路做完整烧好镜像扩容完磁盘远程桌面上线。平时写命令走SSH需要看界面再走xrdp两种方式互补。这套组合现在我已经稳定用了一个多月没有严重翻车。1.3 涉及的核心技术点预览这一路涉及的东西不少我先列个全景清单后续章节逐个展开RK3588启动链路MaskROM、Loader、eMMC/SD卡启动优先级镜像烧写工具SD卡烧录工具、瑞芯微官方烧写工具Ubuntu文件系统扩容growpart、resize2fs、分区表刷新远程桌面协议xrdp核心、Xorg选型、桌面会话启动脚本网络配置IP/VLAN设置、防火墙端口、远程客户端每个点都有各自的坑后面我会告诉你哪些地方最容易翻车。2. RK3588镜像烧写前必懂启动链路、分区表与工具选型2.1 别急着烧录先理解RK3588是怎么把系统拉起来的RK3588上电后芯片内部固化的MaskROM会先接管它相当于芯片出厂时写死的一段“救火引导程序”。这段程序会按硬件电平状态判断启动介质尝试从SD卡、eMMC、SPI NOR Flash等位置加载下一级引导代码。这个逻辑很像电脑上的BIOS先初始化基础环境再把控制权交给磁盘上的引导程序最后加载内核和根文件系统。所以烧写镜像前你得先搞清楚手里的板子当前从哪个介质启动。正点原子ATK-DLRK3588这类板卡一般在底板上有启动拨码开关或跳线丝印会标注SD卡启动、eMMC启动两种模式。不同批次或不同品牌板卡丝印可能不一样少数板子甚至没有拨码默认优先从eMMC启动。拿到板子先翻一遍说明书找到启动介质相关的说明这一步别省。这个原理决定了你烧写时的一个关键判断如果你的镜像烧进了SD卡但拨码还停在eMMC启动那就是“系统明明写好了却怎么都起不来”。2.2 镜像文件里到底有什么update.img与分区表RK3588的Ubuntu镜像通常有两种形态。一种是厂家打包好的单一固件包常见命名是update.img、xxx_ubuntu.img里面把引导、分区表、kernel、rootfs压缩到了一起。另一种是SDK编译目录下生成的分区镜像拆成uboot.img、boot.img、rootfs.img等零散文件。单一固件包烧写起来最简单你不需要关心分区表细节烧写工具会把整张卡/整块eMMC按照镜像内置的parameter文件重新分区然后把每个分区的数据挨个填进去。散件镜像则适合做定制有人改了内核想单独刷boot分区有人想微调parameter分区表就需要走命令行烧录或者工具里的“单独烧写分区”功能。对入门用户来说先统一用厂家提供的单一固件包。别想着一上来就手工改分区表等你把官方镜像跑稳了再考虑定制不迟。2.3 烧写工具怎么选SD卡还是瑞芯微官方工具烧写工具的选择取决于你到底要把系统装到哪。装到SD卡/TF卡Windows下用balenaEtcher最省事读卡器插上、选中镜像、写入即可Linux/macOS下用dd命令也完全可行。装到eMMC推荐用瑞芯微官方Windows工具RKDevTool需要把板子通过Type-C线连到电脑并让开发板进入Loader/MaskROM模式。这里有个新手容易混淆的点同一个板子有两种“装系统”路径效果不同。SD卡路径适合快速试错系统好坏不担心损坏内置存储eMMC路径适合定稿写入后性能和稳定性都比SD卡好。正点原子出厂状态一般内置了Android或Linux系统如果你想把Ubuntu固定到eMMC就得用RKDevTool而不是拿镜像去烧SD卡。2.4 Loader模式进入方法与Windows驱动问题用RKDevTool烧eMMC第一步是要让电脑识别到开发板。在Windows上需要先安装瑞芯微提供的驱动助手DriverAssistant安装完成后把开发板Type-C口连到电脑USB然后在板子上按住RECOVERY键再上电等待设备管理器里出现“Rockchip USB”相关的设备。这一步我在不同板子上翻车次数不少。最常见的情况是驱动没装好设备管理器里显示未知设备工具刷不到板子或者Type-C线不支持数据传输只能充电。所以记得换一根确认能传数据的C口线。还有一点有些板子在系统已经正常启动时连接电脑并不会进入Loader模式必须按RECOVERY/UPGRADE键配合上电操作。3. 实操镜像烧写与系统首次启动3.1 烧录SD卡的完整操作我推荐先走SD卡路径因为它的容错成本最低。准备一张至少32GB的高速TF卡读取速度越好系统响应越舒服。Windows下操作大概是读卡器插入TF卡打开balenaEtcher选择正点原子资料包里的Ubuntu镜像文件格式通常是.img或.gz选择TF卡盘符确认无误后点击Flash等待写入完成然后弹出读卡器Linux下等价操作是sudo dd ifubuntu_img.img of/dev/sdX bs4M statusprogress convfsync sync其中/dev/sdX是TF卡设备节点千万别写错否则会覆盖系统盘。这个原理和刻录树莓派镜像完全一样如果你做过树莓派上手不会觉得陌生。镜像写入完成后把TF卡插到开发板TF卡槽将启动拨码切到SD卡启动接上电源。第一次启动建议同时接串口线或者HDMI显示器方便观察启动状态。若一切正常串口会出现Ubuntu的启动日志最终落到登录提示符。3.2 首次开机后需要立刻确认三件事默认用户名和密码是否正确。正点原子出厂Ubuntu镜像一般有默认账号仔细看资料包说明。网络是否通。执行ip a看网卡是否拿到IP通了再走后续操作。内核版本和系统版本是否和镜像说明一致。执行uname -a和cat /etc/os-release确认不是Android系统。登录成功后我建议第一时间改root密码并确定是否启用SSH服务sudo apt update sudo apt install openssh-server sudo systemctl enable --now ssh有了SSH后就不需要长期挂串口线了后面所有操作都可以通过终端远程进行省事很多。3.3 把Ubuntu放进eMMC的两种思路当你用SD卡系统验证OK后就可以考虑把系统固化到eMMC。两种思路我都试过。思路一用RKDevTool烧录。开发板进入Loader模式工具里选择官方update.img点击执行。该方式直接写入eMMC烧完后拨码切回eMMC启动即可。思路二先在SD卡系统里把eMMC当一个磁盘。执行lsblk会看到eMMC对应的设备节点比如/dev/mmcblk1然后可以用dd把镜像整个写到eMMC。这个操作比RKDevTool偏底层速度也不慢但容易因为设备节点判断错误把SD卡自己写坏新手慎用。我的建议是除非你在SD卡系统里做了很多定制化配置想把系统原样复制到eMMC否则直接RKDevTool烧官方镜像更干净。3.4 烧写阶段最容易踩的坑镜像解压后磁盘占用超出TF卡容量有些厂家镜像解压后接近32GB你用16GB卡必然失败。写入过程中拔出TF卡终究是心理问题但真有人这么干结果卡直接变成不可识别设备。启动拨码和实际启动介质不对应烧了SD卡却拨在eMMC屏幕上啥也没有。电源供电不足RK3588满负载功耗不低一些质量差的适配器会导致启动随机失败。我建议至少用12V/2A以上电源带外设的话再往上加。这些问题我都走过一遭尤其是电源供电不足导致的随机重启排查起来要比软件问题痛苦得多。4. 根分区扩容实操让SD卡/NVMe空间真正可用4.1 为什么出厂镜像的根分区那么小正点原子和很多RK3588 Ubuntu镜像的默认分区规划是面向“能启动、能验证”去设计的。厂家为了兼容不同容量的存储介质rootfs分区往往会设置成一个比较保守的值比如16GB或更小如果你用的是64GB TF卡剩余空间就成了未分配状态。这在系统里表现为df -h看到根分区只有十几个G但实际设备容量远不止。装几个深度学习依赖、模型文件、Docker镜像磁盘直接爆红。4.2 扩容原理分区表和文件系统是两回事Windows用户对Disk Management里“扩展卷”很熟悉Linux下要稍微绕一点。一块磁盘先有分区表分区表里有分区起始和结束位置分区格式化后才产生文件系统。扩容本质是两步把分区表里根分区的结束扇区扩展到磁盘末尾让文件系统感知到新空间并“长出”新容量所以只扩分区不扩文件系统df没变化只长文件系统不扩分区会立即报错。绝大多数扩容教程漏讲这一步导致新手以为一条命令能搞定。4.3 扩容实操命令登录终端后先确认设备节点。不同启动介质根分区设备名不一样SD卡启动通常是/dev/mmcblk0p6或/dev/mmcblk0p7eMMC启动通常是/dev/mmcblk1p6、/dev/mmcblk0p6这类具体以lsblk输出为准。使用growpart扩展分区表sudo growpart /dev/mmcblk0 6这个命令的意思是对设备/dev/mmcblk0的第6个分区做增长系统会自动计算分区最大结束扇区。若提示该分区已占用到末尾说明镜像已经自动扩容跳过即可。接着扩展文件系统。根分区一般是ext4sudo resize2fs /dev/mmcblk0p6如果文件系统是btrfs则使用sudo btrfs filesystem resize max /如果你手上某个Ubuntu镜像默认就是btrfs千万别用resize2fs会直接报错。4.4 验证和常见判断失误完成后用df -h检查根分区可用容量应该大幅增长。还可以用fdisk -l查看分区末尾是否到了磁盘最后扇区。两者结合确认扩容成功。我见过很多反馈说“扩容后df没有任何变化”。排查时先看是不是分区表没真正增长再看rootfs设备名是否写错。比如用的是eMMCgrowpart写成了mmcblk0当然不会作用于mmcblk1。另外某些镜像的rootfs是只读挂载或者用OverlayFS实现系统写保护扩容前需要先解除只读配置否则报错信息会直接提示设备忙、只读文件系统。4.5 扩容失败后的处理有一次我在一块NVMe设备上扩容growpart提示分区号无效。原因是镜像没按常规分区分号而是把rootfs放到了自定义序号。解决方法是先运行sudo parted /dev/nvme0n1 print查看分区列表再用growpart /dev/nvme0n1 4之类的正确分区号重试。万一resize2fs中途报“找不到文件系统”大概率你是对boot分区执行了命令。动手前用sudo blkid /dev/mmcblkXpY看一下分区类型确认是ext4或btrfs再操作。5. xrdp远程桌面部署从安装到稳定连接的完整记录5.1 远程登录方案怎么选RK3588跑Ubuntu时远程图形界面方案常见几类VNC、xrdp、第三方远程工具。VNC方案部署简单但体验一般默认用的RFB协议在画质和带宽占用上不如RDP流畅第三方远程工具要注册账号、走外部服务器中转在纯内网开发环境不一定方便。xrdp走的是微软远程桌面协议RDPWindows系统自带“远程桌面连接”客户端不需要额外装软件。实际体验中xrdp在局域网内的流畅度明显好于VNC还支持窗口缩放、剪贴板、音频等能力。这一点对RK3588这种“桌面小主机”定位很实用。5.2 Ubuntu 22.04的Wayland问题必须先处理Ubuntu 22.04默认登录会话是GNOME Wayland。但xrdp目前对Wayland的支持并不理想直接装好xrdp后连接很容易遇到黑屏、闪退、只有鼠标没有桌面的问题。我在这块卡了很久后来明白原因xrdp需要启动Xorg类型的X会话而GNOME默认走Wayland时两者对不上。解决办法是强制显示管理器使用Xorg。对于使用GDM3的系统可以修改配置文件sudo sed -i s/#WaylandEnablefalse/WaylandEnablefalse/ /etc/gdm3/custom.conf sudo systemctl restart gdm3重启后GDM会改用Xorg会话。如果你主板上的桌面环境是LightDM或SDDM思路类似找到对应的显示管理器配置关闭Wayland或改用Xorg。如果你不想折腾GNOME更省心的方案是安装Xfce桌面。Xfce是轻量级X桌面和xrdp兼容性极好。很多人拿RK3588做远程桌面最终都选择Xfce主要原因就是稳定、占用低、不用反复调试Wayland。5.3 安装xrdp与桌面会话配置安装xrdp非常简单sudo apt update sudo apt install -y xrdp sudo systemctl enable --now xrdp sudo systemctl status xrdp如果服务状态为active running说明启动成功。xrdp默认监听3389端口防火墙一般不影响内网连接但如果你开启过ufw需要放行sudo ufw allow 3389/tcp接下来是关键的一步指定远程会话加载哪个桌面。如果安装了Xfce4建议创建或修改当前用户的~/.xsessionecho xfce4-session ~/.xsession chmod x ~/.xsession然后重启xrdpsudo systemctl restart xrdp如果你是root用户远程登录xrdp还涉及polkit权限问题默认情况下root用远程桌面登录容易被拦。最简单的办法是创建一个普通用户并加入sudo组sudo adduser dev sudo usermod -aG sudo dev然后用这个用户去连远程桌面。这一步可以绕开大量权限坑。5.4 网络设置与远程连接实测开发板接好网线后建议配置固定IP不然路由器重启后IP一变远程桌面地址就要跟着改。Ubuntu桌面版一般用NetworkManager管理网络命令行操作nmcli con show nmcli con mod Wired connection 1 ipv4.addresses 192.168.1.100/24 nmcli con mod Wired connection 1 ipv4.gateway 192.168.1.1 nmcli con mod Wired connection 1 ipv4.dns 192.168.1.1 nmcli con mod Wired connection 1 ipv4.method manual nmcli con up Wired connection 1如果走netplan则编辑/etc/netplan/*.yaml文件配置addresses、routes、nameservers之后执行sudo netplan apply。连接实测时Windows打开“远程桌面连接”输入开发板IP默认端口3389点击连接。弹出xrdp登录窗口后用刚刚创建的普通用户登录正常情况下几秒内就能看到Xfce桌面。macOS用户可以下载微软官方Remote Desktop客户端用法一致。5.5 离线安装xrdp的补充方案内网环境没有外网源的时候在线apt方式会失败。可以在有网环境提前下载xrdp以及依赖的deb包sudo apt-get install --download-only -y xrdp下载的deb包默认存在/var/cache/apt/archives下拷到开发板后执行sudo dpkg -i *.deb如果提示依赖缺失再用同样方式把缺失包补上。这个方法在无外网实验环境里很实用。6. 高频问题速查与长期使用心得6.1 高频问题排查表格现象可能原因解决方案RKDevTool识别不到设备驱动未装好或线材不支持数据重装DriverAssistant换数据线确认进入Loader模式烧写后启动卡在logo启动介质和拨码不一致检查拨码切换到正确启动介质镜像写入后容量没变大分区表和文件系统未同步扩容依次执行growpart和resize2fsresize2fs提示找不到文件系统操作的设备节点不是rootfs用blkid确认分区格式再操作远程连接黑屏GNOME仍走Wayland禁用Wayland或改用Xfce桌面xrdp闪退当前用户缺少桌面会话文件创建~/.xsession并指定xfce4-sessionroot用户远程登录失败polkit权限拦截使用普通用户登录远程桌面卡顿带宽/分辨率太高降低颜色深度或分辨率使用有线网络6.2 几条长期受用的使用习惯镜像烧写不要只保留一份。建议把官方原始镜像、你定制后的镜像分开存放定制过程中每一次修改都记录命令这样后续出问题能快速还原。扩容和桌面配置完成后最好重新制作一份自己的系统镜像作为备份。对于正点原子RK3588这类开发板我一般会用dd或瑞芯微工具把eMMC内容整体导出放到移动硬盘里。后续板子变砖恢复成本会低很多。远程桌面稳定之后把xrdp服务加到开机自启默认enable即可再配一个独立固定IP开发板就真的可以当小服务器用了。很多玩法可以继续延伸在这套Ubuntu环境里部署YOLOv8推理、接入摄像头RTSP流、调试音频Codec都有图形化工具做辅助不再局限于串口和命令行。6.3 最后分享一个小技巧如果你连xrdp之后发现键盘布局不对或者鼠标滚动异常不要急着怀疑系统先检查远程桌面客户端的本地设置。Windows远程桌面里把键盘布局设置成“远程桌面使用相同布局”很多输入问题会立刻消失。音频需要回传时xrdp的PulseAudio模块配置会稍微复杂但我个人建议不要在这上面花太多时间把板载3.5mm音频接到音箱更直接。
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

虚拟电厂日前调度中的鲁棒优化建模与Python+Gurobi实践 2026/9/28 5:40:41

虚拟电厂日前调度中的鲁棒优化建模与Python+Gurobi实践

做虚拟电厂调度项目的人都知道,预测曲线永远是骗人的。光伏出力今天预报是晴天满发,下午一片云飘过来功率直接砍半;负荷侧更离谱,午高峰和晚高峰的波动经常跟预测差出20%以上。只拿点预测值去做日前调度,实际运行时储能…

阅读更多 →
从MySQL到Vite:全栈报错排查实战案例集 2026/9/28 5:40:41

从MySQL到Vite:全栈报错排查实战案例集

干这行久了,你会发现最值钱的不是技术方案,而是一份写得清楚的报错记录。很多问题当时解决了就丢,等到第二次遇到一模一样的情况,又得从零开始搜社区、翻文档、试来试去——大把的时间全耗在这上面。所以这次我把一段时间里遇到的…

阅读更多 →
Transformer Encoder在多输入单输出回归预测中的实践指南 2026/9/28 5:40:41

Transformer Encoder在多输入单输出回归预测中的实践指南

做回归预测还想着用Transformer的人,不少一开始是被"杀鸡用牛刀"这类说法劝退的。常规的多输入单输出回归,大家习惯了直接上多层感知机,顶多加个LSTM或者GRU,似乎线性层堆叠就能解决一切。但当我遇到一组高维、强非线性…

阅读更多 →
HTTP请求方法详解:从GET/POST语义到工程实践与性能优化 2026/9/28 5:40:41

HTTP请求方法详解:从GET/POST语义到工程实践与性能优化

1. GET 与 POST 的本质差异:别再只会说“查和改”很多人聊到 GET 和 POST,第一反应就是“GET 拿数据,POST 提交数据”。这话没错,但太粗了。我在面试前端候选人的时候,经常问一个问题:“你现在要给后端传一…

阅读更多 →
基于Web的在线考试系统设计与毕业设计LW完整实战指南 2026/9/28 5:40:41

基于Web的在线考试系统设计与毕业设计LW完整实战指南

如果要在计算机毕设里评一个“最眼熟题目”,基于Web的网络在线考试系统绝对排前三。它的常见交付形式就是一整套:代码工程、数据库脚本,加上一份毕业设计论文文档——也就是题目里那个尾缀“LW”。网上能搜到大量成品下载,但真正自…

阅读更多 →
医疗RAG落地指南:知识库构建、检索调优与避坑实践 2026/9/28 5:40:34

医疗RAG落地指南:知识库构建、检索调优与避坑实践

简介:基于 RAG 与大模型技术的医疗问答系统完整项目包,面向人工智能、计算机相关专业学生及企业开发者,可应用于毕业设计、课程设计、项目初期立项或医疗智能问答研究。项目以 DiseaseKG 数据集和 Neo4j 图数据库为核心,构建医疗知…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉