Linux内核启动脚本rcS详解及配置
"该资源是关于Linux内核启动过程中rcS脚本文件的个人总结,适合用于学习和配置内核启动文件。" 在Linux系统中,rcS(Runlevel Change S)脚本是系统启动过程中的一个关键部分,它在系统引导期间执行,负责挂载必要的文件系统、初始化硬件设备、设置网络以及其他系统服务的启动。rcS脚本通常位于/etc目录下,其内容直接影响到系统的启动效率和功能。 从提供的脚本内容来看,我们可以解析出以下几个关键知识点: 1. **文件系统挂载**: - `/bin/mount -n -t proc none /proc`:挂载proc文件系统,提供对内核数据结构的访问。 - `/bin/mount -n -t sysfs none /sys`:挂载sysfs文件系统,用于与内核对象交互。 - `/bin/mount -n -t usbfs none /proc/bus/usb`:挂载usbfs文件系统,用于管理USB设备。 - `/bin/mount -n -t ramfs none /dev`:创建ramfs文件系统挂载到/dev,用于临时存储设备节点。 - `/bin/mknod /dev/null c 1 3`:创建设备节点/dev/null,用于丢弃输入或提供无尽的输出。 - `/sbin/mdev`:动态设备管理器,用于创建设备节点。 - `/sbin/mdev -s`:启动mdev,处理热插拔事件。 2. **启动服务**: - `/sbin/mdev` 和 `/proc/sys/kernel/hotplug` 的设置,用于启用设备热插拔支持。 - `#/usr/sbin/udevd --daemon` 或 `/usr/sbin/udevstart`:这两个是udev服务的启动方式,用于设备管理和自动挂载,这里注释掉了。 3. **其他文件系统挂载**: - `/bin/mkdir -p /dev/pts` 和 `/bin/mount -n -t devpts none /dev/pts`:创建并挂载devpts文件系统,用于伪终端设备。 - `/bin/mkdir -p /dev/shm` 和 `/bin/mount -n -t tmpfs none /dev/shm`:创建并挂载tmpfs文件系统到/dev/shm,作为临时文件存储区域。 - `/bin/mount -n -t ramfs none /tmp` 和 `/var` 目录下的挂载,用ramfs提供临时文件存储。 4. **网络配置**: - `/sbin/ifconfig lo 127.0.0.1 up`:配置回环接口lo,赋予IP地址127.0.0.1并使其激活。 - `/sbin/ifconfig eth0 192.168.1.28 netmask 255.255.255.0 up`:配置以太网接口eth0,赋予IP地址192.168.1.28,子网掩码255.255.255.0,并使其激活。 - `/sbin/route add default gw 192.168.1.1`:添加默认网关,设置为192.168.1.1。 5. **其他服务**: - `/usr/sbin/telnetd`:启动telnet服务器,允许远程登录。 6. **挂载MTD分区**: - `/bin/mount -t yaffs /dev/mtdblock3 /mnt/appfs`:挂载MTD(Memory Technology Device)分区,如闪存设备,这里挂载的是YAFFS文件系统。 7. **执行额外脚本**: - `/mnt/appfs/start.sh &`:在后台运行挂载的MTD分区上的start.sh脚本,可能是特定应用或服务的初始化。 了解并掌握rcS脚本的内容和作用对于系统管理员来说至关重要,因为它允许自定义系统的启动行为,确保系统按预期工作并优化性能。此外,对于嵌入式系统或者特定环境的Linux设备,rcS脚本的定制可能更加重要,因为它直接影响设备的启动流程和功能实现。
/bin/hostname fs2410
# mount filesystems
/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/mknod /dev/null c 1 3 //使用udev时添加,并注释掉mdev,释放udev
echo "Start mdev ..."
echo /sbin/mdev > /proc/sys/kernel/hotplug
/sbin/mdev -s
#echo "Starting udevd ..."
#/usr/sbin/udevd --daemon
#/usr/sbin/udevstart
# mounting file system specified in /etc/fstab
/bin/mkdir -p /dev/pts
/bin/mkdir -p /dev/shm
/bin/mount -n -t devpts none /dev/pts
/bin/mount -n -t tmpfs tmpfs /dev/shm
/bin/mount -n -t ramfs none /tmp
/bin/mount -n -t ramfs none /var
/bin/mkdir -p /var/empty
/bin/mkdir -p /var/log
下载后可阅读完整内容,剩余1页未读,立即下载
- 粉丝: 2
- 资源: 6
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 达梦数据库DM8手册大全:安装、管理与优化指南
- Python Matplotlib库文件发布:适用于macOS的最新版本
- QPixmap小demo教程:图片处理功能实现
- YOLOv8与深度学习在玉米叶病识别中的应用笔记
- 扫码购物商城小程序源码设计与应用
- 划词小窗搜索插件:个性化搜索引擎与快速启动
- C#语言结合OpenVINO实现YOLO模型部署及同步推理
- AutoTorch最新包文件下载指南
- 小程序源码‘有调’功能实现与设计课程作品解析
- Redis 7.2.3离线安装包快速指南
- AutoTorch-0.0.2b版本安装教程与文件概述
- 蚁群算法在MATLAB上的实现与应用
- Quicker Connector: 浏览器自动化插件升级指南
- 京东白条小程序源码解析与实践
- JAVA公交搜索系统:前端到后端的完整解决方案
- C语言实现50行代码爱心电子相册教程