news 2026/4/25 2:36:52

RK3588 踩坑实录:Ubuntu分区挂载失败急救教程

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
RK3588 踩坑实录:Ubuntu分区挂载失败急救教程

前言:

瑞芯微 RK3588 很多项目都用到Ubuntu 22.04 系统,若是遇到进不了桌面、只能输密码进维护终端,反复登录报错,项目调试直接卡住。这种问题90% 是 userdata、oem 分区损坏 / 挂载失败导致的,系统启动时挂载校验不通过,就会强制进入安全保护模式。

今天这篇技术笔记,把我们踩过的坑复现、定位、根治方案一次性讲透,收藏备用,下次遇到直接照抄命令。

一、问题复现

1.1开发环境

  • 主控:眺望电子 瑞芯微 RK3588 评估板

  • 系统:Ubuntu 22.04

  • 内核:Linux 6.1

触发原因:oem / userdata 分区文件系统损坏、分区丢失、/etc/fstab 配置错误

1.2故障现象

开机直接出现:

You are in emergency mode. After logging in, type "journalctl -xb" to view Login incorrect Give root password for maintenance (or press Control-D to continue): Login incorrect

系统拒绝进入正常桌面,只能停在维护终端。

1.3快速定位

进入紧急模式后,先输入 root 密码登录,执行:

journalctl -xb

搜索关键词:mount、fail、oem、userdata,直接定位失败的分区。

二、4种解决方案

2.1直接修复损坏分区

使用指令e2fsck、mkfs.ext4等工具进行修复或者重新格式化

用e2fsck自动修复 ext4 分区:

# 先卸载(如果提示占用可跳过) umount /dev/mmcblk0pX # X替换为你的oem/userdata分区号 # 自动修复 e2fsck -y /dev/mmcblk0pX # 修复完重新挂载 mount /oem mount /userdata

修复完成后,执行reboot重启即可正常进系统。

若分区彻底损坏无法修复,可重新格式化:

mkfs.ext4 /dev/mmcblk0pX

2.2蔽 fstab,跳过错误分区

如果暂时不需要挂载oem/userdata,直接注释掉/etc/fstab:

vi /etc/fstab

注释掉这两行:

# PARTLABEL=oem /oem ext4 defaults 0 2 # PARTLABEL=userdata /userdata ext4 defaults 0 2

保存重启,系统会跳过这两个分区,不再进紧急模式。

2.3合并分区,集合rootfs

适合不想维护多余分区的场景,修改parameter.txt:

CMDLINE: mtdparts=:0x00002000@0x00004000(uboot),0x00002000@0x00006000(mis c),0x00020000@0x00008000(boot),0x00040000@0x00028000(recovery),0x00010000@0 x00068000(backup),-@0x00078000(rootfs:grow)

把 rootfs 设为grow自动扩容,删除 oem/userdata 分区,从根源避免挂载失败。

2.4改服务进程,挂载失败也能正常启动(硬核)

Ubuntu 是通过systemd判断挂载失败后触发紧急模式,我们直接关闭这个保护机制:

1.编辑服务文件:

vi /lib/systemd/system/local-fs.target

2.把OnFailure和OnFailureJobMode屏蔽掉释掉:

[Unit] Description=Local File Systems Documentation=man:systemd.special(7) DefaultDependencies=no Conflicts=shutdown.target After=local-fs-pre.target # OnFailure=emergency.target # OnFailureJobMode=replace-irreversibly

3.重载配置并重启,以后就算分区挂载失败,系统也正常启动,进系统后再手动修复即可。

三、思路分享

很多同学好奇:为什么是改local-fs.target?分享下定位思路:

1. 搜紧急模式依赖:​​​​​​​

grep emergency.target -r /lib/systemd/system grep emergency.target -r /etc/systemd/system

2. 看服务依赖关系:

systemctl list-dependencies

能看到local-fs.target依赖oem.mount、userdata.mount,失败就触发emergency.target。

3. 手动模拟复现故障:

dd if=/dev/zero of=/dev/mmcblk0p8 bs=1 count=1024 seek=1024 conv=notrunc

破坏分区后重启,即可复现紧急模式,用于验证修复方案。

四、总结

这套流程在眺望电子RK3588、RK3576、RK3568 等瑞芯微平台通用,无论是Ubuntu22.04还是20.04均能参考,遇到别慌,照着做就行。

希望这篇技术分享对你有帮助,关注我司公众号或者转发分享。如果有实现细节想了解或者其他开发板问题,欢迎评论区留言!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/25 2:36:12

鸿蒙开发者访谈招募

本原创文章帖发布在华为开发者联盟社区,欢迎开发者前往访问评论交流,更多与该内容相关讨论,请点击原帖查看: https://developer.huawei.com/consumer/cn/forum/topic/0201212338776315139?fid0109140870620153026 尊敬的开发者&…

作者头像 李华
网站建设 2026/4/25 2:30:18

视程空间InfoComm China 2026圆满收官,以创新科技点亮视听未来

视程空间InfoComm China 2026圆满收官,以创新科技点亮视听未来 为期三天的北京 InfoComm China 2026 已完美落幕,作为亚太地区极具影响力的专业视听与集成体验行业盛会,本届展会以 “数字未来 中国先行” 为主题,汇聚了全球 400 余…

作者头像 李华
网站建设 2026/4/25 2:24:29

从零构建大模型智能体:基于Lagent框架的实践指南与核心原理

1. 项目概述:从零开始理解智能体框架最近在折腾大模型应用开发,发现一个挺有意思的现象:大家都能用API快速调用一个大模型,让它写首诗、总结个文档,但真想把大模型“塞”进一个实际业务流里,让它能感知环境…

作者头像 李华
网站建设 2026/4/25 2:18:11

Windows 7性能优化与工业自动化系统集成实战

1. Windows 7性能优化实战指南作为一名长期从事工业自动化系统集成的工程师,我亲历了从Windows XP到Windows 7的迁移过程。这个看似普通的操作系统升级,在我们的测试测量系统中带来了15%-20%的性能提升。特别是在多线程数据采集和实时控制场景下&#xf…

作者头像 李华