(二). 完善根文件系统内容
在rootfs目录下仅仅只是创建一个根文件系统的框架,很多系统运行所必须的文件尚未建立成功,必须手动复制进去。
2.1).
复制busybox-1.32.0/examples/bootfloppy/etc 整个目录下的全部文件,到rootfs/etc目录下。
$ cp -r ../busybox-1.32.0/examples/bootfloppy/etc/ ./
2.2).
手动在文件系统中建立如下设备文件:
robot@ubuntu:~/busybox-1.32/rootfs$ cd dev/
robot@ubuntu:~/busybox-1.32/rootfs/dev$ sudo mknod -m 666 console c 5 1
[sudo] password for robot:
robot@ubuntu:~/busybox-1.32/rootfs/dev$ ls -l
total 0
crw-rw-rw- 1 root root 5, 1 Sep 2 11:15 console
robot@ubuntu:~/busybox-1.32/rootfs/dev$ sudo mknod -m 666 null c 1 3
robot@ubuntu:~/busybox-1.32/rootfs/dev$ ls -l
total 0
crw-rw-rw- 1 root root 5, 1 Sep 2 11:15 console
crw-rw-rw- 1 root root 1, 3 Sep 2 11:16 null
robot@ubuntu:~/busybox-1.32/rootfs/dev$ sudo chown robot *
robot@ubuntu:~/busybox-1.32/rootfs/dev$ ls -l
total 0
crw-rw-rw- 1 robot root 5, 1 Sep 2 11:15 console
crw-rw-rw- 1 robot root 1, 3 Sep 2 11:16 null
robot@ubuntu:~/busybox-1.32/rootfs/dev$ sudo chgrp robot *
robot@ubuntu:~/busybox-1.32/rootfs/dev$ ls -l
total 0
crw-rw-rw- 1 robot robot 5, 1 Sep 2 11:15 console
crw-rw-rw- 1 robot robot 1, 3 Sep 2 11:16 null
2.3).
修改rcS文件内容如下:
gedit etc/init.d/rcS
#增加内容
#! /bin/sh
/bin/mount -a
/bin/hostname nuc980
2.4).
修改fstab文件
gedit etc/fstab
#device mount type options dump fsck order
proc /proc proc defaults 0 0
none /tmp ramfs defaults 0 0
mdev /dev ramfs defaults 0 0
sysfs /sys sysfs defaults 0 0
none /mnt nfs defaults 0 0
2.5).
修改group文件
gedit etc/group
root:*:0:
daemon:*:1:
bin:*:2:
sys:*:3:
adm:*:4:
tty:*:5:
disk:*:6:
lp:*:7:lp
mail:*:8:
news:*:9:
uucp:*:10:
proxy:*:13:
kmem:*:15:
dialout:*:20:
fax:*:21:
voice:*:22:
cdrom:*:24:
floppy:*:25:
tape:*:26:
sudo:*:27:
2.6).
修改inittab文件
gedit etc/inittab
::sysinit:/etc/init.d/rcS
::respawn:-/bin/sh
::askfirst:-/bin/sh
::ctrlaltdel:/bin/umount -a -r
# add context
::shutdown:/bin/umount -a -r
::shutdown:/sbin/swapoff –a
2.7).
修改passwd文件
gedit etc/passwd
# add context
root::0:0:root:/:/bin/sh
2.8)
修改profile文件
echo
echo -n "Processing /etc/profile... "
# no-op
echo "Done"
echo
# add context
USER="`id -un`"
LOGNAME=$USER
PS1='[\u@\h \W]\# '
PATH=$PATH
HOSTNAME=`/bin/hostname`
export USER LOGNAME PS1 PATH
2.9). 增加设备、网络配置文件
$ cp -r ../busybox-1.32.0/examples/mdev.conf ./etc/
$ cp -r ../busybox-1.32.0/examples/devfsd.conf ./etc/
$ cp -r ../busybox-1.32.0/examples/inetd.conf ./etc/
$ cp -r ../busybox-1.32.0/examples/udhcp ./etc/
$ cp -r ../busybox-1.32.0/examples/var_service/ ./etc/service
/** 增加可执行权限 */
$ chmod +x etc/mdev.conf
$ chmod +x etc/inittab
$ chmod +x etc/profile
3.0).制作 uclib 库
主机库路径: /usr/local/arm_linux_4.8/lib
cd /usr/local/arm_linux_4.8/lib
cp *.so* /home/robot/busybox-1.32/rootfs/lib/ -d /*** -d copy ln solution */
至此简单的根文件系统制作完成。
|