busybox制作根文件系统.doc

  1. 1、本文档共21页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
精品Word文档, 知识共享! 操作系统:Ubuntu9.04 内核版本:linux-?? 开发板:博创arm2410s???? 交叉编译工具:arm-linux-gcc-4.1.1? BusyBox:busybox-1.11.1?????? CramFS:CramFS-1.1 ? 注意:由于要制作的根文件系统使用了mdev(BusyBox简化版的udev),因此,需要内 核支持sysfs、procfs和ramfs(tmpfs)文件系统以及hotplug(uevent)事件机制。 ? 浅蓝色为命令,橘红色为 代码和脚步 1、准备根文件系统 使用shell脚本create_rootfs.sh,建立根文件系统的目录框架 lingd@ubuntu:~/arm2410s$ vi create_rootfs.sh create_rootfs.sh 内容如下: #!/bin/sh echo ------Create rootfs directons...... mkdir rootfs cd rootfs echo --------Create root,dev...... mkdir root dev etc bin sbin mnt sys proc lib home tmp var usr mkdir usr/sbin usr/bin usr/lib usr/modules mkdir mnt/usb mnt/nfs mnt/etc mnt/etc/init.d mkdir lib/modules chmod 1777 tmp cd .. echo -------make direction done--------- 为 create_rootfs.sh添加执行权限 lingd@ubuntu:~/arm2410s$ chmod a+x create_rootfs.sh 执行create_rootfs.sh,建立根文件系统的目录框架 lingd@ubuntu:~/arm2410s$ ./create_rootfs.sh lingd@ubuntu:~/arm2410s$ cd rootfs lingd@ubuntu:~/arm2410s/rootfs$ ls bin? dev? etc? home? lib? mnt? proc? root? sbin? sys? tmp? usr? var 2、创建设备 文件 mdev 是通过 init 进程来启动的,在使用 mdev 构造 /dev 目录之前,init 至少要用到设备文件/dev/console、/dev/null?,所以需要事先建立这两个设备文件: lingd@ubuntu:~/arm2410s/rootfs$ cd dev lingd@ubuntu:~/arm2410s/rootfs/dev$ sudo mknod -m 660 console c 204 64 [sudo] password for lingd:? lingd@ubuntu:~/arm2410s/rootfs/dev$ sudo mknod -m 660 null c 1 3 lingd@ubuntu:~/arm2410s/rootfs/dev$ ls -l total 0 crw-rw---- 1 root root 5, 1 2010-04-02 15:49 console crw-rw---- 1 root root 1, 3 2010-04-02 15:50 null 注意:本来console的主次设备号应为5和1.但是因为init在执行完/etc/init.d/rcS脚本后,就 会在一个控制台上,按照inittab的指示开一个shell(或者是开getty+login,这样用户就会看到提示输入用户名的提示符)。在mdev -s未执行之前,/dev目录下只有我们创建的/dev/null和/dev/console,也就是说,没有控制台可供init用来按照inittab 的指示开一个shell。而在s3c24xx 系列芯片的串口驱动里面用了s3c2410_serial做为设备名(在内核源码的“drivers/serial/s3c2410.c”文件的949 行),因此,启动时可用s3c2410_serial0、s3c2410_serial1或s3c2410_serial2作为init用来按照 inittab的指示开一个shell的控制台,这里我用了串口0,即s3c2410_serial0(主次设备号为204和64)作为控制台。这里直接 将console当s3c2410_serial0,所以console的主次设备号才会为204和64。 3、准备一些配置文件和系统启动时所需的文件 3.1、mde

文档评论(0)

哆啦 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档