根文件系统
1 引言
- Step1: 调用sys_open、sys_dup,设置标准printf, scanf, 和err
- Step2: 调用run_init_process(),先使用uboot中输入的init参数,如果该参数无效,则使用程序固定的几个参数。如果这个几个参数都无效,则卡死。
应用程序会指到busybox。
所有程序都以xx_main()组织。
2 BusyBox
2.1 编译
- 命令:make menuconfig,在配置工具中配置(可参考书籍)
- 设置交叉编译工具
- 编译make
- 新建文件夹xxx,调用命令make CONFIG_PREFIX=xxx install
3 创建最小根文件系统
- 新建dev文件夹:mkdir dev
- 创建字符设备文件:mknod dev/console c 5 1
- 创建字符设备文件:mknod dev/null c 1 3
- 构造init_tab:例如构造简单的init_tab:mkdir etc,在该目录下新建文件inittab,在该文件中编辑内容:console::askfirst:-/bin/sh
- 安装glibc库:新建目录,并将C库拷到该目录中;
- 制作yaffs2映像文件

浙公网安备 33010602011771号