本帖最后由 翠花儿 于 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.11在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地址。
|