一。建立根文件系统目录与文件

  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

    #mv etc/* …/root/etc/ -rf

  4. 添加内核模块

    #cd …/linux

    #make modules ARCH=arm CROSS_COMPILE=arm-linux-

    #make modules_install ARCH=arm INSTALL_MOD_PATH=…/rootfs

  5. 编译busybox

    1.配置busybox 

      #make menuconfig

      Busybox Settings àbuild Options->

      *选中“Build busybox as a static binary”, 静态链接

      *Cross Compiler prefix (arm-linux-)

      Installation Options->

      *选中“Don‘t use /usr”, 选中该项可以避免busybox 被安装到宿主系统的/usr目录下,破坏宿主系统

      *Busybox Installation Prefix (/xxx/rootfs)

      该选项表明编译后的busybox的安装位置

    2. 编译、安装busybox

      #make

      #make install

二。挂载根文件系统到内核

  1. 挂载方式简介

   (1). 文件系统类型

       根据存储设备的硬件特性、系统需求,不同的文件系统类型有不同的应用场合。

       在嵌入式Linux应用中,主要的存储设备为RAM 和FLASH,

       常用的基于存储设备的文件系统类型包括:jffs2, yaffs2, ubifs, ramdisk等

   (2). 系统类型

      #基于nandflash的文件系统 yaffs2 ,UbiFS(可读可写)

      #基于norflash的文件系统  Jffs2

      #基于内存的文件系统 rmdisk , Initramfs

      #基于网络的文件系统 NFS

  2. initranfs挂载

    1. #cd …/rootfs/#ln –s ./bin/busybox init

    2. 配置Linux内核,支持initramfs

      

    3. 编译

    4. 设置环境变量

      setenv bootargsnoinitrd console=ttySAC0,115200

  3. NFS挂载

    

setenv bootargs noinitrd

       console=ttySAC0,115200 init=/init

      root=/dev/nfs rw

      nfsroot=192.168.1.3:/home/s5-ARM/Part4/rootfs,proto=tcp,nfsvers=

      3ip=192.168.1.6:192.168.1.3:192.168.1.1:255.255.255.0::eth0:off

Linux 根文件系统的制作的更多相关文章

  1. Linux根文件系统的制作

    转载:http://www.cnblogs.com/hnrainll/archive/2011/06/09/2076655.html 1. 根文件系统 文件系统是包括在一个磁盘(包括光盘.软盘.闪盘及 ...

  2. linux 内核移植和根文件系统的制作【转载】

    原文地址:http://www.cnblogs.com/hnrainll/archive/2011/06/09/2076214.html 1.1 Linux内核基础知识 在动手进行Linux内核移植之 ...

  3. linux 内核移植和根文件系统的制作

    1.1 Linux内核基础知识 在动手进行Linux内核移植之前,非常有必要对Linux内核进行一定的了解,下面从Linux内核的版本和分类说起. 1.1.1  Linux版本 Linux内核的版本号 ...

  4. linux根文件系统 /etc/resolv.conf 文件详解

    Linux根文件系统/etc/resolv.conf文件,它是DNS客户机配置文件,用于设置DNS服务器的IP地址及DNS域名,还包含了主机的域名搜索顺序.该文件是由域名解析器(resolver,以恶 ...

  5. linux根文件系统制作

    在嵌入式中移植的内核下载到开发板上,是没有办法真正的启动Linux操作系统的,会出现无法加载文件系统的错误. 那么根文件系统在系统启动中到底是什么时候挂载的呢?先将/dev/ram0挂载,而后执行/l ...

  6. 使用BusyBox制作linux根文件系统(CramFS+mdev)

    转:http://www.360doc.com/content/10/0428/11/496343_25245348.shtml 操作系统:Ubuntu9.04 内核版本:linux-2.6.24.7 ...

  7. 基于mini2440嵌入式Linux根文件系统制作(Initramfs和nfs两种跟文件系统)

    嵌入式系统由三部分构成: 1.bootoader---bootparameters---2.kernel 3.Root-filesysytem 一个内核可以挂载多个文件系统,但是有一个根文件系统所以叫 ...

  8. 制作linux根文件系统

    转载地址:http://wenku.baidu.com/view/2cb1b4707fd5360cba1adb14.html 2011十一月 24 转 嵌入式根文件系统制作 (3985) (0) 转自 ...

  9. linux根文件系统制作,busybox启动流程分析

    分析 busybox-1.1.6 启动流程,并 制作一个小的根文件系统 源码百度云链接:https://pan.baidu.com/s/1tJhwctqj4VB4IpuKCA9m1g 提取码 :l10 ...

随机推荐

  1. ACID CAP BASE介绍

    ACID ACID,是指数据库管理系统(DBMS)在写入/更新资料的过程中,为保证事务(transaction)是正确可靠的,所必须具备的四个特性:原子性(atomicity,或称不可分割性).一致性 ...

  2. C#学习笔记(二):继承、接口和抽象类

    继承 密封类 密封类(关键字sealed)是不允许其它类继承的,类似Java中的final关键字. public sealed class SealedClassName { //... } 初始化顺 ...

  3. 织梦dedecms后台添加图片style全部都变成st<x>yle的解决办法

    可乐站长在建站的时候,上传缩略图喜欢输入图片路径,不喜欢上传图片,有几次我上传图片路径为:/style/image/**.jpg,然后返回修改后,图片为路径却为:/st<x>yle/ima ...

  4. 在数据库各种状态下查询DBID的五大类十种方法汇总

    关于DBID: DBID是DataBase IDentifier的缩写,意思就是数据库的唯一标识符. 这个DBID在数据文件头和控制文件都是存在的,可以用于标示数据文件的归属. 对于不同数据库来说,D ...

  5. LinkedList类

    LinkedList类 LinkedList类和ArrayList,Vector基本相同,都有增.删.改.查等方法.LinkedList是继承List接口. import java.util.*; p ...

  6. cocos2d-x Mask的实现及优化

    转自:http://blog.ch-wind.com/cocos2d-x%E4%B8%ADmask%E7%9A%84%E5%AE%9E%E7%8E%B0%E5%8F%8A%E4%BC%98%E5%8C ...

  7. 【转】【React Native开发】

    [React Native开发]React Native控件之ListView组件讲解以及最齐全实例(19)  [React Native开发]React Native控件之Touchable*系列组 ...

  8. Hadoop之父Doug Cutting

    生活中,可能所有人都间接用过他的作品,他是Lucene.Nutch .Hadoop等项目的发起人.是他,把高深莫测的搜索技术形成产品,贡献给普罗大众:还是他,打造了目前在云计算和大数据领域里如日中天的 ...

  9. PostgreSQL的 initdb 源代码分析之十三

    继续分析: /* Bootstrap template1 */ bootstrap_template1(); 展开: 我这里读入的文件是:/home/pgsql/project/share/postg ...

  10. stack对象与heap对象

    从高地址到低地址,分别是stack,heap,static object,stack地址往下增长,heap地址往上增长.只要记住:stack栈顶地址反而小,就知道往下增长了. 禁止产生堆对象 1.产生 ...