首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

一次 Linux 文件系统挂载异常 Debug

前段时间接到一个兄弟 Team 反馈,发现在他们设计一批板子跑一个他们开发工程(为了后面描述方便,我们简称 SLT 工程)时候,很容易出现文件系统挂载失败或者文件系统被损坏情况,说排查了很久没有头绪...挂载 rootfs 时候概率发现部分 so 库报错。应该也是 so 文件被损坏,就像下面这样: ?...所以现在现象是:只要Linux Kernel 看到 DDR 前 64 KB空间后,文件系统挂载就异常了。...把这 64 KB 空间从 Linux Kernel Reserved 掉(这个只要在 dts 里面加一个 reserved-memory 节点就可以做到),这样内核里面正常软件(包括文件系统)也就申请不到这片内存空间了...crypto 程序如果运行比较早就不会覆盖 rootfs 中文件,如果运行更晚,可能覆盖文件没有那么关键,文件系统挂载也不会异常。

2.9K20
您找到你想要的搜索结果了吗?
是的
没有找到

嵌入式Linux开发-文件系统NFS网络挂载

前言 文件系统Linux内核启动之后挂载第一个文件系统,上篇文章里已经介绍过,如何使用busybox来制作文件系统。...这篇文章介绍文件系统制作成功后,如何让内核找到文件系统,并完成挂载,进入到系统命令行终端。...文件系统支持从网络挂载和本地挂载两种方式: (1)如果是采用网络挂载就将路径设置为/dev/nfs,NFS是Linux下常用网络文件系统,这种方式挂载一般是在系统开发阶段,方便修改调试代码,也就是将文件系统放在...(2)本地挂载就是让内核从SD卡、EMMC、光盘等设备里加载文件系统,设备路径设置为/dev/sda、/dev/ram等等。具体设备节点名称是什么就填什么。...NFS网络方式挂载 前提是先把文件系统制作好才能继续这一步。当前宿主机采用redhat6.3,这个系统比较老,但是功能是很齐全,运行起来很流畅。

3.9K30

构建Linux文件系统

本章目标 l 了解Linux文件系统层次标准(FHS) l 了解文件系统下各目录作用 l 掌握构建文件系统方法:移植Busybox、构造各个目录、文件等 l 掌握制作yaffs、jffs2文件系统映象文件方法...这些必需、基本文件,合称为文件系统,它们存放在一个分区中。Linux系统启动后首先挂接这个分区──称为挂接(mount)文件系统。...本节根据FHS标准描述Linux文件系统目录结构,并不深入描述各个子目录结构,读者可以自行阅读FHS标准了解这些内容。...Linux文件系统中一般有如图17.1所示几个目录。 图17.1 Linux文件系统结构 下面依次讲述这几个目录作用。 1. ...这要修改/work/nfs_root/fs_mini中两个文件:修改etc/fstab来自动挂载文件系统、修改etc/init.d/rcS加入要自动运行命令。

3.3K30

linux文件系统简介

文件系统首先是一种文件系统,但是相对于普通文件系统,它特殊之处在于,它是内核启动时所mount第一个文件系统,内核代码映像文件保存在文件系统中,而系统引导启动程序会在文件系统挂载之后从中把一些基本初始化脚本和服务等加载到内存中去运行...我们首先从主机上所安装Linux操作系统中了解一些文件系统信息。...文件系统基本目录结构   Linux文件系统以树型结构组织,包含内核和系统管理所需要各种文件和程序,一般说来根目录”/”下顶层目录都有一些比较固定命名和用途。   ...系统中只有一个根目录,路径是“/”,而其它分区只是挂载在根目录中一个文件夹,如“/proc”和“system”等,这里“/”就是Linux根目录。...对应根目录也就存在一个根目录文件系统概念,我们可以将某一个分区挂载为根目录文件系统,如6410公版中就将mtdblk2挂载为根目录文件系统

2.3K20

Linux文件系统(rootfs原理详解)

文件系统首先是一种文件系统,该文件系统不仅具有普通文件系统存储数据文件功能,但相对于普通文件系统,它是内核启动时挂载(mount)第一个文件系统,内核代码映像文件保存在文件系统中,系统引导启动程序会在文件系统挂载之后从中把一些初始化脚本...例如: init进程应用程序必须运行在文件系统上; 文件系统提供了根目录“/”; linux挂载分区时所依赖信息存放于文件系统/etc/fstab这个文件中; shell命令程序必须运行在文件系统上...Linux启动时,第一个必须挂载文件系统;若系统不能从指定设备上挂载文件系统,则系统会出错而退出启动。成功之后可以自动或手动挂载其他文件系统。因此,一个系统中可以同时存在不同文件系统。...在 Linux 中将一个文件系统与一个存储设备关联起来过程称为挂载(mount)。使用 mount 命令将一个文件系统附着到当前文件系统层次结构中()。.../bin/:存储常用且开机时必须用到执行文件。 /sbin/:存储着开机过程中所需系统执行文件。 /lib/:存储/bin/及/sbin/执行文件所需链接库,以及Linux内核模块。

