petalinux(-)自动登录及启动配置

来源:互联网 发布:c语言从1加到100while 编辑:程序博客网 时间:2024/06/02 00:39

    最近开始使用zynq7020开发产品,使用的了petalinux创建系统的确很方便,但创建的系统每次都要人工登录,查看相关文档实现自动登录步骤如下:

1、创建自动登录的APP ,调用命令如下:

#petalinux-create -t apps --name autologin --enable

2、切换到APP目录

#cd <plnx-proj-root>/components/apps/autologin

3、修改APP内容(autologin.c)如下:

#include <unistd.h>#include <stdio.h>int main(){   execlp( "login", "login", "-f", "root", 0);}

4、修改Makefile,将install部分修改如下:

$(TARGETINST) -d -p 0755 autologin /etc/init.d/autologin$(TARGETINST) -s /etc/init.d/autologin /etc/rc5.d/S99autologin

5、重新编译即可

实现自动登录后,我们难免会加入一些脚本配置目标系统的参数及环境,例如为了调试方便,我启动了NFS。每次启动后都要mount一下,费时又费力,在petalinux的build目录中修改,也会奏效,但如果调用petalinux-config 等命令后,一切努力又会化为乌有。找了许久相关的资料,最后找到两个方案:

方案一

创建一个启动脚本、将脚本当作一个APP包含进petalinux,其实现步骤如下:

1、创建预编译APP,调用以下命令:

$ petalinux-create -t apps --template install --name startUp --enable

2、切换至APP目录

#cd <plnx-proj-root>/components/apps/startUp

3、创建或者拷贝启动脚本文件

      我的取名为startUp.sh,至于如果创建、编辑之类的,在这具体的就不详述了,

4、修改Makefile

将install部分修改如下:

$(TARGETINST) -d -p 0755 startUp.sh /etc/init.d/startUp.sh$(TARGETINST) -s /etc/init.d/startUp.sh /etc/rc5.d/S99startUp.sh

方案二

借助APP的Makefile将启动配置命令追加大profile中。例如我就借助自动登录的makefile将网络加载命令追加到profile。autologin的Makefile的install部分最终修改如下:

$(TARGETINST) -d -p 0755 autologin /etc/init.d/autologin$(TARGETINST) -s /etc/init.d/autologin /etc/rc5.d/S99autologin
$(TARGETINST) -a "mount -t nfs -o nolock 192.168.0.100:/home/work /mnt" /etc/profile
经过验证,两种方案均可实现启动配置




原创粉丝点击