根文件系统

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 创建最小根文件系统

  1. 新建dev文件夹:mkdir dev
  2. 创建字符设备文件:mknod dev/console c 5 1
  3. 创建字符设备文件:mknod dev/null c 1 3
  4. 构造init_tab:例如构造简单的init_tab:mkdir etc,在该目录下新建文件inittab,在该文件中编辑内容:console::askfirst:-/bin/sh
  5. 安装glibc库:新建目录,并将C库拷到该目录中;
  6. 制作yaffs2映像文件
posted @ 2019-06-13 23:06  寒霜未降  阅读(157)  评论(0)    收藏  举报