11.4K40

Linux笔记】挂载网络文件系统

上一篇笔记我们分享了【Linux笔记】pc机、开发板、ubuntu互ping实验。有了这个前提,我们开发板就可以挂载UbuntuNFS系统(网络文件系统)。...NFS简介 NFS(Network File System) ,即网络文件系统, 能使使用者访问网络上别处文件就像在使用自己计算机一样。 其工作原理是使用客户端/服务器架构 : ?...服务器程序向其他计算机提供对文件系统访问,其过程称为输出。NFS客户端程序对共享文件系统进行访问时,把它们从NFS服务器中“输送”出来。文件通常以块为单位进行传输。...在我们嵌入式Linux中,NFS主要应用如:把主机上文件(比如目标板可执行文件)共享给目标板,这样目标板就很方便地运行程序。本篇笔记要演示实验框图如下: ?.../mnt为本地挂载点。 ? 实验成功,开发板成功运行共享目录里hello程序。 以上就是本次笔记分享,如有错误,欢迎指出。

2.4K21

深入理解 Linux 启动过程 | QEMU 启动 linux 内核和自制文件系统

跟我一起来到故事开始地方,深入 Linux 系统启动流程,自己编译内核并制作文件系统,并使用 QEMU 模拟启动。 前置知识# 昨天看到阮老师两篇文章 《计算机是如何启动?》...看过文章后应该对启动流程有了大概认识,本文会介绍自制一个简单文件系统,即 initramfs (基于 ramfs 临时文件系统,一种以 cpio 格式压缩后 rootfs 文件系统),如果对这个概念不太理解...为了模拟启动,需要准备编译好内核 bzImage 和文件系统,下面分别介绍。...文件制作过程如果是采用了 方案一 ,使用下面命令启动: $ qemu-system-x86_64 -s \ -kernel ....root=/dev/ram init=/init" # 注意指定正确内核和文件系统位置 使用 busybox 制作 rootfs 提供了一些基础命令可供使用。

1.6K30

Linux入门】文件系统挂载与卸载

,然后将其挂在根目录上,此操作称为“挂载”如下图所示,在 Linux 中,并没有并列存在分区结构,如 Windows 中C盘、D盘、E盘等,而是均以 根目录 / 做为起点,树型结构分布。...挂载要求挂载可以扩展分区存储量,使得Linux系统可以访问其他存储设备数据。挂载操作通常需要指定要挂载设备(如硬盘分区或设备文件)和挂载点(即目录)。...挂载点目录相关要求:1、挂载点目录必须存在,且最好为空目录。2、同一挂载点不可重复挂载多个文件系统。3、同一文件系统不可重复挂载在多个挂载点。...分区、格式化操作可参考教程:【Linux入门】磁盘分区、格式化如果挂载目录事先存在并且不为空,那么做为挂载点后,原目录就被隐藏起来了,当挂载点被卸载后,原目录中文件将会被显示出来。...挂载与卸载命令 mount / unmountmount 命令用于在 Linux挂载文件系统,unmount 命令用于卸载一个已挂载文件系统

39022

Linux下BusyBox文件系统制作

BusyBox提供了一个比较完善环境,可以适用于任何小嵌入式系统。 这篇文章就介绍如何使用BusyBox制作一个最小文件系统,让Linux系统能够正常跑起来,能进入Linux命令行终端。...uboot环境变量时候,就设置好nfs服务器ip地址,目录等参数,等Linux内核启动后根据参数指引去挂载文件系统挂载成功之后,最终进入到命令行终端,接下来就可以愉快进行Linux编程了。...编译文件系统需要基本文件 [wbyq@wbyq ~]$ mkdir ~/work/busybox -p [wbyq@wbyq ~]$ tar xvf busybox-1.23.2.tar.bz2 -...挂载文件系统 挂载文件系统分为两种: 本地挂载. 产品发布使用这种. 将文件系统放在SD卡或者EMMC上 网络挂载(NFS). 产品开发阶段使用这种....将文件系统放在PC机上 开发板NFS网络挂载思路: PC机开启NFS服务器,配置NFS共享路径: 将rootfs共享出来.

6.1K20

详解-制作文件系统,并使用yaffs,jffs,nfs挂载系统(2)

work/nfs_root/busybox1.7_fs //指定安装位置 安装好了后,可以看到busybox1.7_fs/bin里便保存着linux命令,如下图所示: 3.2构造lib目录(被应用程序调用...etc/fstab :      里面保存要被挂载哪个文件系统,比如proc、sysfs、tmpfs、devpts等系统 1)构造/etc/inittab cd /work/nfs_root/busybox1.7...使用mdev命令需要sysfs、tmpfs、devpts这3个文件系统支持 mdev:   是udev一个迷你版, 它主要功能是管理/dev目录底下设备节点。...:    管理虚拟系统,为udev提供设备入口和uevent通道, sysfs类型,需要挂载到/sys目录下 tmpfs:   临时文件系统,用来减少对flash频繁读写,tmpfs类型,需要挂载到/dev...目录下 devpts:  内核虚拟系统, devpts类型,需要挂载到/dev/pts目录下 mkdir proc/ //创建proc要挂载目录 mkdir sys/ //创建sysfs要挂载目录,

1.3K20

如何在 Linux 上加密文件系统

本文将介绍如何在 Linux 上加密文件系统,并提供详细步骤。...加密文件系统涉及到系统重建和重新安装过程,因此在开始之前,请确保你有完整备份。步骤3:准备系统安装介质加密文件系统需要重新安装操作系统。...步骤5:启动加密文件系统完成安装后,重新启动计算机。启动过程中,系统会要求你输入设置加密密码。输入正确密码后,系统会解密文件系统并正常启动。...步骤6:验证加密文件系统一旦系统启动,你需要验证加密文件系统是否成功工作。以下是一些验证步骤:登录系统:使用你设置用户名和密码登录系统。查看已挂载文件系统:执行以下命令查看已挂载文件系统。...管理启动过程挂载操作:了解如何管理启动过程挂载操作,以确保加密文件系统正确挂载。结论通过执行以上步骤,你可以在 Linux 上成功加密文件系统,保护系统中敏感数据免受未经授权访问。

28201

深入理解Linux文件系统文件系统挂载(上)

1.开场白 环境: 处理器架构:arm64 内核源码:linux-5.11 ubuntu版本:20.04.1 代码阅读工具:vim+ctags+cscope 我们知道,Linux系统中我们经常将一个块设备上文件系统挂载到某个目录下才能访问这个文件系统文件...挂载文件系统Linux内核到底为我们做了哪些事情?是否可以不将文件系统挂载到具体目录下也能访问?下面,本文将详细讲解Linxu系统中,文件系统挂载奥秘。...我们知道在Linux中通过虚拟文件系统层VFS统一所有具体文件系统,提取所有具体文件系统共性,屏蔽具体文件系统差异。...结构体定义源码路径:include/linux/fs.h +1414 2.3 mount 挂载描述符,用于建立超级块和挂载点等之间联系,描述文件系统一次挂载,一个块设备上文件系统可以被挂载多次,每次挂载内存中有一个...-> return dget(s->s_root) //返回文件系统dentry 可以看到mount_bdev主要是:1.根据要挂载块设备文件名查找到对应块设备描述符(内核后面操作块设备都是使用块设备描述符

1.7K10

深入理解Linux文件系统文件系统挂载(下)

总结 Linux中,块设备上文件系统只有挂载到内存目录树中一个目录下,用户进程才能访问,而挂载是创建数据结构关联块设备上文件系统挂载点,使得路径名查找时候能够通过挂载点目录访问到挂载在其下文件系统...当一个要挂载目录是挂载点(之前已经有文件系统挂载到这个目录),那么新挂载文件系统挂载到这个目录最后一次挂载文件系统dentry,之前挂载文件系统文件都被隐藏(当子挂载被卸载,原来文件系统文件才可见...,当发现一个目录是挂载点时,就会步进到最后一次挂载到这个目录文件系统dentry中继续查找,知道dentry就可以继续查找到这个文件系统任何文件。...dentry 每个文件系统都会有dentry,根据inode来构建,路径名查找时会步进到文件系统dentry来访问这个文件系统文件。 2)一个目录可以被多个文件系统挂载。...第一次挂载是直接挂载这个目录上,新挂载文件系统实际上是挂载在上一个文件系统dentry上。 3)一个目录被多个文件系统挂载时,新挂载导致之前挂载被隐藏。

1.5K20
领券