0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

眺望电子 2026-04-24 08:31 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

前言:

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

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

一、问题复现

1.1开发环境

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

系统:Ubuntu 22.04

内核:Linux 6.1

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

1.2故障现象

开机直接出现:

You areinemergency mode. After loggingin,type"journalctl -xb"to view
Login incorrect
Give root passwordformaintenance(orpress Control-D tocontinue):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 /oemmount /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@0x00068000(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. 搜紧急模式依赖:

grepemergency.target -r /lib/systemd/systemgrepemergency.target -r /etc/systemd/system

f96072d2-3f74-11f1-ab55-92fbcf53809c.png

2. 看服务依赖关系:

systemctllist-dependencies

f9751f84-3f74-11f1-ab55-92fbcf53809c.png

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

3. 手动模拟复现故障:

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

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

四、总结

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

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


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Ubuntu
    +关注

    关注

    5

    文章

    617

    浏览量

    33664
  • 瑞芯微
    +关注

    关注

    27

    文章

    853

    浏览量

    54660
  • RK3588
    +关注

    关注

    8

    文章

    588

    浏览量

    7554
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    瑞芯微RK3588开发板RK3588 EVB和RK3588S EVB解读

    瑞芯微RK3588开发板RK3588 EVB和RK3588S EVB解读 瑞芯微旗舰芯RK3588系列开发板受到广大开发者伙伴的关注和问询。针对相关的开发板功能、操作指南等问题,我们一
    的头像 发表于 09-22 15:54 2.3w次阅读
    瑞芯微<b class='flag-5'>RK3588</b>开发板<b class='flag-5'>RK3588</b> EVB和<b class='flag-5'>RK3588</b>S EVB解读

    BSP调试#03:Ethernet(RK3588

    本合集的是我当初调试 RK3588 平台时的 原始笔记 ——只保留了那些的问题接口,没出过问题的内容全删掉了。文章框架如下: 其中,“ 调试过程 ”章节可能有点意思(记录了我
    的头像 发表于 04-03 15:53 1w次阅读
    BSP调试#03:Ethernet(<b class='flag-5'>RK3588</b>)

    BSP调试#05:MIPI DSI(RK3588

       本合集的是我当初调试 RK3588 平台时的 原始笔记 ——只保留了那些的问题接口,没出过问题的内容全删掉了。文章框架如下: 其中, “调试过程” 章节可能有点意思(记录了我
    的头像 发表于 04-17 11:54 5961次阅读
    BSP调试#05:MIPI DSI(<b class='flag-5'>RK3588</b>)

    RK3588J和RK3588是什么关系?

    RK3588J是不是一个开发板的名字,里面的SOC是RK3588?还是RK3588J属于RK3588的子系列?
    发表于 03-13 14:22

    RK3588RK3588S之间的区别是什么

    RK3588RK3588S的区别: RK3588S是RK3588的低配版,其区别类似RK3568跟RK
    发表于 03-10 19:22 3w次阅读

    RK3588-MIPI屏幕调试笔记:RK3588-MIPI-DSI

    RK3588-MIPI屏幕调试笔记:RK3588-MIPI-DSI
    的头像 发表于 06-10 10:31 8110次阅读
    <b class='flag-5'>RK3588</b>-MIPI屏幕调试笔记:<b class='flag-5'>RK3588</b>-MIPI-DSI

    rk3588rk3588s的区别

    rk3588rk3588s的区别 Rockchip是一家专业的半导体公司,成立于2001年,总部位于中国深圳,主要从事集成电路的设计、开发和销售。他们的热门产品RK3588RK3588
    的头像 发表于 08-15 16:44 2.1w次阅读

    RK35883588s的区别

    RK35883588s的区别 Rockchip RK3588RK3588s是两种功能强大且广受欢迎的片上系统(SoC)解决方案,用于一系列设备,包括智能电视、高性能平板电脑、笔记本
    的头像 发表于 08-15 17:03 2.9w次阅读

    RK3588系列有多少型号?

    RK3588系列有多少型号? RK3588是瑞芯微推出的一款长线产品,属于高性能处理器领域的顶尖产品。它从2020年开始进入市场,现已成为市场上最热门的处理器之一。该产品因其高效能、强大的计算能力
    的头像 发表于 08-15 17:04 7193次阅读

    迅为电子RK3588S与RK3588硬件性能区别及板卡选型

    迅为电子RK3588S与RK3588硬件性能区别及板卡选型
    的头像 发表于 06-25 15:30 6586次阅读
    迅为电子<b class='flag-5'>RK3588</b>S与<b class='flag-5'>RK3588</b>硬件性能区别及板卡选型

    RK3588!黑神话悟空,启动?-迅为电子RK3588开发板

    RK3588!黑神话悟空,启动?-迅为电子RK3588开发板
    的头像 发表于 08-30 14:13 2557次阅读
    <b class='flag-5'>RK3588</b>!黑神话悟空,启动?-迅为电子<b class='flag-5'>RK3588</b>开发板

    开发更便利!迅为RK3568/RK3588 定制分区镜像发布

    开发更便利!迅为RK3568/RK3588 定制分区镜像发布
    的头像 发表于 11-11 14:00 2087次阅读
    开发更便利!迅为<b class='flag-5'>RK</b>3568/<b class='flag-5'>RK3588</b> 定制<b class='flag-5'>分区</b>镜像发布

    技术分享|iTOP-RK3588开发板Ubuntu20系统旋转屏幕方案

    技术分享|iTOP-RK3588开发板Ubuntu20系统旋转屏幕方案
    的头像 发表于 04-18 15:19 1573次阅读
    技术分享|iTOP-<b class='flag-5'>RK3588</b>开发板<b class='flag-5'>Ubuntu</b>20系统旋转屏幕方案

    RK3588参数与主要特性 RK3588数据手册解读

    RK3588参数与主要特性 RK3588数据手册解读
    的头像 发表于 05-19 18:34 1.5w次阅读
    <b class='flag-5'>RK3588</b>参数与主要特性  <b class='flag-5'>RK3588</b>数据手册解读

    RK3588 PCIe设备识别失败?一招避“非法Class”陷阱

    前言:在RK3588平台开发过程中,你是否遇到过这样的窘境:明明PCIe总线上挂好了网卡模块,lspci能识别到芯片,可驱动就是加载失败,排查半天找不到关键问题?别慌!本文将带你一步步解决这个棘手
    的头像 发表于 08-29 08:32 2081次阅读
    <b class='flag-5'>RK3588</b> PCIe设备识别<b class='flag-5'>失败</b>?一招避<b class='flag-5'>坑</b>“非法Class”陷阱