linux 根文件系统的制作,Linux 根文件系统的制作

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

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

38f6b712dba7b326666dfbf279ae3eb4.png

2bd562a2f1ec454b7215b6ac17824006.png

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根文件系统的制作

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值