linux最小根文件系统制作简介

原创 2013年12月06日 11:00:59
从上篇我们知道最小的根文件系统需要的项包括:
1./dev/console
/dev/null
2.init=>busybox;
3./etc/inittab;
4.配置文件中指定的程序;
5.C库;
那么我们一一创建上面各项,并将其制作成一种文件系统的格式,就构建成了一个根文件系统。

构建根文件系统

我们首先来配置、编译好busybox,并安装在指定目录下,上节中所说的最小根文件系统的第二项init也就做好了。注意,如果我们是在linux操作系统下编译busybox,用于其它系统安装,那么在配置(make menuconfig)、编译(make)完之后,千万不要直接make install,否则会影响本机系统,应该make CONFIG_PREFIX=/path/from/root install,即指定路径安装,/path/from/root即为自己指定的安装目录。这一点busybox的INSTALL中有说明。下面来做其他几项并且将该文件夹做成某种格式。

先来创建两个设备文件/dev/console和/dev/null:
从主机上查看这两个文件可以看到,/dev/console是主设备号为5,次设备号为1的设备节点,/dev/null是主设备号为1,次设备号为3的设备节点;
那么我们到busybox的安装文件中创建dev,在其中创建设备节点console和null,指定其相应设备节点,与上面查看的一致,这样上节提到的最小根文件系统中的第一项就完成了;

接着来创建第三项,用户程序配置文件/etc/inittab(第二项在busybox的安装中完成了):
直接在busybox安装目录下创建etc目录下创建inittab配置文件,并按照该配置文件的格式,添加启动项即可,例如console::askfirst:-/bin/sh,此项完成;

第四项应用程序暂时不需要,先做最小根文件系统,不运行应用程序;

第五项C库
busybox安装路径下最小文件系统目录下创建lib,将glibc下的lib中.so文件全部拷贝到的该lib中即可,如:
$ cd ~/gcc-3.4.5-glibc-2.3.6/arm-linux/lib
$ cp *.so* /path/from/root/fs_mini/lib -d
完成C库创建,其中-d表示如果该库文件问连接文件,则让它保持链接文件属性,否则会把所有源文件都考过去,那样会很大。

那么这个最下的根文件系统怎么烧到开发板中去?
我们需要用相应的工具做一个映像文件。如使用yaff2的工具转成*.yaff2的影响文件等。生成后,得到的即为可烧写到开发板的映像文件。
版权声明:本文为博主原创文章,未经博主允许不得转载。

制作最小根文件系统

  • 2016年07月06日 15:13
  • 2.9MB
  • 下载

构建最小根文件系统

PC端服务器系统:ubuntu12.04 LTS,已安装好NFS服务,IP地址为192.168.1.61 开发板平台:TQ2440,已经成功烧写u-boot和内核,内核版本:2.6.22.6,IP地...
  • wenjs0620
  • wenjs0620
  • 2016年06月14日 09:09
  • 392

【记录】制作最小根文件系统

概述所谓制作根文件系统,就是创建各种目录,并在里面创建各种文件。如在/bin,/sbin目录下存放各种可执行程序,在/etc目录下存放配置文件,在/lib目录下存放库文件。 通常,使用Busybox...
  • iluzhiyong
  • iluzhiyong
  • 2016年08月08日 15:21
  • 1101

一步步制作根文件系统 (一)

开发环境:Ubuntu 12.04                             开发板:mini2440  256M NandFlash   64M SDRAM              ...
  • ASKLW
  • ASKLW
  • 2016年09月21日 18:47
  • 4025

为linux建立最小的根文件系统

为linux建立最小的根文件系统 在编译内核时候,可以指定一个文件夹作为内核启动时候的根文件系统,linux中管这个文件系统叫做initramfs。 具体做法如下(以i386为例) ...
  • tycoon1988
  • tycoon1988
  • 2015年06月17日 10:46
  • 1639

构建最小根文件系统

一、 编写目的 2 二、 构建根文件系统 2 1. 编译busybox 2 2. 移植glibc库 4 3. 构建根文件系统目录 4 三、 总结 5   一、编写目的 本文档用...
  • lshiceman
  • lshiceman
  • 2014年07月18日 13:59
  • 617

busybox-1.20.2 交叉编译 并构建最小根文件系统

进入busybox-1.20.2目录执行make menuconfig
  • dean_gdp
  • dean_gdp
  • 2014年05月15日 12:09
  • 1269

I.MX6Q(TQIMX6Q/TQE9)学习笔记——新版BSP之根文件系统挂载

经过前面的移植,新版BSP的uboot和kernel已经能够在tqimx6q开发板上运行了,接下来我们来挂载文件系统。 DTB整理 前面的文章中提到,新版BSP的DTB管理感觉不是太好,在之前移植的B...
  • girlkoo
  • girlkoo
  • 2015年05月04日 00:03
  • 8813

构建最小根文件系统

PC端服务器系统:ubuntu12.04 LTS,已安装好NFS服务,IP地址为192.168.1.61 开发板平台:TQ2440,已经成功烧写u-boot和内核,内核版本:2.6.22.6,IP地...
  • wenjs0620
  • wenjs0620
  • 2016年06月14日 09:09
  • 392

定制适用于ARM平台的Ubuntu rootfs(根文件系统)

0 背景 有一个很厉害的师兄针对我们实验室的需求设计了一块控制板,以beaglebone为基础,由于更改了一些底层的硬件,所以重新定制编译的内核,并预先烧写到了板子的flash中。现在需要安装ubun...
  • mountzf
  • mountzf
  • 2016年06月18日 23:45
  • 5001
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:linux最小根文件系统制作简介
举报原因:
原因补充:

(最多只允许输入30个字)