分析Linux根文件系统的/etc/init.d/rcS文件
最编程
2024-01-10 09:04:33
...
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文件中内容
上一篇: eMMC文件系统的制作方法
下一篇: Linux 根文件系统
推荐阅读
-
linux 启动 minicom、u-boot 的常用命令、网络命令 tftp、nfs/根文件系统、u-boot 的 bootargs 环境变量
-
紧急模式问题处理 - 图 1 紧急模式 根本原因分析 应急模式提供了尽可能小的环境,即使无法进入应急模式,也可以在其中修复系统。在应急模式下,系统只安装根文件系统供读取,不尝试安装任何其他本地文件系统,不激活网络接口,只启动一些基本服务。 进入应急模式的原因通常是 /etc/fstab 文件中存在错误,导致文件系统挂载失败。 文件系统中存在错误,导致。 约束和限制 本节适用于 Linux 操作系统紧急模式。程序涉及修复文件系统。修复文件系统有丢失数据的风险,因此请先备份数据,然后再执行修复操作。 处理方法 输入根密码,然后进入修复模式。 在应急模式下,根分区以只读模式挂载。要修改根目录中的文件,需要执行以下命令以读写模式重新挂载根分区。# mount -o rw,remount / 请执行以下命令首先检查 fstab 文件是否有误,然后尝试挂载所有未挂载的文件系统。# mount -a 如果挂载点不存在,请创建一个挂载点。 如果不存在此类设备,请注释或删除挂载行。 如果指定了不正确的挂载选项,请将挂载参数更改为正确的参数。 如果没有发生错误,但出现 UNEXPECTED INCONSISTENCY;RUN fsck MANUALLY 消息(通常是由文件系统错误引起的),请跳至第 7 步。 执行以下命令打开 /etc/fstab 以修改相应的错误。# vi /etc/fstab /etc/fstab 文件包含以下字段,以空格分隔:[文件系统] [dir] [type] [options] [dump] [fsck] 表 1 /etc/fstab 参数 说明 参数 说明 [文件系统] 要挂载的分区或存储设备。 文件系统]列建议以 UUID 的形式写入。执行 blkid 命令可查询设备文件系统 UUID。 参考格式如下: # <device> <dir> <type> <options> <dump> <fsck>; UUID=b411dc99-f0a0-4c87-9e05-184977be8539 /home ext4 defaults 0 2 使用 UUID 的好处是,它们与磁盘顺序无关。如果你在 BIOS 中更改了存储设备的顺序,或重新插入了存储设备,或者因为某些 BIOS 可能会随机更改存储设备的顺序,那么使用 UUID 会更有效率。 [文件系统] 文件系统]的挂载位置。 类型 挂载设备或分区的文件系统类型,支持多种不同的文件系统:ext2、ext3、ext4、reiserfs、xfs、jfs、smbfs、iso9660、vfat、ntfs、swap 和 auto。 设置为自动类型后,挂载命令会猜测所使用的文件系统类型,这对 CDROM 和 DVD 等移动设备非常有用。 选项 挂载时要使用的参数,有些参数是特定文件系统特有的。例如,默认值参数使用文件系统的默认挂载参数,ext4 的默认参数为:rw、suid、dev、exec、auto、nouser、async。 有关更多参数,请执行以下命令查看 man 手册:# man mount
-
深入解析Linux根文件系统的挂载过程
-
详细解析Linux系统中rootfs切换至真实根文件系统的源码(包含手动创建根文件实例的工作项目)
-
[架构之路-30]:目标系统 - 系统软件 - Linux OS根文件系统rootfs的概念、组成、制作以及用busybox制作根文件系统
-
在Linux系统中,了解如何制作和挂载根文件系统rootfs的基本操作
-
浅谈linux中的根文件系统(rootfs的原理和介绍)【转】
-
介绍Linux的根文件系统
-
浅谈linux中的根文件系统(rootfs的原理和介绍)【转】
-
制作BusyBox根文件系统:Linux下的步骤