Linaro
Cubietruck Plus
Cubieboard5
CB5
Linaro虽然是基于Ubuntu系统开发的,但是在很多功能是并无法沿用Ubuntu的方法,就拿前面小编搭建VNC服务的时候就是参考Ubuntu的方式来操作的,结果废半天都没法达到效果..... 所以玩Cubietruck Plus真是极具挑战呀,官网也没有什么资料可供参考,只能自己摸索了,一条不归路呀.......
上篇小编对x11vnc服务进行了开机启动设置,但是说的比较简单,可能很多人都不太明白,所以今天准备深入研究挖掘,当然还是要参考下Ubuntu。 要想弄明白Linaro如何添加开机启动,我们需要先来了解Linaro的启动模式, linux都有自己一套完整的启动体系,当然Linaro也会有属于自己的启动方式。 这里我们通过终端执行命令:pstree 可以查看Linaro启动进程树
通过Linaro的启动进程树我们能知道啥?这里我们还需要知道linux的另一个概念,那就是运行级别。 Linux的运行级别一般有7个,从0~6。 0:关机。不能将系统缺省运行级别设置为0,否则无法启动。 1:单用户模式,只允许root用户对系统进行维护。 2:多用户模式,但不能使用NFS 3:字符界面的多用户模式。 4:未定义。 5:图形界面的多用户模式。 6:重启。不能将系统缺省运行级别设置为0,否则会一直重启。 当系统处于不同的运行级别配置时,将导致系统的启动过程有很大差异,我们可以通过命令:runlevel 查看当前的运行级别,小编的运行级别为2。 查询结果:先后显示系统上一次和当前运行级别。如果不存在上一次运行级别,则用N表示。
运行级别是init进程在执行/etc/init/目录下的rc-sysinit.conf指定的,这个文件为我们指明了本次启动的默认运行级别,所以这个命令会被init进程首先执行。
在 /etc/rc2.d/ 目录下我们可以看到这时候才指定了rc.local进程的启动,所以这时候/etc/rc.local才被启动,这也是上篇小编用来设置开机启动VNC服务的位置。 接着执行定时任务,通过/etc/crontab里面配置来周期性的执行某种任务或等待处理某些事件的一个守护进程。
知道了Linaro的启动流程,我们在来设定开机启动程序就简单多了,这里还是以添加VNC服务为例。 在/etc/init/目录下添加开机启动程序。该目录下新建文件vnc.conf,然后将下面的内容拷贝至文件保存即可。start on login-session-startscript x11vnc -forever -shared -rfbauth ~/.vnc/passwdend script 根据启动流程init进程会在启动的时候会执行命令:x11vnc -forever -shared -rfbauth ~/.vnc/passwd
你也可以 在/etc/rc2.d目录下添加开机启动程序,我们可以看到/etc/rc2.d中的文件都是连接符形式,所以同样可以制作个连接符让其调用相应的程序执行: 我们在/usr/bin/创建一个VNC启动脚本:VNCstart ,然后将以下命令粘贴进去:#!/bin/bash#VNCstart scriptx11vnc -forever -shared -rfbauth ~/.vnc/passwd 接着使用下面的命令建立一个指向/usr/bin/VNCstart 的链接,这样init在启动时就会执行这个链接指向的命令。 ln -s /usr/bin/VNCstart ./S99VNCstart
在/etc/rc.local文件里添加启动程序,在“exit 0”之前写上你的命令就可以了,小编之前就是这么做的。 所以,如果你要添加自己的开机启动程序,以上几种方法都可以