设为首页 加入收藏

TOP

Mini6410基于Linux2.6.36内核制作initramfs文件系统
2014-11-24 13:07:15 来源: 作者: 【 】 浏览:0
Tags:Mini6410 基于 Linux2.6.36 内核 制作 initramfs 文件 系统

根文件系统一般包括:


1)基本的文件系统结构,包含一些必须的目录,比如:/dev,/proc,/bin,/etc,/lib,/usr,/tmp;


2)基本程序运行所需的库函数,如:libc/uC-libc;


3)基本的系统配置文件,如:rc,inittab等脚本文件;


4)必要的设备支持文件,如:/dev/hd*,/dev/tty,/dev/fdO;


5)基本的应用程序,如:sh,ls,cp,mv等。 


根文件系统的制作就是生成包含上述各种文件的文件系统的过程,可通过直接拷贝宿主机上交叉编译器处的文件来制作根文件系统,但是这种方法制作的根文件系统一般过于庞大。也可通过一些工具如busybox来制作根文件系统,用busybox制作的根文件系统可以做到短小精悍并且运行效率较高。写成shell文件便于操作,有些人将BusyBox称为Linux工具里的瑞士军刀.


根文件系统是linux启动时使用的第一个文件系统。没有根文件系统,linux将无法正常启动。根文件系统:有一系列的目录组成,目录中包含了应用程序、c库、以及相关的配置文件。


step1:创建根文件系统目录


cd /opt/FriendlyARM/mini6410/linux


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


step2:创建设备文件:


cd dev/


mknod -m 666 console c 5 1


mknod -m 666 null c 1 3


cd ..


step3:安装/etc(配置文件可以从其他做好的嵌入式系统中cp)


tar etc.tar.gz –C /xxx/rootfs


step4:编译内核模块:


进入Linux内核目录(linux 2.6.36)


make modules ARCH=arm CROSS_COMPILE=arm-linux-


step5:安装内核模块


make modules_install ARCH=arm INSTALL_MOD_PATH=/xxx/rootfs


step6: 配置busybox


Busybox: 嵌入式开发中的瑞士军刀


进入busybox目录执行


make menuconfig


a.进入 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的安装位置

step7: 编译,安转busybox


配置内核使内核支持此文件系统:在generalsetup中:


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Mini6410 led驱动程序(混杂设备) 下一篇Tiny6410基于SDBOOT通过NFS启动根..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·Sphinx : 高性能SQL (2025-12-24 10:18:11)
·Pandas 性能优化 - (2025-12-24 10:18:08)
·MySQL 索引 - 菜鸟教 (2025-12-24 10:18:06)
·Shell 基本运算符 - (2025-12-24 09:52:56)
·Shell 函数 | 菜鸟教 (2025-12-24 09:52:54)