Linux根文件系统:/etc/init.d/rcS文件分析
1. rcS文件的作用
rcS是一个脚本文件,在inittab文件中本解析调用,用于配置Linux系统。
2.rcS文件分析
#! /bin/sh #指定系统使用的shell
#初始化环境变量PATH,操作系统执行程序默认到PATH指定的目录下寻找该程序
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin:
runlevel=S #设置系统运行级别为S,即单用户模式,只有一个控制台终端,供“root”帐号做系统维护。
prevlevel=N
umask 022 #指定当前用户在创建文件时的默认权限
export PATH runlevel prevlevel #导出环境变量
trap ":" INT QUIT TSTP #捕捉INT、QUIT、TSTP信号
/bin/hostname bname #设置机器名字为bname
#挂载文件系统,-t指明文件系统的类型,-n只是单纯的mount,而不会去写/etc/mtab文件。
#否则,如果/etc在一个只读文件系统上写的话将引发错误。
/bin/mount -n -t proc none /proc
/bin/mount -n -t sysfs none /sys
/bin/mount -n -t usbfs none /proc/bus/usb
/bin/mount -t ramfs none /dev
#调用mdev管理程序动态的创建插拔设备。kernel在每次设备出现变动时调用/sbin/mdev来处理对应的信息,
#进而mdev操作/dev目录下的设备,进行添加或删除。
echo /sbin/mdev > /proc/sys/kernel/hotplug
/sbin/mdev -s #开启mdev,之后可调用mdev创建设备文件
/bin/hotplug #设置内核的hotplug handler为mdev,由mdev接受来自内核的消息并作出相应的回应,比如挂载U盘等。
# 挂载/etc/fstab文件中指定的文件系统
mkdir -p /dev/pts
mkdir -p /dev/shm
/bin/mount -n -t devpts none /dev/pts -o mode=0622
/bin/mount -n -t tmpfs tmpfs /dev/shm
/bin/mount -n -t ramfs none /tmp
/bin/mount -n -t ramfs none /var
mkdir -p /var/empty
mkdir -p /var/log
mkdir -p /var/lock
mkdir -p /var/run
mkdir -p /var/tmp
/sbin/hwclock -s -f /dev/rtc #从硬件RTC取得时间
syslogd #记录系统或应用程序产生的各种信息,并把信息写到日志中
/etc/rc.d/init.d/netd start
echo " " > /dev/tty1
echo "Starting networking..." > /dev/tty1
mkdir /mnt/disk
mount -t yaffs2 /dev/mtdblock3 /mnt/disk #挂载存储设备
echo V >/dev/watchdog #关闭看门狗
/sbin/ifconfig lo 127.0.0.1 #设置IP地址
insmod /lib/modules/s3c2416_gpio.ko #加载驱动程序
/bin/sleep 2 dmesg -n 1 #显示开机信息
exec /usr/etc/rc.local #转去执行rc.local文件中内容