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、mdev配置文件 mdev.conf
mdev 会在/etc目录下找 mdev的配置文件 : mdev.conf. 如果该文件不存在, 那么在
执行 mdev –s这个命令时, 会提示找不到 mdev.conf。我们不需要 mdev规则,所
以只是 touch生成一个空文件就 OK 了。当然也可以根据 mdev的规则来 编写
mdev.conf。我把所有配置文件都是在 /mnt/etc下,而不是 /etc,后面解释这么做的
原因。
lingd@ubuntu:~/arm2410s/rootfs/dev$ cd ../mnt/etc
lingd@ubuntu:~/arm2410s/rootfs/mnt/etc$ touch mdev.conf
lingd@ubuntu:~/arm2410s/rootfs/mnt/etc$ ls
init.d mdev.conf
3.2、linuxrc
linuxrc 位于根文件系统的顶层目录 /,这里为 rootfs。/Linuxrc 执行 init 进程初始
评论0
最新资源