基于S3C2440构建根文件系统
来源:互联网 发布:jiragn 类似的软件 编辑:程序博客网 时间:2024/05/17 19:59
如何构建根文件系统 2016.6.3
1.内核怎样启动第一个应用程序
a.打开了第一个设备
run_init_process(execute_command)要么是命令行里指定的
run_init_process("/sbin/init")
ps查看当前正在跑的程序
init程序:
a.读取配置文件
b.解析配置文件
c.执行用户程序
ls -l bin cp
busybox->init_main
parse_inittab(解析init表)
file = fopen(打开配置文件etc/inittab)
inittab格式:
<id>:<runlevels>:<action>:<process>
runlevels : 忽略
action :执行时机
process :应用程序和脚本
id => /dev/id,用做终端 : stdin,stdout,stderr,printf,scanf,err
new_init_action
new_init_action(ASKFIRST, bb_default_login_shell, VC_2);
new_init_action(ASKFIRST, -/bin/sh, /dev/tty2);
static void new_init_action(int action, const char *command, const char *cons)
①创建一个init_action结构,填充
②把这个结构放入init_action_list
run_actions执行动作
一个根文件系统需要的项
/dev/console
/dev/null
/etc/inittab配置文件
配置文件里指定的应用程序
库(fopen())
init本身,即busybox
编译时遇到
/work/tools/usr/local/arm/4.3.2/bin/../arm-none-linux-gnueabi/libc/usr/include/linux/netfilter.h:44:
error: field 'in' has incomplete type
解决办法:
修改arm-linux交叉编译工具链
在usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/usr/include/linux/netfilter.h
头文件的开头添加缺少的头文件:#include<netinet/in.h>
构建最小根文件系统
mount -a挂在根文件系统
NFS挂载
手工挂接
配置网卡:
ifconfig eth0 up创建网卡
直接从NFS启动
set bootargs noinitrd root=/dev/nfs nfsroot=10.1.4.27:/work/nfs_root/sec_fs ip=10.1.4.26:10.1.4.27:10.1.4.254:255.255.255.0::eth0:off init=/linuxrc console=ttySAC0
save
make install # or make CONFIG_PREFIX=/path/from/root install安装busbox
1.内核怎样启动第一个应用程序
a.打开了第一个设备
run_init_process(execute_command)要么是命令行里指定的
run_init_process("/sbin/init")
ps查看当前正在跑的程序
init程序:
a.读取配置文件
b.解析配置文件
c.执行用户程序
ls -l bin cp
busybox->init_main
parse_inittab(解析init表)
file = fopen(打开配置文件etc/inittab)
inittab格式:
<id>:<runlevels>:<action>:<process>
runlevels : 忽略
action :执行时机
process :应用程序和脚本
id => /dev/id,用做终端 : stdin,stdout,stderr,printf,scanf,err
new_init_action
new_init_action(ASKFIRST, bb_default_login_shell, VC_2);
new_init_action(ASKFIRST, -/bin/sh, /dev/tty2);
static void new_init_action(int action, const char *command, const char *cons)
①创建一个init_action结构,填充
②把这个结构放入init_action_list
run_actions执行动作
一个根文件系统需要的项
/dev/console
/dev/null
/etc/inittab配置文件
配置文件里指定的应用程序
库(fopen())
init本身,即busybox
编译时遇到
/work/tools/usr/local/arm/4.3.2/bin/../arm-none-linux-gnueabi/libc/usr/include/linux/netfilter.h:44:
error: field 'in' has incomplete type
解决办法:
修改arm-linux交叉编译工具链
在usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/usr/include/linux/netfilter.h
头文件的开头添加缺少的头文件:#include<netinet/in.h>
构建最小根文件系统
mount -a挂在根文件系统
NFS挂载
手工挂接
配置网卡:
ifconfig eth0 up创建网卡
直接从NFS启动
set bootargs noinitrd root=/dev/nfs nfsroot=10.1.4.27:/work/nfs_root/sec_fs ip=10.1.4.26:10.1.4.27:10.1.4.254:255.255.255.0::eth0:off init=/linuxrc console=ttySAC0
save
make install # or make CONFIG_PREFIX=/path/from/root install安装busbox
0 0
- 基于S3C2440构建根文件系统
- 根文件系统构建(JZ2440-S3C2440)
- S3C2440 nfs 文件系统启动构建
- 基于S3C2440的busybox的移植 yaffs根文件系统制作
- 基于S3C2440的busybox的移植 yaffs根文件系统制作
- 基于S3C2440的busybox的移植 yaffs根文件系统制作 .
- 基于sysvinit,udev的根文件系统构建
- 基于S3C2440的Linux内核移植和yaffs2文件系统制作--制作根文件系统
- 基于s3c2440 yaffs2 文件系统的移植
- 构建debian文件系统 基于tiny210v2
- S3C2440挂载NFS根文件系统
- S3C2440之制作根文件系统
- 【Tiny4412--4】基于busybox的简单根文件系统构建
- 构建根文件系统之构建根文件系统
- 基于S3C2440的Linux内核移植和yaffs2文件系统制作
- 基于S3C2440的Linux内核移植和yaffs2文件系统制作
- 基于S3C2440的Linux内核移植和yaffs2文件系统制作
- 基于S3C2440的Linux内核移植和yaffs2文件系统制作
- 华为oj 识别有效的IP地址和掩码并进行分类统计
- 蓝桥杯 日期计算(java题解)
- tjut 3011
- JDBC片段学习关于DatabaseMetaData
- Android 选择相册 为空
- 基于S3C2440构建根文件系统
- 并查集笔试题
- Spring jar 下载地址
- Tensorflow一些常用基本概念与函数(4)
- 30天自制操作系统笔记第4天
- 设计模式之原型模式
- IOS 去掉UITableViewHeaderView黏性
- Andrew NG machine learning学习网站
- hdu2196Computer(树形dp)