您的位置:首页 > 运维架构 > Linux

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

2017-08-16 11:32 260 查看
    最近开始使用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


经过验证,两种方案均可实现启动配置
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: