搜索

121

主题

128

帖子

665

积分

网站编辑

Rank: 8Rank: 8

积分
665
发表于 2021-6-17 10:32:20 5583 浏览 0 回复

i.MX6开发板QT系统Busybox移植DHCP

本帖最后由 翠花儿 于 2021-6-17 10:41 编辑

1 安装交叉编译工具链
配套资料在网盘的路径为“iTOP-i.MX6开发板资料汇总(不含光盘资料)\08_iTOP-i.MX6开发板Linux系统开发资料\07-Busybox移植DHCP”路径下。
1编译的时候需要用到交叉编译工具,这里安装的是 arm-2009q3 编译器,在网盘目录
“IMX6开发板资料汇总(不含光盘资料,6Q,6D,6QPLUS通用)\IMX6开发板系统固件烧写及编译\05开发板系统源码编译\arm-2009q3.tar.bz2”下,如下图所示,压缩包“arm-2009q3.tar.bz2”。
2使用 SSH 工具将交叉编译工具拷贝到 Ubuntu14系统的文件夹“usr”-- >“local”-->“arm”中,local 下默认没有 arm 文件夹,可以新建一个。如下图所示。
拷贝编译器之后如下图所示。
3 然后在 Ubuntu 系统中将压缩包解压到当前目录下。
使用命令“cd /usr/local/arm/”进入/usr/local/arm 文件夹,然后使用解压命令“tar - vxf arm-2009q3.tar.bz2”解压压缩包,如下图所示。
4 修改交叉编译工具路径,需要修改环境变量,具体操作如下:
在 Ubuntu 命令行中,执行命令“cd /root”和“vim .bashrc”,打开环境变量文件 “.bashrc”,如下图所示。
然后在“.bashrc”文件中的最后一行添加如下信息:
export PATH=$PATH:/usr/local/arm/arm-2009q3/bin” 如下图所示。
修改完成后保存退出。
5 执行下列命令,更新环境变量“source .bashrc”的命令,如下图所示。
6最后,在 Ubuntu 命令行中输入命令“arm”,然后按 TAB 键,如果在命令行中能够看到 arm 编译器的信息,就表明交叉编译工具安装成功,如下图所示。
2 下载DHCP-4.4.1源码
1我们可以从以下链接下载DHCP-4.3.6源码:file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml9784\wps9.jpgftp://ftp.isc.org/isc/dhcp/4.4.1/dhcp-4.4.1.tar.gz 。如下图 所示,点击保存,开始下载,我们资料包里面也提供了下载好的压缩包
3 交叉编译DHCP-4.4.1
1在Ubuntu的home/topeet/iMX6Q目录下新建一个DHCP的文件夹,将下载的文件dhcp-4.4.1.tar.gz拷贝到文件夹下面,如图所示:
2 输入命令tar -vxf dhcp-4.4.1.tar.gz将文件解压,如图所示:
解压完成后进入解压后的目录,如图所示
3输入命令:chmod 777 configure 赋予configure权限,如图所示:
4输入命令:./configure CC=/usr/local/arm/arm-2009q3/bin/arm-none-linux-gnueabi-gcc-4.4.1 BUILD_CC=gcc ac_cv_file__dev_random=yes --host=arm-linux-gnueabihf --with-randomdev=no如图所示:
配置完成如图所示:
5输入命令:make
make编译完如下图所示,会有报错,输入rm -f /usr/include/zlib.h,如图 所示:
然后再次输入make,编译成功,如图所示:
6编译后在client目录下可得到dhclient可执行文件,查看dhclient,如图所示:
60.4 打包文件系统
我们想要开发板上面烧写QT文件系统(Qt文件系统是基于busybox系统,busybox文件系统也可以),我们首先将Qt5.7拷贝到/home/topeet/iMX6Q/目录下,QT5.7镜像在本教程对应的资料包里面获取。
然后执行命令:将其解压
将client目录下编译好的dhclient可执行文件拷贝到目标板系统的/bin目录下,输入命令:
cp /home/topeet/iMX6Q/DHCP/dhcp-4.4.1/client/dhclient ./bin
查看./bin/目录下是否有dhclient
将client目录下的dhclient.conf.5和client/scripts/linux拷贝到目标板的/sbin目录下,输入命令:
cp /home/topeet/iMX6Q/DHCP/dhcp-4.4.1/client/dhclient.conf.5 ./sbin/
cp /home/topeet/iMX6Q/DHCP/dhcp-4.4.1/client/scripts/linux ./sbin/
并将dhclient.conf.5改名为dhclient.conf,将linux脚本改名为dhclient-script,输入命令:
mv ./sbin/dhclient.conf.5 ./sbin/dhclient.conf
mv ./sbin/linux ./sbin/dhclient-script
如图所示:
并输入命令chmod +x ./sbin/dhclient-script,为dhclient-script添加可执行属性。
修改dhclient-script文件,将第一行修改为#!/bin/sh 如图 1和图 2所示:
图 1
图 2
然后我们使用命令
tar -zcvf rootfs.tgz bin etc lib mnt proc sbin system topeet var dev home linuxrc opt root sys tmp usr version
将文件系统打包
输入命令:chmod 777 -R rootfs.tgz赋予权限。
5 烧写文件系统
1.烧写前,我们先来修改mfgtools烧写工具的一些配置。
修改cfg.init如图所示:
2.将rootfs.tar.bz2通过ssh软件放入mfgtools烧写目录
mfgtools_for_6\Profiles\Linux\OS Firmware\files\linux下面,uboot和kernel使用本文档配套资料包里面的
3.拨码开关设置成USB烧写,然后点击图3按钮进行烧写。
图3
烧写完成进度条会变成绿色,如图所示:
6 测试开发板
1 将开发板的拨码开关拨成EMMC启动模式,如下图所示
2然后启动进入uboot模式,设置选择屏幕
5 寸屏幕:setenv lcdtype 5.0
9.7 寸屏幕:setenv lcdtype 9.7
10.1 寸屏幕:setenv lcdtype 10.1
塑胶壳 7 寸屏幕:setenv lcdtype 7.0
金属框 7 寸屏幕:setenv lcdtype 1024x600
HDMI 显示器:Setenv lcdtype hdmi
保存配置的命令:saveenv
3 设置系统参数:在 uboot 的命令行中,使用命令“setenv bootsystem qt”设置环境变量参数为“qt”启动模式,然后使用“saveenv”保存。
4 最后在输入重启命令:reset  重启完毕,我们可以看到板子启动。
5 串口控制台输入ifconfig查看IP,发现eth0网卡分配了IP地址。
6  DHCP是路由器动态分配IP的工具,那我们要测试DHCP,首先输入 vi etc/eth0-setting ,注释掉里面的内容,如下图所示,然后修改保存,注意!开发板网口要插上网线,因为是路由器分配IP地址,然后重新启动开发板。
7  开发板启动后,如下图所示输入命令:
8 输入dhclient eth0 -v 命令,如下图所示,出现错误,根据提示,我们建立对应的文件夹。
9 再次输入 dhclient eth0 -v ,如下图所示:
10 输入ifconfig查看,发现DHCP已经动态分配了IP地址。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

返回列表
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

登录或注册

官方客服

QQ:2551456065

官方QQ群

195631883

扫一扫关注迅为公众号

群号652692981

 
快速回复 返回顶部 返回列表