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

构建Linux根文件系统

本章目标 l 了解Linux的文件系统层次标准(FHS) l 了解根文件系统下各目录的作用 l 掌握构建根文件系统的方法:移植Busybox、构造各个目录、文件等 l 掌握制作yaffs、jffs2文件系统映象文件的方法...推广: 想了解更多嵌入式知识请移步到 100ask.taobao.com 17.1  Linux文件系统概述 17.1.1  Linux文件系统的特点 类似于Windows下的C、D、E等各个盘,Linux...流程图如图17.3所示,其中与构建根文件系统关系密切的是控制台的初始化、对inittab文件的解释及执行。 图17.3 Busybox init程序流程图 ?...17.3  使用glibc库 在第二章制作交叉编译工具链时,已经生成了glibc库,可以直接使用它来构建根文件系统。...17.4  构建根文件系统 上面两节在介绍了如何安装Busbybox、C库,建立了bin/、sbin/、usr/bin/、usr/sbin/、lib/等目录──最小根文件系统的大部分目录、文件已经建好。

3.3K30

Linux From Scratch(LFS11.0)构建 LFS 系统 - 清理系统

如果解除了虚拟内核文件系统的挂载,必须通过手动或重启系统的方式重新挂载它们,保证在进入 chroot 时它们已经挂载好。...第 7.3.2 节 “挂载和填充 /dev”和第 7.3.3 节 “挂载虚拟内核文件系统”已经说明了这一过程。...正如我们已经讨论过的,它们在链接到共享库,特别是使用 autotools 以外的构建系统时,是不必要,甚至有害的。...执行以下命令删除它们: find /usr/lib /usr/libexec -name \*.la -delete 上文中构建的编译器仍然有一部分安装在系统上,它现在已经没有存在的意义了。...执行命令删除它: find /usr -depth -name $(uname -m)-lfs-linux-gnu\* | xargs rm -rf 最后,移除上文开始时创建的临时 ‘tester’ 用户账户

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

【LFS 系列】从零开始 DIY Linux 系统:(六)构建 LFS 系统 - Util-linux-2.26

Util-linux 软件包其它实用程序。包括处理文件系统、控制台、分区以及消息等工具。...首先新建目录用于存储 hwclock 程序: mkdir -pv /var/lib/hwclock 安装 Util-linux 首先进入到源码目录,解压软件包: cd /sources tar xf util-linux...-2.26.tar.xz cd util-linux-2.26 准备编译 Util-linux: ....为了运行测试套件,必须保证当前运行 的系统中用于内核的 CONFIG_SCSI_DEBUG 选项可用,还必须保证以一个模块的方式编译。 把它构建到内核中可以防止启动。...如果需要的话,可以在重启进入完整的 LFS 系统后用以下命令运行该测试: bash tests/run.sh --srcdir=$PWD --builddir=$PWD 安装软件包: make install

72120

Linux系统编程】Linux项目自动化构建工具——makeMakefile

我们继续Linux开发工具的学习,这篇文章我们要学的是Linux中的项目自动化构建工具——make/Makefile 1....背景 make和makefile提供了自动化构建的能力,可以根据源文件的依赖关系和规则自动决定哪些文件需要重新编译。而直接使用gcc需要手动指定每个源文件的编译命令,不具备自动化的构建功能。...make是一个命令工具,是一个解释makefile中指令的命令工具,一般来说,大多数的IDE都有这个命令,比如:Delphi的make,Visual C++的nmake,Linux下GNU的make。...makefile是一个文本文件,它包含了构建目标(target)和构建规则(rule)。在makefile中,你可以定义编译器的选项、源文件的依赖关系以及如何生成可执行程序等内容。...make命令会读取makefile文件并根据其中的规则来进行构建。 使用make和makefile的主要步骤如下: 创建一个makefile文件,并为各个目标指定构建规则。

14310

【LFS 系列】从零开始 DIY Linux 系统:(六)构建 LFS 系统 - Linux-3.19 API 头文件

Linux API 头文件(在 linux-3.19.tar.xz 里)会将内核 API 导出给 Glibc 使用。...Linux API 头文件的安装 Linux 内核需要提供一个应用编程接口(API)供系统的 C 库(LFS 中的 Glibc)调用。这通过整理 Linux 内核源码包中的多个 C 头文件来完成。...首先进入到源码目录,解压软件包: cd /sources tar xf linux-3.19.tar.xz cd linux-3.19 确保在之前的动作里没有留下旧文件和依赖关系: make mrproper.../usr/include/linux/*.h:Linux API Linux 头文件 /usr/include/mtd/*.h:Linux API MTD 头文件 /usr/include/rdma/*....h:Linux API RDMA 头文件 /usr/include/scsi/*.h:Linux API SCSI 头文件 /usr/include/sound/*.h:Linux API 音频头文件

97120

【LFS 系列】从零开始 DIY Linux 系统:(五)构建临时系统 - 收尾工作

同样还可以用宿主系统里的 strip 命令为 /tools 目录下的 strip 二进制文件清理无用内容。 注意不要对库文件使用 --strip-unneeded 选项。...改变属主 当前,$LFS/tools 目录属于 lfs 用户,这是一个只存在于宿主系统上的帐号。 如果继续保持 LFS/tools 目录的现状,其中的文件将属于一个没有相关联帐号的用户ID。...为了解决这个问题,你可以在随后新的 LFS 系统里创建 /etc/passwd 文件时增加一个 lfs 用户,并注意给它分配和宿主系统里相同的用户和组ID。...root 用户下执行: export LFS=/mnt/lfs chown -R root:root $LFS/tools 尽管 LFS/tools 目录可以在 LFS 系统构建完成后删除,但仍然可以保留下来用于构建额外的相同版本...LFS 系统

82120

构建嵌入式 Linux 系统的4种有效工具

通常,其构建后的输出将包含目标设备的整个软件映像,包括内核、设备驱动程序、库和应用程序软件(有时也包括引导加载程序)。 在本文中,我将对构建嵌入式 Linux 系统的四种常用方式进行纵览。...完全公开:我在嵌入式 Linux 中的大部分工作都集中在 Yocto 项目上,而且我对这个系统的认识和偏见可能很明显。 Yocto 使用 Openembedded 作为其构建系统。...核心构建系统用 Make 编写,并且足够短以便开发人员了解整个系统,同时可扩展到足以满足嵌入式 Linux 开发人员的需求。 Buildroot 核心通常只处理常见用例,但它可以通过脚本进行扩展。...有些公司会为这里讨论的许多选项提供经过验证和支持的配置,除非您拥有嵌入式 Linux 构建系统方面的专业知识,否则这是一个不错的选择,可以让您专注于核心能力。...总结 构建嵌入式 Linux 系统有多种选择,每种都有优点和缺点。将这部分设计放在优先位置至关重要,因为在以后的过程中切换系统的成本非常高。除了这些选择之外,还有新的系统在开发中。

2.8K20
领券