arm qt自启+网络自动获取ip地址c

来源:互联网 发布:英雄无敌 mac 10.13 编辑:程序博客网 时间:2024/06/05 07:09

移植了uboot/kernel/fs后,又移植了qt5.5.1,现在需要每次需要press Enter才能进入命令行,而且需要每次手动启动qt程序,手动获取ip地址设置网关等着实麻烦,这里记录一下自动设置的方法。


1.设置ip自动获取

这个网上一大堆,只需要设置udhcpc得到的ip设置到对应网卡就好。步骤如下


(1)制作文件系统时需要选中udhcpc命令,即在busybox的选项中选中udhcpc命令即可。

注:我这里用的busybox是1.23.2版本

在网上(http://www.busybox.net/)下载busybox1.23.2,解压到自己的文件夹中。执行make menuconfig,得到下面界面



注:以下前两步是我制作文件系统的需要,关于udhcpc的步骤是3)中所述。

1)在Busybox Setting → Build Options → Cross Compiler prefix (NEW)选项中设置自己交叉编译器的头,我这里设置为(arm-linux-gnueabi-)

2)选中Busybox Setting → Build Options→Build BusyBox as a static binary (no shared libs)属性

3)选中编译命令(这里只演示udhcpc),进入Networking Utilities 选中[*] udhcp Client (udhcpc) ,用于生成udhcpc(client)命令,见下图



4)如果没有别的需求,退出保存即可。制作文件系统需要后续编译安装,这里就不介绍了。


(2)编译内核是需要对DHCP添加支持

1)在内核源码目录下执行make menuconfig (注:请先设置好编译器和平台等变量,我的是arm, arm-linux-gnueabi-gcc)

2)依次选中并进入[*] Networking support  --->Networking options  --->目录下选中

          <* > Packet socket                 //添加.配置CONFIG_PACKET

          [ * ]     IP: DHCP support         //添加

          [ * ] Network packet filtering (replaces ipchains)  --->  

如下图:




3)其他各项根据自己需要设置,这里不介绍,退出保存,编译内核。


(3)文件拷贝+脚本设置

1)将busybox安装目录下的examples/udhcp/simple.script文件拷贝到开发板/usr/share/udhcpc/下(如果开发板上没有该路径,请自行创建),重命名为default.script文件

2)在开发板的etc/init.d/rcS文件中添加自动获取命令/sbin/udhcpc(不过前提是先启动网卡如ifconfig eth0 up)


2.qt自启动

qt自启动需要在用户登录后进行,所以一定要注意执行时机。

(1)设置自动登录,并进入命令行

1)打开开发板etc目录下的inittab文件,设置进入命令行模式的语句 console::respawn:-/bin/sh,这里的respawn就是自动进入命令行,如果设置为console::askfirst:-/bin/sh,就需要手动敲击Enter键进入命令行。

2)添加启动语句。

在linux中/etc/init.d/rcS一般是登录前的初始化,即在启动过程中的初始化。而profile一般是设置环境变量的,设置完成后即可启动qt了,于是在/etc/init.d中创建rcqt文件,内容为

[plain] view plain copy
 在CODE上查看代码片派生到我的代码片
  1. #!/bin/sh -e  
  2. #  
  3. # rcqt  
  4. #  
  5. # start qt  
  6.   
  7. /test/qt_test -qws  
注:我的qt执行文件名为qt_test,放在开发板的/test/文件夹下了。

将rcqt文件添加可执行权限(chmod a+x rcqt),在profile中文件中调用刚刚创建的文件,添加语句

[plain] view plain copy
 在CODE上查看代码片派生到我的代码片
  1. # start qt  
  2. ./etc/init.d/rcqt  




这样就OK了。arm qt自启+网络自动获取ip地址http://blog.csdn.net/shengzhadon/article/details/50802699




0 0
原创粉丝点击