IMX6ULL学习笔记(10)——通过TFTP烧录Linux内核

2022-10-23  本文已影响0人  Leung_ManWah

一、搭建环境

1.1 搭建TFTP服务

通过以下方式完成TFTP网络系统的搭建:

mkdir /home/nfs
sudo chmod -R 777 /home/nfs
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = /home/nfs
disable = no
per_source = 11
cps = 100 2
flags = IPv4
}

1.2 搭建局域网环境

1.2.1 连接到局域网

开发板与电脑接入到同一个局域网中,然后电脑提供TFTP服务,开发板通过TFTP与电脑连接共享文件。电脑生成的目标板应用程序放在TFTP的共享文件夹内,开发板访问该文件夹执行应用程序进行测试。

在另一方面,电脑与开发板通过串口连接,使用串口终端控制开发板。


把虚拟机的网络连接方式改成桥接模式


如果原来Ubuntu通过WIFI获取网络的,需要先把Windows的WIFI关掉,重新使用有线网络。
设置IP地址、子网掩码和网关地址

1.2.2 设置开发板网络

上电快速按回车进入Uboot



设置IP地址、子网掩码和网关地址

setenv gatewayip '192.168.31.1'
setenv netmask '255.255.255.0'
setenv ipaddr '192.168.31.107'
setenv serverip '192.168.31.77'
setenv ethaddr '32:34:46:78:9A:DC'
saveenv

1.2.3 互ping测试

连接好网络后在电脑和开发板之间进行互ping测试,以保证网络互通。

开发板ping电脑:


二、将Linux内核烧写到开发板中

将我们编译的 zImage(在arch/arm/boot下) 放到 nfs 目录下

run args_mmc_old;
tftp 0x80800000 zImage;
load mmc 1:2 0x83000000 /usr/lib/linux-image-4.19.35-imx6/imx6ull-mmc-npi.dtb;
bootz 0x80800000 - 0x83000000;
ubi part rootfs;
ubifsmount ubi0;
ubifsload 0x84000000 /lib/firmware/fatboot.img;
tftp 0x80800000 zImage;
ubifsload 0x83000000 /usr/lib/linux-image-4.19.35-imx6/imx6ull-nand-npi.dtb;
load ramblock 0:1 0x88000000 /kernel/initrd.img-4.19.35-imx6;
bootz 0x80800000 0x88000000:${filesize} 0x83000000;

三、查看Linux内核版本

cat /proc/version


• 由 Leung 写于 2022 年 10 月 23 日

• 参考:28.3. TFTP网络系统的搭建
    11.4. TFTP烧写Linux内核(SD/EMMC/NAND通用,一般用于测试)

上一篇 下一篇

猜你喜欢

热点阅读