Linux运行级别与启动

Linux运行级别从0~6,共7个。

  0:关机。不能将系统缺省运行级别设置为0,否则无法启动。

  1:单用户模式,只允许root用户对系统进行维护。

  2:多用户模式,但不能使用NFS(相当于Windows下的网上邻居)

  3:字符界面的多用户模式。

  4:未定义。

  5:图形界面的多用户模式。

  6:重启。不能将系统缺省运行级别设置为0,否则会一直重启。

  查看运行级别命令:

  runlevel

  先后显示系统上一次和当前运行级别。如果不存在上一次运行级别,则用N表示。

  改变提供运行级别命令:

  init [0123456]

/* 以下是使用标准linux的,PC版本的*/

//Linux Standard 要求将init脚本置于/etc/init.d 目录下,如果要在引导阶段运行某个脚本,则应该在适当的运行级别目录(如/etc/rc2.d)创建一个指向该目录下脚本的链接

启动时

1.执行init

2.init读取/etc/inittab脚本,执行rc.sysinit脚本

3.rc.sysinit根据inittab执行rc?.d目录下的脚本(?表示运行级别)

4.而rc?.d文件夹中存放了众多指向init.d文件夹中众多脚本文件的链接

所以请抓住启动时按照顺序进行的四个关键词:init->inittab->rc?.d->init.d

/*以下可以用于开发板*/

/Linuxrc 执行init 进程初始化文件。主要工作是把已安装根文件系统中的/etc 安装为ramfs,
并拷贝/mnt/etc/目录下所有文件到/etc,这里存放系统启动后的许多特殊文件;接着Linu
xrc 重新构建文件分配表inittab;之后执行系统初始化进程/sbin/init。
/mnt/etc/init.d/rcS 完成各个文件系统的 mount,再执行/usr/etc/rc.local;通过rcS 可
以调用 dhcp 程序配置网络。rcS 执行完了以后,init 就会在一个 console 上,按照 ini
ttab 的指示开一个 shell,或者是开 getty + login,这样用户就会看到提示输入用户名的
提示符。
/usr/etc/rc.local 这是被init.d/rcS 文件调用执行的特殊文件,与Linux 系统硬件平台相关,
如安装核心模块、进行网络配置、运行应用程序、启动图形界面等。
/usr/etc/profile rc.local 首先执行该文件配置应用程序需要的环境变量等。
Linuxrc
#!/bin/sh
echo "mount /etc as ramfs"
/bin/mount -n -t ramfs ramfs /etc
/bin/cp -a /mnt/etc/* /etc
echo "re-create the /etc/mtab entries"
# re-create the /etc/mtab entries
/bin/mount -f -t cramfs -o remount,ro /dev/mtdblock/3 /
/bin/mount -f -t ramfs ramfs /etc
exec /sbin/init

rcS
/mnt/etc/init.
d/
#!/bin/sh
/bin/mount -a
exec /usr/etc/rc.local


rc.local
/usr/etc/
#!/bin/sh
. /usr/etc/profile
echo "HELLO! Embest"
echo "ifconfig eth0 192.168.0.10"
ifconfig eth0 192.168.0.10

你可能感兴趣的:(Linux运行级别与启动)