[root@(none)init.d]#cat rcS
#后面一般为注释的内容
#!/bin/sh
此句含义:
#! /bin/sh 是指此脚本使用/bin/sh来解释执行,#!是特殊的表示符,其后面跟的是解释此脚本的shell的路径。如果脚本中没有声明,则脚本将在用户默认的shell中执行。用户默认的shell环境是在/etc/passwd中定义:比如passwd文件第一行中 root:x:0:0:root:/root:/bin/bash,最后的/bin/bash说明root用户的默认shell是/bin/bash。虽然#! /bin/sh 可有可无,所以建议就把"#!/bin/sh"当成C 语言的main函数一样,写shell必须有,以使shell程序更严密。
ifconfig eth0 192.168.7.104
//配置网卡IP
mount -a
此句含义:
mount -a 是自动挂载 /etc/fstab 里面的东西。
不过这东西开机时已经挂载了,你如果没有修改 fstab 增加新的东西那就肯定没输出。 mount -a 会忽略所有已经完成的操作,也就是开机时 fstab 已经挂载后,而且你没有修改 fstab 。你再运行 mount -a ,他会自动忽略全部 fstab 内容。
/etc/fstab的内容如下:
proc /proc proc defaults 0 0
none /tmp ramfs defaults 0 0
mdev /dev ramfs defaults 0 0
sysfs /sys sysfs defaults 0 0
. /etc/init.d/init.sh
#Udisk Auto Mount
mount -t sysfs sysfs /sys
此句含义:
sysfs是一种基于ram的文件系统,它提供了一种用于向用户空间展现内核空间里的对象、属性和链接。sysfs与kobject层次紧密相连,它将kobject层次关系表现出来,使得用户空间可以看见这些层次关系。
在控制台输入命令“mount -t sysfs sysfs /sys”,就可以在/sys目录下看到这些层次关系了。
mount -t tmpfs mdev /dev
mkdir /dev/pts
mount -t devpts devpts /dev/pts
echo /sbin/mdev > /proc/sys/kernel/hotplug
//命令内核在增删设备时执行 /sbin/mdev ,使设备节点文件会被创建和删除。
此句含义:
嵌入式设备上使用mdev来管理动态节点,
方法也很简单,就是在rcS脚本中加入下面一句,将用户空间的应用程序路径传递给内核,
echo /sbin/mdev > /proc/sys/kernel/hotplug
mdev -s
//扫描并创建节点,这一步可不能少
此句含义:
执行mdev -s :以‘-s’为参数调用位于 /sbin目录写的mdev(其实是个链接,作用是传递参数给/bin目录下的busybox程序并调用它),mdev扫描 /sys/class 和 /sys/block 中所有的类设备目录,如果在目录中含有名为“dev”的文件,且文件中包含的是设备号,则mdev就利用这些信息为这个设备在/dev 下创建设备节点文件。一般只在启动时才执行一次 “mdev -s”。
mdev可以通过proc和sys文件系统来动态整理出注册的设备,进而到/dev/下生成他们对应的节点,使用该功能之前必须mount上proc和sys文件系统,然后简单的执行下面的一句就弯成了:mdev -s
rm -rf /usr/local/dbus-1.0.2/var/run/dbus/pid
/usr/local/dbus-1.0.2/bin/dbus-daemon --system &
echo 1000 > /sys/class/net/can0/tx_queue_len
//设置波特率为1M
echo 64 > /sys/class/gpio/export
echo "in" > /sys/class/gpio/gpio64/direction
echo "rising" > /sys/class/gpio/gpio64/edge
cd /opt/bin
./CustomButton -qws & //后台运行 qt程序
CustomButton
sleep 1 //睡眠1秒
./Emb -qws & //后台运行 qt程序
Emb
/usr/local/sbin/sshd &
mount /dev/mmcblk0p1 /mnt
以下是系统初始化脚本中一个典型的使用mdev 的代码片段:
[1] mount -t tmpfs mdev /dev
[2] mkdir /dev/pts
[3] mount -t devpts devpts /dev/pts
[4] mount -t sysfs sysfs /sys
[5] echo /bin/mdev > /proc/sys/kernel/hotplug
[6] mdev -s
简单说明一下上面的代码:
[1]确保 /dev 是 tmpfs 文件系统(假设文件系统在 flash 外运行)。
[2] 创建/dev/pts 挂载点
[3] 在 /dev/pts 挂载 devpts 文件系统
[4]你必须在执行mdev 前挂载 /sys 。
[5] 命令内核在增删设备时执行 /bin/mdev ,使设备节点文件会被创建和删除。
[6] 设置mdev,让它在系统启动时创建所有的设备节点。
完成以上6步骤,即可实现一个对mdev 更完整的安装