Davinci DM6467T 上电自动运行程序(修改根文件系统)

时间:2022-03-20 16:29:47

Davinci的板子是做嵌入式开发的,就会有板子上电之后自动运行程序的需求。原始的根文件系统上电后:1. root登录 2. cd /opt/dm6467T 3. loadmodules.sh 4. 运行程序,例如:encodedecode,都是通过串口控制台控制的。 我需要免去串口的操作,让系统自己执行这四步。

上网查资料,说的最多的方法就是:在 etc/init.d/rc.local 的最后添加命令,但是嵌入式系统没有rc.local文件。还有一种方法是在etc/inti.d/rcS的最后添加命令。这种方法我遇到的问题有这么几个:1. 添加命令到最后,但是命令并没有被执行到,原因可能是linux初始化顺序的问题吧,没有研究。2. 添加到中间位置,可以被执行到,但是,loadmodules.sh文件执行过程中出错,原因可能是rcS脚本是最先运行的,其他脚本没有运行导致loadmodules.sh运行不下去,具体也没有深究。

我使用成功的方法是:在etc/inittab 文件中找到这么一行程序:S:2345:respawn:/sbin/getty 115200 ttyS0  作用是开一个控制台,并且运行登录程序getty 。将它修改成:S:2345:respawn:/bin/login -f root  作用是root登录 。到这个时候应该所有该执行的脚本都执行了。然后 修改 etc/profile.d/tslib.sh 脚本。这个脚本一旦有用户登录就会被执行,在脚本最后添加 需要的命令

cd /opt/dm6467T
loadmodules.sh
encodedecode


这样一来,上电自后自动root,然后自动执行profile.d里的脚本,就可以实现程序的自动运行了。