在Linux系统的rcs文件里延时,Linux系统中rcS文件深入分析

Linux具有极大的灵活性,rcS文件具体要完成什么工作,完全由DIY者决定。以下针对该文件分析,主要目的是搞清楚各条语句的意思。

#! /bin/sh指定系统使用的shell

PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin:

runlevel=S设置系统运行级别为S(single user mode),即单用户模式,只有一个控制台终端,供“root”帐号做系统维护。

umask 022我们知道,文件有权限的规定,那么当你新建一个文件或文件夹,它们的权限默认怎么设定呢?

答案:权限的基本码-umask(屏蔽位),按规定,文件夹的基本码rwxrwxrwx(777),文件的基本码rw-rw-rw-(666)

umask的值在文件中有设定,默认情况下是022

export PATH runlevel prevlevelexport用于传递一个或多个变量的值到其他shell,相当于声明了一些“全局变量”

trap ":" INT QUIT TSTP捕捉INT、QUIT、TSTP信号

trap 为shell中捕捉信号的命令,其基本形式有三种:

(1)trap "cmd" signal-list

trap收到与signal-list列出的信号相同时,执行cmd命令

(2)trap  signal-list

执行信号的本身默认的操作

(3)trap " " signal-list

忽视signal-list指定的信号

/bin/hostname bname设置机器名字bname

/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挂载文件系统,-t指明文件系统的类型,-n只是单纯的mount,而不会去写/etc/mtab文件。否则,如果/etc在一个只读的文件系统上,写的话将引发错误。

echo /sbin/mdev > /proc/sys/kernel/hotplug调用mdev管理程序动态的创建插拔设备。kernel在每次设备出现变动时调用上面一句传递进去的用户空间应用程序/sbin/mdev来处理对应的信息,进而mdev操作/dev目录下的设备,进行添加或删除。

/sbin/mdev -s

有了这一句,内核就可以在/dev目录下自动创建设备节点。

/bin/hotplug设置内核的hotplug handler为mdev,由mdev接受来自内核的消息并作出相应的回应,比如挂载U盘等。

# mounting file system specified in /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创建然后指定的文件夹下挂载文件系统

-p(parents),no error if existing, make parent directories as needed

/sbin/hwclock -s -f /dev/rtc

从硬件RTC取得时间

syslogd记录系统或应用程序产生的各种信息,并把信息写到日志中

echo V >/dev/watchdog关闭看门狗

insmod /lib/modules/s3c2416_gpio.ko加载驱动程序

dmesg -n 1显示开机信息,信息在内核的ring buffer中。

-n, 设置信息在console中的级别,值为1情况下将忽略打印所有信息,除了emergency  (panic) messages。

exec /usr/etc/rc.local

转去执行rc.local文件中内容

一个完整rcS文件如下:

#! /bin/sh

PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin:

runlevel=S

prevlevel=N

umask 022

export PATH runlevel prevlevel

trap ":" INT QUIT TSTP

/bin/hostname bname

/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

echo /sbin/mdev > /proc/sys/kernel/hotplug

/sbin/mdev -s

/bin/hotplug

# mounting file system specified in /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

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

insmod /lib/modules/s3c2416_gpio.ko

/bin/sleep 2

dmesg -n 1

exec /usr/etc/rc.local

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值