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

构建Linux文件系统

本章目标 l 了解Linux文件系统层次标准(FHS) l 了解文件系统下各目录的作用 l 掌握构建文件系统的方法:移植Busybox、构造各个目录、文件等 l 掌握制作yaffs、jffs2文件系统映象文件的方法...这些必需的、基本的文件,合称为文件系统,它们存放在一个分区中。Linux系统启动后首先挂接这个分区──称为挂接(mount)文件系统。...除这些拥有实实在在的存储分区的文件系统类型外,Linux还有几种虚拟的文件系统类型,比如proc、sysfs等,它们的文件并不存储在实际的设备上,而是在访问它们时由内核临时生成。...本节根据FHS标准描述Linux文件系统的目录结构,并不深入描述各个子目录的结构,读者可以自行阅读FHS标准了解这些内容。...Linux文件系统中一般有如图17.1所示的几个目录。 图17.1 Linux文件系统结构 下面依次讲述这几个目录的作用。 1.

3.3K30

linux文件系统简介

文件系统首先是一种文件系统,但是相对于普通的文件系统,它的特殊之处在于,它是内核启动时所mount的第一个文件系统内核代码映像文件保存在文件系统中,而系统引导启动程序会在文件系统挂载之后从中把一些基本的初始化脚本和服务等加载到内存中去运行...我们首先从主机上所安装的Linux操作系统中了解一些文件系统的信息。...我们需要清楚的了解文件系统的基本结构,以及细心的选择所需要的系统库、内核模块和应用程序等,并配置好各种初始化脚本文件,以及选择合适的文件系统类型并把它放到实际的存储设备的合适位置。   ...文件系统的基本目录结构   Linux文件系统以树型结构组织,包含内核和系统管理所需要的各种文件和程序,一般说来根目录”/”下的顶层目录都有一些比较固定命名和用途。   ...BootLoader是否能够重新获得内核映象从你的文件系统内核启动之前。

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

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

2 文件系统 文件系统首先是内核启动时所mount的第一个文件系统内核代码映像文件保存在文件系统中,而系统引导启动程序会在文件系统挂载之后从中把一些基本的初始化脚本和服务等加载到内存中去运行。...文件系统首先是一种文件系统,该文件系统不仅具有普通文件系统的存储数据文件的功能,但相对于普通的文件系统,它是内核启动时挂载(mount)的第一个文件系统内核代码的映像文件保存在文件系统中,系统引导启动程序会在文件系统挂载之后从中把一些初始化脚本...文件系统内核是完全独立的两个部分。在嵌入式中移植的内核下载到开发板上,是没有办法真正的启动Linux操作系统的,会出现无法加载文件系统的错误。...例如: init进程的应用程序必须运行在文件系统上; 文件系统提供了根目录“/”; linux挂载分区时所依赖的信息存放于文件系统/etc/fstab这个文件中; shell命令程序必须运行在文件系统上.../lib/:存储/bin/及/sbin/的执行文件所需的链接库,以及Linux内核模块。 /dev/:存储设备文件。 五大目录必须存储在文件系统上,缺一不可。

11.5K40

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

跟我一起来到故事开始的地方,深入 Linux 系统的启动流程,自己编译内核并制作文件系统,并使用 QEMU 模拟启动。 前置知识# 昨天看到阮老师两篇文章 《计算机是如何启动的?》...4.2.1 (Debian 1:4.2-3ubuntu6.18) 实验内核: 4.9.263 busybox: busybox-1.32.1 模拟启动# 下面介绍使用 QEMU 模拟启动内核文件系统的方法...为了模拟启动,需要准备编译好的内核 bzImage 和文件系统,下面分别介绍。.../rootfs \ -append "root=/dev/ram rdinit=/helloword" # 注意指定正确的内核文件系统位置 可以看到启动成功后打印出了 hello world...root=/dev/ram init=/init" # 注意指定正确的内核文件系统位置 使用 busybox 制作的 rootfs 提供了一些基础的命令可供使用。

1.7K30

Linux下BusyBox文件系统制作

这篇文章就介绍如何使用BusyBox制作一个最小文件系统,让Linux系统能够正常跑起来,能进入Linux命令行终端。...一个嵌入式Linux系统启动需要大致3个步骤: 编译、烧录、启动uboot引导程序 ,并设置好uboot环境变量 编译、烧录内核,并使用uboot引导内核,成功启动内核 如果使用nfs网络挂载方式,在设置...uboot环境变量的时候,就设置好nfs服务器的ip地址,目录等参数,等Linux内核启动后根据参数指引去挂载文件系统,挂载成功之后,最终进入到命令行终端,接下来就可以愉快的进行Linux编程了。...环境介绍 目标开发板: 友善之臂Tiny4412 Linux内核: 3.5 uboot版本: 2010.12 (2)....编译文件系统需要的基本文件 [wbyq@wbyq ~]$ mkdir ~/work/busybox -p [wbyq@wbyq ~]$ tar xvf busybox-1.23.2.tar.bz2 -

6.1K20

如何在 Linux 上加密文件系统

