系统的启动模式(启动级别)的修改---使用upstart启动机制的

/*********************************************************************
 * Author  : Samson
 * Date    : 06/18/2014
 * Test platform:
 *              Mint 15
 *              GNU bash, version 4.2.45
 * *******************************************************************/

关于在基于upstart机制下的系统的启动模式(大多数都叫它启动级别)的修改,在Mint中主要有三种方式进行修改,因为upstart模式还是考虑了对system V等老系统的兼容的,所以在/etc/init下有一个名为:rc-sysinit.conf的文件,此文件中对三种修改方法已经进行了说明:
0)、修改环境变量:env DEFAULT_RUNLEVEL=2  图形界面的一般都是为2  若是需要单用户登录的话,那么此值设置为1即可;
1)、创建/etc/inittab文件,并按照老的system V的配置方式进行配置,system V的具体如何设置,在网上一大把资料,请自寻找并自取了解了;
2)、在kernel command-line中输入对应的启动模式值,读取这个命令行的地方为文件: /proc/cmdline ,而这个文件的所对应的值一般为 BOOT_IMAGE=/boot/vmlinuz-3.14.× root=UUID=5d5daf1d-cf45-4f1c-b28d-e517a32dcf28 ro quiet splash vt.handoff=7  类似的行,这行对应的是在grub启动选项中进行填入的,可以在系统启动的时候按e键进行配置,只要存在-s或0~6的数值,那么DEFAULT_RUNLEVEL的值将会改变为对应的值,然后会使用telinit  ${DEFAULT_RUNLEVEL}进行对应启动模式的启动;

关于upstart事件驱动的介绍可参考:

http://blog.csdn.net/yygydjkthh/article/details/24796755


主要代码在rc-sysinit.conf中的如下代码中体现:
script
    # Check for default runlevel in /etc/inittab
    if [ -r /etc/inittab ]
    then
        eval "$(sed -nre 's/^[^#][^:]*:([0-6sS]):initdefault:.*/DEFAULT_RUNLEVEL="\1";/p' /etc/inittab || true)"
    fi

    # Check kernel command-line for typical arguments
    for ARG in $(cat /proc/cmdline)
    do
        case "${ARG}" in
        -b|emergency)
            # Emergency shell
            [ -n "${FROM_SINGLE_USER_MODE}" ] || sulogin
            ;;
        [0123456sS])
            # Override runlevel
            DEFAULT_RUNLEVEL="${ARG}"
            ;;
        -s|single)
            # Single user mode
            [ -n "${FROM_SINGLE_USER_MODE}" ] || DEFAULT_RUNLEVEL=S
            ;;
        esac
    done

    # Run the system initialisation scripts
    [ -n "${FROM_SINGLE_USER_MODE}" ] || /etc/init.d/rcS

    # Switch into the default runlevel
    telinit "${DEFAULT_RUNLEVEL}"
end script

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值