构建根文件系统(5)构建dev目录
2023-08-15 来源:elecfans
只讲使用mdev创建设备文件。。。。。
1、mdev的用法可以参考busybox-1.9.2/docs/mdev.txt,它的两个用途:初始化/dev目录、动态更新。
以下为摘取部分关于mdev的命令:
Here's a typical code snippet from the init script:
[1] mount -t sysfs sysfs /sys
[2] echo /bin/mdev > /proc/sys/kernel/hotplug
[3] mdev -s
Of course, a more 'full' setup would entail executing this before the previous
code snippet:
[4] mount -t tmpfs mdev /dev
[5] mkdir /dev/pts
[6] mount -t devpts devpts /dev/pts
2、要在内核启动时,自动运行mdev,这需要修改etc/fstab、etc/init.d/rcS加入要自动运行的命令,
(1)etc/fstab,红字为新增的
#device mount-point type options dump fsck order
proc /proc proc defaults 0 0
tmpfs /tmp tmpfs defaults 0 0
sysfs /sys sysfs defaults 0 0
tmpfs /dev tmpfs defaults 0 0
(2)etc/init.d/rcS
#!/bin/sh
ifconfig eth0 172.22.136.38
mount -a
mkdir /dev/pts
mount -t devpts devpts /dev/pts
echo /sbin/mdev > /proc/sys/kernel/hotplug
mdev -s
3、因为S3C2410的串口名是s3c2410_serial0、s3c2410_serial1、s3c2410_serial2。所
以还需修改etc/inittab。
# /etc/inittab
::sysinit:/etc/init.d/rcS
s3c2410_serial0::askfirst:-/bin/sh
::ctrlaltdel:/sbin/reboot
::shutdown:/bin/umount -a -r
4、mdev是通过init进程来启动的,在使用mdev构造/dev目录之前,init进程至少要用到设备文件/dev/console、/dev/null,
所以接着建立这两个设备文件。
huanghuang@huanghuang-desktop:/work/nfs_root/fs_mini$ ls
bin dev etc lib linuxrc sbin usr
huanghuang@huanghuang-desktop:/work/nfs_root/fs_mini$ cd dev
huanghuang@huanghuang-desktop:/work/nfs_root/fs_mini/dev$ sudo mknod console c 5 1
huanghuang@huanghuang-desktop:/work/nfs_root/fs_mini/dev$ sudo mknod null c 1 3
huanghuang@huanghuang-desktop:/work/nfs_root/fs_mini/dev$ ls
console null
5、构建其它目录
huanghuang@huanghuang-desktop:/work/nfs_root/fs_mini$ sudo mkdir proc mnt tmp sys root
huanghuang@huanghuang-desktop:/work/nfs_root/fs_mini$ ls
bin dev etc lib linuxrc mnt proc root sbin sys tmp usr
至此/work/nfs_root/fs_mini目录下就是一个非常小的根文件系统。
后面我们要把它烧入开发板,还要将它制作成一个映象文件。