编译busybox--制作linux文件系统
来源:互联网 发布:手机淘宝图片尺寸 编辑:程序博客网 时间:2024/05/20 18:22
reference: http://blog.sina.com.cn/s/blog_5248460001013dqn.html
文件系统:
文件系统:
1.Uboot:启动内核
2.内核:启动应用程序
3.应用程序,构建:根文件系统;
内核怎样启动第一个应用程序?
1.启动open(/dev/console sys_dup(),sys_dop(0))
2.run_init_process()
ls -l /bin/ls //
busybox ls //
应用程序的目的是启动用户程序,启动用户程序的第一个进程是/sbin/init
bosybox-启动->init_main
parse_inittab
file = fopen(INITTAB,"r");
new_init_action() //1创建一个init_action结构,填充
//2把这个结构放入init_action_list链表;
从默认的new_init_action反推出默认的配置文件;
#inittab格式:
#<id>:<runlevels>:<action>:<process>
new_init_action(ASKFIRST,"-/bin/sh","/dev/tty2");
static void new_init_action(int_action,const char*command,const char *cons)
1创建一个init_action结构,填充
2把这个结构放入init_action_list链表;
查看/example中的inittab;
inittab格式:
<id>:<runlevels>:<action>:<process>
id =>/dev/id, 用作终端:stdin,stdout.......
busybox一共有5相基本要素
1.dev/console
2.init-->busybox //读取配置文件-->解析配置文件-->启动用户程序;
3./etc/inittab
4.配置文件指定的程序 //最小的文件系统时此条没必要
5.C库
busybox
解压文件中install中描述到:
Building:
=========
The BusyBox build process is similar to the Linux kernelbuild:
//直接make install 会将busybox安装到默认的虚拟机操作系统中,而造成red hat损坏;
//尝试直接Make install 后,生成本目录下文件夹 _install ,即为文件系统;
//尝试直接Make install 后,生成本目录下文件夹 _install ,即为文件系统;
查看red hat系统文件ls /dev/console /dev/null -l
crw------- 1 root root 5, 1 05-20 09:16 /dev/console
crwxrwxrwx 1 root root 1, 3 05-20 09:15 /dev/null
在生成的FS文件夹里面
mkdir dev
cd dev
mknod console c 5 1 //(如果出现权限问题sudo mknodconsole c 5 1) #重中之重,没有这个在编译initramfs时起不来。还找不到是哪的原因。汗
sudo mknod null c 1 3 //同Red Hat里面比较
cd ..
mkdir etc
vi etc/inittab //内容为console::askfrist:-bin/sh
mkdir lib //Copy的lib是:(arm的gcc编译器中的交叉编译器的库文件)即:/usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/armv4t/lib下的*.so动态库;
- 编译busybox--制作linux文件系统
- linux根文件系统制作之busybox编译和系统构建
- 制作文件系统 BusyBox的交叉编译
- Busybox制作嵌入式Linux的文件系统
- 用busybox制作嵌入式Linux的文件系统
- 用Busybox制作嵌入式Linux的文件系统
- 用busybox制作嵌入式Linux的文件系统
- 用busybox制作嵌入式Linux的文件系统
- 用busybox制作嵌入式Linux的文件系统
- 用busybox制作嵌入式Linux的文件系统
- 用busybox制作嵌入式Linux的文件系统
- 使用BusyBox制作linux根文件系统
- 使用BusyBox制作linux根文件系统
- 使用busybox制作Linux根文件系统
- 使用busybox制作linux根文件系统
- 用BusyBox制作Linux根文件系统
- 基于 busybox 制作 linux 根文件系统
- 用busybox制作嵌入式Linux的文件系统
- VC 判断文件是否存在
- 深入浅出FPGA-15-xilinx_zynq7000_EPP上一个简单实验(PL)
- Java中的面向对象原理(10.25)
- JS alert()、confirm()、prompt()的区别
- new operator and operator new
- 编译busybox--制作linux文件系统
- visualstudio 不能自动提示了
- send recv函数
- Oracle grant 授权 出现 library cache lock 等待事件 处理
- 《代码大全》和《重构》读后感
- POJ 2451 Uyuw's Concert(半平面交)
- 铁轨问题
- hdu 4081 Qin Shi Huang's National Road System
- Android Audio AudioHardwareALSA::openOutputStream函数