18.14 构建Linux根文件系统】的更多相关文章

18.14.1 Busybox1.7.0之init程序分析 1.读取配置文件 2.解析配置文件 3.执行用户程序(根据配置文件中指定的内容) 配置文件: 1.指定应用程序 2.何时执行 busybox -> init.c ->init_main() ->parse_inittab() ->fopen(INITTAB, "r");//打开配置文件/etc/inittab ->new_init_action() new_init_action(int acti…
      所谓制作根文件系统, 就是创建各种目录, 并且在里面创建各种文件. 比如在/bin ./sbin 目录下存放各种可执行程序, 在/etc 目录下存放配置文件, 在/lib 目录下存放库文件. 第一步:Busybox的配置.编译和安装 Busybox概述 Busybox的官方网站是http://www.busybox.net/,源码可以从http://www.busybox.net/ downloads/下载 Busybox 将众多的 UNIX 命令集合进一个 很小的可执行程序中, 可…
本文转载自; 版权声明:本文为博主原创文章,未经博主允许不得转载.   目录(?)[+]   Buildroot构建指南——根文件系统(Rootfs) Buildroot的Rootfs构建流程有一个大框架,有些部分是Buildroot系统做好的,有些细节需要自己来实现,Rootfs也是Buildroot中最为复杂的部分. Rootfs的构建流程概述 Rootfs的构建流程如图1所示.其中浅色框中为Buildroot实现的框架,深紫色框为用户实现的脚本. Figure 1 Buildroot系统的…
Linux根文件系统/etc/resolv.conf文件,它是DNS客户机配置文件,用于设置DNS服务器的IP地址及DNS域名,还包含了主机的域名搜索顺序.该文件是由域名解析器(resolver,以恶根据主机名解析IP地址的库)使用的配置文件.它的格式很简单,每行以一个关键字开头,后接一个或多个由空格隔开的参数. resolv.conf文件的关键字主要有四个,分别是: nameserver //定义DNS服务器的IP地址 domain //定义本地域名 search //定义域名的搜索列表 so…
转自:http://blog.chinaunix.net/uid-29401328-id-5019660.html 介绍完相关文件后我们开始构建文件系统,涉及到的文件等到具体用到的时候再讲. 一.编译busybox 首先下载busybox源码,编译busybox,得到一些初始化文件及我们需要的各种命令.关于busybox的作用请百度,这里不详细讲.我下载的是busybox-1.23.1,解压之后进入到顶层目录. 1.修改顶层Makefile 把CROSS_COMPILE和ARCH修改成你自己的交…
在嵌入式中移植的内核下载到开发板上,是没有办法真正的启动Linux操作系统的,会出现无法加载文件系统的错误. 那么根文件系统在系统启动中到底是什么时候挂载的呢?先将/dev/ram0挂载,而后执行/linuxrc.等其执行完后.切换根目录,再挂载具体的根文件系统.根文件系统执行完之后,也就是到了Start_kernel()函数的最后,执行init的进程,也就第一个用户进程.对系统进行各种初始化的操作. 根文件系统之所以在前面加一个”根“,说明它是加载其它文件系统的”根“,既然是根的话,那么如果没…
转载:http://www.oschina.net/question/129540_116839 在当前的嵌入式操作系统开发中,Linux 操作系统通常被压缩成 Image 后存放在 Flash 设备中.在系统启动过程中,这些 Image 被直接挂载到根文件系统, 然而这时的根文件系统是只读的, 用户不能在这个文件系统中进行任何写的操作. 如果把 Image 解压后直接拷贝到内存中,也可以实现写的功能,但是嵌入式系统一直存在内存大小方面的限制,所以将整个 Linux 系统拷入内存是不可取的. 本…
转载:http://www.cnblogs.com/hnrainll/archive/2011/06/09/2076655.html 1. 根文件系统 文件系统是包括在一个磁盘(包括光盘.软盘.闪盘及其它存储设备)或分区的目录结构:一个可应用的磁盘设备可以包含一个或多个文件系统:如果您想进入一个文件系统,首先您要做的是挂载(mount)文件系统:为了挂载(mount)文件系统,您必须指定一个挂载点. 注:对于我们应用开发来说,购买开发板的时候,厂家会提供好现成的根文件系统和BootLoader等…
转:http://www.360doc.com/content/10/0428/11/496343_25245348.shtml 操作系统:Ubuntu9.04 内核版本:linux-2.6.24.7   开发板:博创arm2410s     交叉编译工具:arm-linux-gcc-4.1.1  BusyBox:busybox-1.11.1       CramFS:CramFS-1.1   注意:由于要制作的根文件系统使用了mdev(BusyBox简化版的udev),因此,需要内 核支持sy…
一:前言 前段时间在编译kernel的时候发现rootfs挂载不上.相同的root选项设置旧版的image却可以.为了彻底解决这个问题.研究了一下rootfs的挂载过程.特总结如下,希望能给这部份知识点比较迷茫的朋友一点帮助. 二:rootfs的种类 总的来说,rootfs分为两种:虚拟rootfs和真实rootfs.现在kernel的发展趋势是将更多的功能放到用户空间完成.以保持内核的精简.虚拟rootfs也是各linux发行厂商普遍采用的一种方式.可以将一部份的初始化工作放在虚拟的rootf…
转载地址:http://wenku.baidu.com/view/2cb1b4707fd5360cba1adb14.html 2011十一月 24 转 嵌入式根文件系统制作 (3985) (0) 转自:http://wenku.baidu.com/view/2cb1b4707fd5360cba1adb14.html 根文件系统制作 注:busybox下载地址:http://www.busybox.net/ 目标:用busybox定制一个很小的文件系统,并且运行用户编译的hello. 一.文件系统…
一.建立根文件系统目录与文件 1. 创建目录 #mkdir rootfs #cd rootfs #mkdir bin dev etc lib proc sbin sys usr mnt tmp var #mkdir usr/bin usr/lib usr/sbin lib/modules 2. 创建设备文件 #cd rootfs/dev #mknod -m 666 console c 5 1 #mknod -m 666 null c 1 3 3. 加入配置文件 #tar etc.tar.gz #…
STEP 1:构建目录结构  创建根文件系统目录,主要包括以下目录/dev  /etc /lib  /usr  /var /proc /tmp /home /root /mnt /bin  /sbin  /sys #mkdir     /home/rootfs#cd        /home/rootfs #mkdir  dev  etc  lib  usr  var  proc  tmp  home  root  mnt   sys STEP 2:    使用busybox构建/bin /sb…
STEP 1:构建目录结构 创建根文件系统目录,主要包括以下目录/dev  /etc /lib  /usr  /var /proc /tmp /home /root /mnt /bin  /sbin  /sys #mkdir     /home/rootfs#cd        /home/rootfs #mkdir  dev  etc  lib  usr  var  proc  tmp  home  root  mnt   sys STEP 2:    使用busybox构建/bin /sbi…
root :文件系统是文件系统的顶级目录.它必须包含在挂载其它文件系统前需要用来启动 Linux 系统的全部文件.它必须包含需要用来启动剩余文件系统的全部可执行文件和库.文件系统启动以后,所有其他文件系统作为 root 文件系统的子目录挂载到标准的.预定义好的挂载点上. /bin:该目录存放所有用户可以使用的基本的命令,这些系统在挂接其他文件系统之前就可以使用.所以/bin目录和根文件系统在同一个分区中.常用命令有: cat.chgrp.chmod.cp.ls.sh.kill.mount.umo…
Linux文件系统:    内核并不真正负责具体的工作,这些工作是应用程序来负责的    Linux glibc    程序的编译方式:        动态链接式编译:        静态链接式编译: 进程的类型:        终端:硬件设备国,关联一个用户接口 与终端相关:通过终端启动        与终端无关:操作引导启动过程当中自动启动 操作系统的组成:        静态:kernel,application 文件系统:以层级结构划分,倒置的树状结构        https://bl…
嵌入式系统由三部分构成: 1.bootoader---bootparameters---2.kernel 3.Root-filesysytem 一个内核可以挂载多个文件系统,但是有一个根文件系统所以叫root-filesysytem,bootloader引导程序和kernel内核程序之间有个引导参数(也叫启动参数)叫bootparameters,这里就不多介绍引导参数,这里就介绍根文件系统地制作. 1.1.创建目录,创建rootfs目录,再创建以下目录和子目录 mkdir rootfs cd r…
分析 busybox-1.1.6 启动流程,并 制作一个小的根文件系统 源码百度云链接:https://pan.baidu.com/s/1tJhwctqj4VB4IpuKCA9m1g 提取码 :l10z…
根据马哥Linux初级视频2-3 1. 根文件下的一级目录 #ls / 1. / boot 系统启动相关的文件.如内核.initrd   (initialization run directory) 2.  /dev 设备文件:里面包括块设备(随机访问).字符设备(线性访问,按字符为单位).设备号(主设备号和次设备号) 3. /etc 配置文件 4. /home 用户的家目录,默认为  /home/USERNAME 我的想法是,既然是home了,那么这个下面就包含所有用户的信息,如Windows…
1.创建根文件目录 mkdir rootfs(名字是随便取的) 2.创建子目录 cd rootfs mkdir bin dev etc lib proc sbin sys usr mnt tmp var mkdir usr/bin usr/lib usr/sbin lib/modules 3.创建设备文件 cd dev mknod -m 666 console c 5 1 mknod -m 666 null c 1 3(两个数字之间有空格,两个数字表示设备的主次设备号,刚开始学习的时候不懂连在一…
/下面的文件 /boot:系统启动相关的文件:如内核,inittrd ,以及MBR grub /dev :设备文件: 块设备:随机访问,数据块 如:USB 字符设备:线性访问,按字符为单位如:鼠标,按键,显示器等. 设备号:主设备号和次设备号 /etc :配置文件目录 /home :用户家目录/home/USERNAME   ~ /root:系统管理员家目录 --生产环节中不用管理员身份登录. /lib :库 /lib/modules:内核模块 静态库:.a 动态库: .dll(windows)…
编译Busybox 从http://www.busybox.net/downloads/下载busybox工具.这里我们下载的上最新版: busybox-1.24.2.tar.bz2 解压Busybox # tar jxvf busybox-1.24.2.tar.bz2 修改Makefile # cd busybox-/# vim Makefile 在164行 CROSS_COMPILE ?= arm-linux-gnueabi- ARCH ?= arm Make menuconfig进行配置,…
欢迎转载,转载时请保留作者信息,谢谢. 邮箱:tangzhongp@163.com 博客园地址:http://www.cnblogs.com/embedded-tzp Csdn博客地址:http://blog.csdn.net/xiayulewa     有好文章,就不自己写了,偷懒转载下,只是有一点说明,文章  4:编译内核模块, 其实是不必要的,可以后面再编译进文件系统.   原文链接: http://blog.csdn.net/zhangliang_571/article/details/…
Linux系统上的文件类型:    -:常规文件,即f    d:directory,目录文件    b:block device,块设备文件,支持以“block”为单位进行随机访问    c:character device,字符设备文件,支持以“character”为单位进行线性访问        major number:主设备号,用于标识设备类型,进而确定要加载的驱动程序        minor number:次设备号,用于标识同一类型中的不同的设备            早期用8位二…
大家好,今天51开源给大家介绍一个在配置文件,那就是/etc/resolv.conf.很多网友对此文件的用处不太了解.其实并不复杂,它是DNS客户机配置文件,用于设置DNS服务器的IP地址及DNS域名,还包含了主机的域名搜索顺序.该文件是由域名解析器(resolver,一个根据主机名解析IP地址的库)使用的配置文件.它的格式很简单,每行以一个关键字开头,后接一个或多个由空格隔开的参数. resolv.conf的关键字主要有四个,分别是: nameserver    //定义DNS服务器的IP地址…
文件管理工具:cp,mv,rm    cp命令:copy                cp命令主要用于复制文件或目录 语法:        单源复制        cp [OPTION]... [-T] SOURCE DEST         多源复制        cp [OPTION]... SOURCE... DIRECTORY         cp [OPTION]... -t DIRECTORY SOURCE... 单源复制:cp [OPTION]... [-T] SOURCE DE…
bash的基础特性: 命令补全:        shell程序在接收到用户执行命令的请求,分析完成之后,最左侧的字符串会被当作命令        命令查找机制:            查找内部命令            根据PATH环境变量中设定的目录,自左而右逐个搜索目录下的文件名 给定的打头字符串如果能惟一标识某命令程序文件,则直接补全:不能惟一标识某命令程序文件,按Tab键一次,会给出列表 路径补全:        在给定的起始路径下,以对应路径下的打头字符串来逐一匹配起始路径下的每个文件…
说一下LINUX根文件系统的构建: 制作文件系统 1. 交叉编译busybox 安装:make install CONFIG_PREFIX=/work/nfs_root/fs_mini_mdev_new 2. 安装库 mkdir /work/nfs_root/fs_mini_mdev_new/lib mkdir /work/nfs_root/fs_mini_mdev_new/usr/lib -p cp /usr/local/arm/4.3.2/arm-none-linux-gnueabi/lib…
Hi!大家好,我是CrazyCatJack.又和大家见面了.今天给大家带来的是构建Linux下的根文件系统.希望大家看过之后都能构建出符合自己需求的根文件系统^_^ 1.内容概述 1.构造过程 今天给大家展示的根文件系统构造过程如下图所示: 正如大家看到的,这是一个环环相扣的过程.因为在这四个方面的内容其实相互包含,有很多交集的地方,所以我用环图给大家展示.在第一部分,我会给大家讲解如何在etc/目录下编写相应的配置文件,包含etc/init.d/rcS和etc/fstab等:在第二部分,将会教…
相关工具版本: busybox-1.7.0 arm-linux-4.3.2 linux-2.6.22   1.配置busybox并安装. 在我们的根文件系统中的/bin和/sbin目录下有各种命令的应用程序,而这些程序在嵌入式系统中都是通过busybox来构建的,每一个命令实际上都是一个指向busybox的链接,busybox通过传入的参数来决定进行何种命令操作. 1)配置busybox 解压busybox-1.7.0,然后进入该目录,使用makemenuconfig进行配置.这里我们这配置两项…