linux rcS
来源:互联网 发布:2016淘宝卖家电脑配置 编辑:程序博客网 时间:2024/06/07 02:52
Linux具有极大的灵活性,rcS文件具体要完成什么工作,完全由DIY者决定。以下针对该文件分析,主要目的是搞清楚各条语句的意思。
- #! /bin/sh
#! /bin/sh指定系统使用的shell
- PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin:
- runlevel=S
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin:runlevel=S设置系统运行级别为S(single user mode),即单用户模式,只有一个控制台终端,供“root”帐号做系统维护。
- umask 022
umask 022我们知道,文件有权限的规定,那么当你新建一个文件或文件夹,它们的权限默认怎么设定呢?
答案:权限的基本码-umask(屏蔽位),按规定,文件夹的基本码rwxrwxrwx(777),文件的基本码rw-rw-rw-(666)
umask的值在文件中有设定,默认情况下是022
- export PATH runlevel prevlevel
export PATH runlevel prevlevelexport用于传递一个或多个变量的值到其他shell,相当于声明了一些“全局变量”
- trap ”:” INT QUIT TSTP
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
/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
/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
echo /sbin/mdev > /proc/sys/kernel/hotplug调用mdev管理程序动态的创建插拔设备。kernel在每次设备出现变动时调用上面一句传递进去的用户空间应用程序/sbin/mdev来处理对应的信息,进而mdev操作/dev目录下的设备,进行添加或删除。
- /sbin/mdev -s
/sbin/mdev -s
有了这一句,内核就可以在/dev目录下自动创建设备节点。
- /bin/hotplug
/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
# mounting file system specified in /etc/fstabmkdir -p /dev/ptsmkdir -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
/sbin/hwclock -s -f /dev/rtc
- 从硬件RTC取得时间
从硬件RTC取得时间
- syslogd
syslogd记录系统或应用程序产生的各种信息,并把信息写到日志中
- echo V >/dev/watchdog
echo V >/dev/watchdog关闭看门狗
- insmod /lib/modules/s3c2416_gpio.ko
insmod /lib/modules/s3c2416_gpio.ko加载驱动程序
- dmesg -n 1
dmesg -n 1显示开机信息,信息在内核的ring buffer中。
-n, 设置信息在console中的级别,值为1情况下将忽略打印所有信息,除了emergency (panic) messages。
- exec /usr/etc/rc.local
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
#! /bin/shPATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin:runlevel=Sprevlevel=Numask 022export PATH runlevel prevleveltrap ":" 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 /devecho /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
- linux rcS
- RCS
- RCS
- 嵌入式Linux系统启动脚本rcS
- linux源代码版本控制RCS
- 【Linux学习】linux源代码版本控制RCS
- 【Linux学习】linux源代码版本控制RCS
- Linux系统中rcS文件深入分析
- Linux系统中rcS文件深入分析
- Linux下开机启动脚本 etc rcS 环境变量 pid判断
- rcS总结
- /etc/rcS
- RCS特性
- rcS启动
- what is RCS/RCS-e
- RCS版本控制系统简介
- RCS -- Revision Control System
- rcS中启动udevd
- 第十周——项目二”用二叉树求解表达式“
- shell脚本中根据端口号kill对应的应用进程
- 【云星数据---Apache Flink实战系列(精品版)】:Apache Flink实战基础002--flink特性:流处理特性介绍
- java对象及其引用
- HTML 元素
- linux rcS
- Ghost盘安装Win10版VM虚拟机
- ZOJ 3988 Prime Set [二分图匹配]
- HDU 2680 Choose the best route【最短路】
- bootstrap-预定义样式及简单登录框
- 自学java 出去容易犯的错误
- C#程序设计之多线程爬虫程序
- ubuntu桥接模式下上网
- 快速排序(O(nlogn))