需求剖析

在嵌入式项目开发中,为了适配新外设、调整硬件资源分配或修补驱动问题linux mint,须要频繁更改设备树和内核。更改完成后linux内核与驱动,一般须要重新编译生成镜像,并将其烧写到开发板上进行测试。但是,传统的烧写方法除了须要联接化学插口,还可能由于镜像容积较大而花费较长时间,这在开发周期紧张的情况下变得尤为低效。

为了解决这一问题,可以采用基于TFTP(TrivialFileTransferProtocol)的内核和设备树加载方式。这些方法无需将镜像完整烧写到开发板的储存介质,而是通过网路直接加载和运行新内核与设备树。相比传统烧写形式,TFTP加载明显降低了镜像更新的等待时间,同时容许更灵活地对不同版本的内核或设备树进行快速切换和验证。

TFTP加载内核设备树

实验平台:iTOP-RK3568开发板

01-安装TFTP服务端

基于TFTP的内核和设备树加载方法_嵌入式项目开发TFTP加载内核设备树_linux内核与驱动

首先进行TFTP服务端的搭建linux内核与驱动,首先在ubuntu终端中执行以下命令安装TFTP服务:

sudoapt-getinstalltftp-hpatftpd-hpa

安装完成之后创建TFTP服务器工作目录,并对TFTP的服务配置文件进行更改,具体步骤如下:

输入以下命令在家目录创建tftpboot文件夹,如右图所示:

mkdir-ptftpboot

嵌入式项目开发TFTP加载内核设备树_linux内核与驱动_基于TFTP的内核和设备树加载方法

安装完成之后创建TFTP服务器工作目录,并对TFTP的服务配置文件进行更改,具体步骤如下:

输入以下命令在家目录创建tftpboot文件夹,如右图所示:

chmod777tftpboot

最后使用以下命令更改TFTP配置文件,打开配置文件之后如右图所示:

sudovim/etc/default/tftpd-hpa

c94eb782-d49c-11ef-9310-92fbcf53809c.png

linux内核与驱动_基于TFTP的内核和设备树加载方法_嵌入式项目开发TFTP加载内核设备树

更改为如下内容,更改完成如右图所示:

TFTP_USERNAME=”tftp”

TFTP_DIRECTORY=”/home/topeet/tftpboot/”

TFTP_ADDRESS=”:69″

TFTP_OPTIONS=”-l-c-s”

c9697252-d49c-11ef-9310-92fbcf53809c.png

嵌入式项目开发TFTP加载内核设备树_基于TFTP的内核和设备树加载方法_linux内核与驱动

更改完成保存退出,在终端输入以下命令重启tftpd-hpa服务。

sudoservicetftpd-hparestart

如右图所示:

02-配置开发板网路

嵌入式项目开发TFTP加载内核设备树_linux内核与驱动_基于TFTP的内核和设备树加载方法

TFTP服务端搭建完成以后puppy linux,进行第二步,配置开发板的网路。

联接好开发板的网线后,上电启动开发板,在加载阶段点击“ctrl+c”进入uboot命令行,如右图所示:

c98fe0ea-d49c-11ef-9310-92fbcf53809c.png

之后来到搭建好TFTP环境的ubuntu终端,输入“ifconfig”命令来查看虚拟机ubuntu的ip,如右图所示:

c9b024e0-d49c-11ef-9310-92fbcf53809c.png

Tagged:
Author

这篇优质的内容由TA贡献而来

刘遄

《Linux就该这么学》书籍作者,RHCA认证架构师,教育学(计算机专业硕士)。

发表回复