Linux 系统中,你可以使用加密技术来保护文件系统中的数据。加密文件系统可以防止未经授权的访问和数据泄露。本文将介绍如何在 Linux 上加密文件系统,并提供详细的步骤。...图片步骤以下是在 Linux 上加密文件系统的详细步骤:步骤1:选择适当的加密技术在加密文件系统之前,你需要选择适合你的系统和需求的加密技术。...步骤3:准备系统安装介质加密文件系统需要重新安装操作系统。因此,你需要准备一个适当的系统安装介质,例如 Linux 发行版的安装光盘或 USB 驱动器。确保你选择的安装介质支持加密功能。...在安装过程中,确保选择加密文件系统选项。具体的安装步骤可能因你所使用的 Linux 发行版而异,以下是一般的安装步骤:选择语言和地区设置。选择磁盘分区选项。创建分区时,选择加密选项。...管理启动过程中的挂载操作:了解如何管理启动过程中的挂载操作,以确保加密文件系统正确挂载。结论通过执行以上步骤,你可以在 Linux 上成功加密文件系统,保护系统中的敏感数据免受未经授权的访问。

28701

S3C2440移植linux3.4.2内核之修改分区以及制作文件系统

0x00260000-0x10000000 : "rootfs" //存放文件系统   所以接下来我们来修改内核分区 修改内核分区   在si里搜索上图出现的”S3C2410...打印信息表示不支持该内核不支持yaffs文件系统,然后尝试使用ext3 ext2 cramfs vfat msdos iso9660等来挂载 烧写jffs2文件系统    在.config中搜索JFFS2...表示jffs2已挂载,但是找不到init程序,因为这个文件系统的glibc库是交叉编译3.4版本的,由于3.4内核的交叉编译是4.3版本,所以不支持,接下来我们便重新制作文件系统 构造文件系统 详细步骤可参考构建文件系统...fs_mini_mdev_new.jffs2 //-n:表示每块不添加清除标记,-s:NAND的每页为2k,-e: NAND的每块为128kb //-d fs_mini_mdev_new:表示要制作的文件系统文件...配置EABI   进入si,搜索exitcode,找到0x00000004对应的宏定义是SIGILL,表示非法指令,是因为arm-linux-gcc-4.3.2是使用的EABI接口,内核由于未配置,所以出现非法

1.6K30

嵌入式Linux开发-文件系统本地挂载

前言 上篇文章介绍了文件系统的制作与NFS网络挂载,这篇文章介绍内核如何从本地挂载文件系统,完成系统启动。本地挂载一般用在产品发布的时候,本地挂载的操作也分为两种。...本地挂载方式1 这种放需要准备一张SD卡,然后需要利用官方光盘里提供的分区工具,对SD卡进行分区,再将内核、uboot、文件系统映像文件拷贝到SD卡上,再修改配置文件,设置启动的系统为Linux系统。...文件系统映像制作需要用到make_ext4fs命令,这个工具在光盘里也有,是一个压缩包,解压到PC机Linux系统下就可以使用。...配置内核: # cp tiny4412_linux_defconfig .config 制作文件系统的方式: make_ext4fs -s -l ...以下命令是挂载NFS文件系统之后,进入到Linux命令行执行。

4.4K20

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

前段时间接到一个兄弟 Team 反馈,发现在他们设计的一批板子跑一个他们开发的工程(为了后面描述方便,我们简称 SLT 工程)的时候,很容易出现文件系统挂载失败或者文件系统被损坏的情况,说排查了很久没有头绪...于此同时,我找了一块 EVB 板子,编译了 SLT 内核烧进去,测了很久没有复现到文件系统异常。...Reserved 空间保留给 ATF 自己用,Linux Kernel 看不到这片空间,内核里面通过正常的软件接口(比如 kmalloc)分配不到这段空间的内存,也就访问不到这片空间。...所以现在的现象是:只要Linux Kernel 看到 DDR 前 64 KB的空间后,文件系统挂载就异常了。...把这 64 KB 空间从 Linux Kernel Reserved 掉(这个只要在 dts 里面加一个 reserved-memory 节点就可以做到),这样内核里面正常的软件(包括文件系统)也就申请不到这片内存空间了

3K20

嵌入式Linux开发-busybox文件系统制作

前言 如果大家做过linux系统移植、或者Linux相关开发,对文件系统这个名词应该很熟悉,在搭建嵌入式开发环境过程中,移植bootloader,移植kernel制作文件系统是必须要做3件事情。...文件系统内核启动时所挂载mount的第一个文件系统,系统引导启动程序会在文件系统挂载之后从中把一些基本的初始化脚本和服务等加载到内存中去运行。...Linux启动时,第一个必须挂载的是文件系统;若系统不能从指定设备上挂载文件系统,则系统会出错而退出启动。成功之后可以自动或手动挂载其他的文件系统。因此,一个系统中可以同时存在不同的文件系统。...文件系统挂载的流程:先运行uboot引导内核内核启动完成之后,根据配置的环境变量,找到文件系统的位置,将/dev/xxx挂载,然后执行/linuxrc程序,等其执行完后。...格式是: xxx.so /dev目录下存放内核生成的设备节点,这个目录下的文件是内核自动生成的。 2. 文件系统制作 制作文件系统,需要用到Busybox工具包。

