終于搞清楚了為啥我的Ec2108在/etc/init.d/rcS中設置的PATH,啟動后莫名的被修改了,原來是/etc/init.d/profile中又把PATH重新設置了,原因記錄下來。
【本文為OurUnix--Linux's境原創,轉載請注明源地址www.ourunix.org】
這兩天在做根文件系統的時候,注意到/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,這樣用戶就會看到提示輸入用戶名的提示符。
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/rc.local 這是被init.d/rcS 文件調用執行的特殊文件,與Linux 系統硬件平臺相關,如安裝核心模塊、進行網絡配置、運行應用程序、啟動圖形界面等。
rcS
/mnt/etc/init.
d/
#!/bin/sh
/bin/mount -a
exec /usr/etc/rc.local
/usr/etc/profile 執行該文件配置需要的環境變量等。
Profile
/usr/etc/
#!/bin/sh
PATH=/bin:/sbin:/usr/bin:/usr/sbin ?? 設置命令工具所在位置