做根文件系统,注意到/linuxrc、/etc/init.d/rcS、/etc/init.d/rc.local、/etc/init.d/profile这几个文件尤其重要,遂把他们记载下来了。
/Linuxrc 执行init 进程初始化文件。
主要工作是把已安装根文件系统中的/etc 挂载为ramfs,并拷贝/mnt/etc/目录下所有文件到/etc,这里存放系统启动后的许多特殊文件;
接着Linuxrc 重新构建文件分配表inittab;
之后执行系统初始化进程/sbin/init。
Linuxrc
#!/bin/sh
echo "mount /etc as ramfs"
/bin/mount -n -t ramfs ramfs /etc
/bin/cp -a /mnt/etc/* /etc
echo "re-create the /etc/mtab entries"
# re-create the /etc/mtab entries
/bin/mount -f -t cramfs -o remount,ro /dev/mtdblock/3 /
/bin/mount -f -t ramfs ramfs /etc
exec /sbin/init
etc/init.d/rcS 完成各个文件系统的 mount,再执行/usr/etc/rc.local;
通过rcS 可以调用 dhcp 程序配置网络。rcS 执行完了以后,init 就会在一个 console 上,按照 inittab 的指示开一个 shell,或者是开 getty + login,这样用户就会看到提示输入用户名的提示符。
rcS
/mnt/etc/init. d/ 目录下
#!/bin/sh
/bin/mount -a
exec /usr/etc/rc.local
/usr/etc/rc.local 这是被init.d/rcS 文件调用执行的特殊文件,与Linux 系统硬件平台相关,如安装核心模块、进行网络配置、运行应用程序、启动图形界面等。
rc.local
/usr/etc/目录下
#!/bin/sh
./usr/etc/profile echo "HELLO! Embest"
echo "ifconfig eth0 192.168.0.10"
ifconfig eth0 192.168.0.10 #可自行配置开发板IP
/usr/etc/profile 执行该文件配置需要的环境变量等。
Profile
/usr/etc/ 目录下
#!/bin/sh
PATH=/bin:/sbin:/usr/bin:/usr/sbin ?? 设置命令工具所在位置
阅读(1088) | 评论(0) | 转发(0) |