4K20

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

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

3.9K30

深入浅出文件系统原理之文件系统挂载(基于linux0.11)

看完文件系统的基础数据结构。我们接着解析的文件系统的挂载,因为这是文件系统被使用的起点。文件系统的挂载是在操作系统初始化的时候进行的。对应的函数是mount_root。...// 系统初始化时挂载文件系统 void mount_root(void) { int i,free; struct super_block * p; struct m_inode * mi...it is logically used 4 times, not 1 */ // 超级块挂载到了mi对应的inode节点,p->s_isup设置文件系统节点 p->s_isup = p-...printk("%d/%d free inodes\n\r",free,p->s_ninodes); } 从代码中我们可以知道,该函数的主要工作是读取硬盘的超级块内容,然后申请一个inode节点作为文件系统节点...后续的对文件系统的使用都是基于这个文件系统节点的。

2.2K50

嵌入式 linux 文件系统原理和制作方法

文件系统原理 1.1 为什么需要文件系统 init进程的应用程序在文件系统文件系统提供了根目录 / 内核启动后的应用层配置( etc 目录)在文件系统上。...几乎可以认为:发行版=内核+rootfs shell命令程序在文件系统上,比如 ls、cd 等命令 一套linux体系,只有内核本身是不能工作的,必须要 rootfs 上的 etc 目录下的配置文件、...1.2 文件系统的实质 文件系统是特殊用途的文件系统文件系统也必须属于某种文件系统格式。...以文件夹形式构成的文件系统文件系统其实就是一个包含特定内容的文件夹 文件系统可由任何一个空文件夹添加必要文件构成而成 文件系统的雏形就是在开发主机中构造的文件夹形式的 镜像文件形式的文件系统主要目的是用来烧录到块设备上...镜像文件形式的文件系统是由文件夹形式的文件系统使用专用的镜像制作工具制作而成的。

3.7K31

Linux内核设备驱动之proc文件系统笔记整理

/***************** * proc文件系统 *****************/ (1)/proc文件系统的特点和/proc文件的说明 /proc文件系统是一种特殊的、由软件创建的文件系统...,内核使用它向外界导出信息,/proc系统只存在内存当中,而不占用外存空间。.../proc下面的每个文件都绑定于一个内核函数,用户读取文件时,该函数动态地生成文件的内容。.../proc/filesystems 列出了可供使用的文件系统类型,通常是编入内核文件系统类型,但可以通过模块加入新的类型 /proc/interrupts 显示使用的中断号,中断名称,以及这些中断从系统启动后产生的次数...供uptime使用 /proc/version 内核版本 (2)自行实现一个/proc文件 需包含头文件,函数定义在/fs/proc/generic.c a.在/proc

3.5K21

详解Linux内核编译配置(menuconfig)、文件系统制作

目录 详解Linux内核编译配置(menuconfig)、文件系统制作 一、Linux内核配置原理 Linux内核的配置系统由三个部分组成, Linux 内核的编译菜单有3中方法: Menuconfig...配置内核原理: 二、Menuconfig主要功能选项介绍: 三、编译配置内核步骤 四、文件系统制作步骤 五、文件系统文件系统区别联系 博主热门文章推荐: ---- 详解Linux内核编译配置(menuconfig...)、文件系统制作 Linux内核配置原理 Menuconfig主要功能选项介绍 编译配置内核步骤 制作文件系统步骤 文件系统文件系统区别联系 ---- 一、Linux内核配置原理 Linux内核的配置系统由三个部分组成...---- 五、文件系统文件系统区别联系 很多人分不清文件系统文件系统的区别和联系: 个人理解,所谓**文件系统(Root Filesytem)**就是要包括linux启动时所必须的目录和关键性的文件...常见的linux文件系统:NFS 网络文件系统、YAFFS2针对nandflash, EXT3,EXT4 等。

4.7K20

怎么使用 Buildroot 构建文件系统

Buildroot 简介 制作文件系统有归多种方法: ① 使用Busybox手工制作 Busybox本身包含了很了Linux命令,但是要编译其他程序的话需要手工下载、编译,如果它需要某些依赖库,你还需要手工下载...如果想做一个极简的文件系统,可以使用Busybox手工制作。 ② 使用Buildroot自动制作 它是一个自动化程序很高的系统,可以在里面配置、编译内核,配置编译u-boot、配置编译文件系统。...Buildroot是一组Makefile和补丁,可简化并自动化地为嵌入式系统构建完整的、可启动的Linux环境 (包括bootloader、Linux内核、包含各种APP的文件系统)。...Buildroot可以自动构建所需的交叉编译工具链,创建文件系统,编译Linux内核映像,并生成引导加载程序用于目标嵌入式系统,或者它可以执行这些步骤的任何独立组合。...例如,可以单独使用已安装的交叉编译工具链,而Buildroot仅创建文件系统

2.3K30
领券