Jetson模块刷机方法、系统、设备和存储介质与流程

文档序号:31400104发布日期:2022-09-03 04:21阅读:461来源:国知局
Jetson模块刷机方法、系统、设备和存储介质与流程
jetson模块刷机方法、系统、设备和存储介质
技术领域
1.本发明涉及服务器技术领域,特别是涉及一种jetson模块刷机方法、系统、设备和存储介质。


背景技术:

2.随着物联网和ai芯片的发展,有越来越多的数据在边缘侧处理,边缘平台需要更大的灵活性以支持不断更新的模式,保证推理前后的功能以及推理时的性能影响分析的实时性。
3.nvidia的jetson模块专为机器人、自主机器、医疗器材及嵌入式边缘运算等场景而生,给边缘计算带来了无限的可能性。而jetson模块是需要进行版本升级的,jetson模块在版本升级或者是需要重新刷机时,现有技术的jetson模块的重装方法只能是按照nvidia官方文件,jetson模块只支持linux系统,因此对jetson模块进行刷机时,需额外使用一台安装linux系统的主机来实施,如果没有linux系统的主机,便需要将主机重装linux系统,这样便会删除主机硬盘中的资料,因此现有技术的jetson模块刷机方法较为不便,费时费力。


技术实现要素:

4.基于此,有必要针对上述技术问题,提供一种能够提高刷机效率的jetson模块刷机方法、系统、计算机设备和存储介质。
5.一方面,提供一种jetson模块刷机方法,所述jetson模块刷机方法包括:
6.根据预设内核配置文件获取内核镜像文件和设备树文件;
7.在jetson模块开发环境下根据内核镜像文件和设备树文件对jetson模块进行刷机验证;
8.待jetson模块的刷机验证通过后,将内核镜像文件和设备树文件制作成离线刷机包;
9.将离线刷机包存储至linux启动盘,并将jetson模块和linux启动盘连接至主机;
10.以usb方式启动主机,通过linux启动盘使得主机进入linux环境,并在linux环境下采用离线刷机包对jetson模块进行刷机。
11.在其中一个实施例中,所述根据预设内核配置文件获取内核镜像文件和设备树文件前,还包括:
12.获取jetson驱动包、根文件系统包和开发环境包;
13.执行环境脚本,根据jetson驱动包、根文件系统包和开发环境包生成jetson模块开发环境。
14.在其中一个实施例中,所述根据预设内核配置文件获取内核镜像文件和设备树文件,包括:
15.获取内核源码包,根据内核源码包得到内核配置文件;
16.配置内核配置文件并进行编译,以生成新的内核镜像文件和设备树文件;
17.将新的内核镜像文件和设备树文件替换掉jetson驱动包中旧的内核镜像文件和设备树文件。
18.在其中一个实施例中,所述在jetson模块开发环境下根据内核镜像文件和设备树文件对jetson模块进行刷机验证,包括:
19.执行验证脚本,在jetson模块开发环境下对新的内核镜像文件和设备树文件进行刷机验证。
20.在其中一个实施例中,所述待对jetson模块的刷机验证通过后,将内核镜像文件和设备树文件制作成离线刷机包,包括:
21.待刷机验证通过后,执行刷机包脚本,以根据新的内核镜像文件和设备树文件获得离线刷机包。
22.在其中一个实施例中,所述将离线刷机包存储至linux启动盘,包括:
23.启动linux系统的启动盘工具,接收用户选择的u盘和linux系统镜像文件,以制作linux启动盘;
24.对linux启动盘建立第二分区,并将jetson模块的离线刷机包存储至linux启动盘的第二分区。
25.在其中一个实施例中,所述以usb方式启动主机,通过linux启动盘使得主机进入linux环境,并在linux环境下采用离线刷机包对jetson模块进行刷机,包括:
26.接收用户设置的主机启动方式,以usb方式启动主机,使得主机通过linux启动盘进入linux环境;
27.在linux环境下采用jetson模块的离线刷机包对jetson模块进行刷机。
28.另一方面,提供了一种jetson模块刷机系统,所述jetson模块刷机系统包括:
29.文件获取模块,用于根据预设内核配置文件获取内核镜像文件和设备树文件;
30.刷机验证模块,用于在jetson模块开发环境下根据内核镜像文件和设备树文件对jetson模块进行刷机验证;
31.刷机包生成模块,用于将内核镜像文件和设备树文件制作成离线刷机包;
32.jetson刷机模块,用于以usb方式启动主机,通过linux启动盘使得主机进入linux环境,并在linux环境下采用离线刷机包对jetson模块进行刷机。
33.再一方面,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现以下步骤:
34.根据预设内核配置文件获取内核镜像文件和设备树文件;
35.在jetson模块开发环境下根据内核镜像文件和设备树文件对jetson模块进行刷机验证;
36.待jetson模块的刷机验证通过后,将内核镜像文件和设备树文件制作成离线刷机包;
37.将离线刷机包存储至linux启动盘,并将jetson模块和linux启动盘连接至主机;
38.以usb方式启动主机,通过linux启动盘使得主机进入linux环境,并在linux环境下采用离线刷机包对jetson模块进行刷机。
39.又一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有程序,当所述程序被处理器执行时,使得所述处理器执行以下步骤:
40.根据预设内核配置文件获取内核镜像文件和设备树文件;
41.在jetson模块开发环境下根据内核镜像文件和设备树文件对jetson模块进行刷机验证;
42.待jetson模块的刷机验证通过后,将内核镜像文件和设备树文件制作成离线刷机包;
43.将离线刷机包存储至linux启动盘,并将jetson模块和linux启动盘连接至主机;
44.以usb方式启动主机,通过linux启动盘使得主机进入linux环境,并在linux环境下采用离线刷机包对jetson模块进行刷机。
45.本发明的上述技术方案相比现有技术具有以下优点:
46.上述jetson模块刷机方法、系统、计算机设备和存储介质,根据jetson模块刷机需要的文件制作离线包;利用启动盘工具和u盘制作linux启动盘;将离线刷机包存储至linux启动盘,linux启动盘连接至主机,构建一个linux环境下的刷机工具,即linux刷机工具;将jetson模块连接至主机,通过linux刷机工具,以usb方式启动主机,主机通过linux启动盘进入linux启动盘中的linux环境,主机在linux启动盘中的linux环境下,按照官方操作来对jetson模块进行刷机,不再需要准备一台linux系统的主机,省时省力,简化了jetson模块的刷机流程,提高了jetson模块的刷机效率。
附图说明
47.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
48.图1是本发明的jetson模块刷机方法的第一方法流程图;
49.图2是本发明的jetson模块刷机方法的第二方法流程图;
50.图3是本发明的jetson模块刷机系统的系统结构图;
51.图4是本发明的计算机设备的设备结构图。
具体实施方式
52.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
53.jetson模块只支持linux内核的系统,并且只能在基于linux内核的ubuntu操作系统上运行,因此现有技术对jetson模块进行刷机的时候,必须要在linux环境下执行刷机操作,所以要准备一台linux操作系统的主机,而在实际场景中,要准备一台linux操作系统的主机,就要对周围一台windows主机重新安装系统,重装为linux系统,这便对windows主机的硬盘数据进行了清除,并且破坏了主机原有的windows操作系统,因此现有技术的jetson模块刷机方法极为不便,费时费力。本发明针对此问题,根据jetson模块刷机需要的文件制
作离线包;利用启动盘工具和u盘制作linux启动盘;将离线刷机包存储至linux启动盘,linux启动盘连接至主机,构建一个linux环境下的刷机工具,即linux刷机工具;将jetson模块连接至主机,通过linux刷机工具,以usb方式启动主机,主机通过linux启动盘进入linux启动盘中的linux环境,主机在linux启动盘中的linux环境下,按照官方操作来对jetson模块进行刷机,不再需要准备一台linux系统的主机,省时省力,简化了jetson模块的刷机流程,提高了jetson模块的刷机效率。
54.实施例一:
55.本实施例的jetson模块刷机方法,参照图1~图2所示,图1为本发明的jetson模块刷机方法的第一方法流程图;图2是本发明的jetson模块刷机方法的第二方法流程图。
56.方法包括以下步骤:
57.根据预设内核配置文件获取内核镜像文件和设备树文件;
58.通过linux启动盘进入linux环境,对jetson模块进行刷机的前提,是制作jetson模块的离线刷机包。制作离线刷机包需要根据内核配置文件(kernel configuration file,.config文件)进行配置,以根据实际的功能需求配置jetson模块,配置后的内核配置文件称为预设内核配置文件。将jetson模块的功能需求在内核配置文件中配置完毕后,得到预设内核配置文件,然后根据预设内核配置文件得到内核镜像文件(.image文件)和设备树文件(.dtb文件),以便于根据内核镜像文件和设备树文件对jetson模块进行刷机验证。
59.在jetson模块开发环境下根据内核镜像文件和设备树文件对jetson模块进行刷机验证;
60.根据预设内核配置文件获取内核镜像文件和设备树文件后,便需要根据内核镜像文件和设备树文件对jetson模块进行刷机验证。进行刷机验证的前提是进入jetson模块开发环境,因此研发人员在研发阶段需要在jetson模块开发环境下根据内核镜像文件和设备树文件对jetson模块进行刷机验证,以便于制作jetson模块的离线刷机包。
61.待对jetson模块的刷机验证通过后,将内核镜像文件和设备树文件制作成离线刷机包;
62.在jetson模块开发环境下根据内核镜像文件和设备树文件对jetson模块进行刷机验证,待jetson模块的刷机验证通过后,则说明内核镜像文件和设备树文件是正常的,可以将内核镜像文件和设备树文件制作成离线刷机包,以便于客户通过linux启动盘和jetson模块的离线刷机包对jetson模块进行刷机操作。
63.将离线刷机包存储至linux启动盘,并将jetson模块和linux启动盘连接至主机;
64.离线刷机包制作完毕后,将离线刷机包存储至linux启动盘,linux启动盘可以使得主机进入linux环境,也可以存储jetson模块的离线刷机包,linux启动盘通过u盘制作,u盘易携带,方便,易操作,可以有效地提高jetson模块的刷机效率。将jetson模块的离线刷机包存储至linux启动盘后,便可以将jetson模块和linux启动盘连接至主机,以便于以usb方式启动主机,通过linux启动盘使得主机进入linux环境,并在linux环境下采用jetson模块的离线刷机包对jetson模块进行刷机。
65.以usb方式启动主机,通过linux启动盘使得主机进入linux环境,并在linux环境下采用离线刷机包对jetson模块进行刷机。
66.主机、linux启动盘、jetson模块刷机包构建成了刷机工具,对jetson模块进行刷
机进行刷机时,满足这三个要素即可。满足这三个要素后,将linux启动盘连接到主机上,然后设置主机的启动项,以usb方式启动主机,也就是主机通过linux启动盘启动,主机便进入了linux启动盘中的linux环境,在linux环境下借助jetson模块的离线刷机包,便可以按照nvidia官方文档来执行刷机操作,不再需要准备linux系统的主机,提高了jetson模块的刷机效率。当然,执行jetson模块的刷机之前,还需要将jetson模块与主机通信连接。
67.在其中一个实施方式中,所述根据预设内核配置文件获取内核镜像文件和设备树文件前,还包括:
68.获取jetson驱动包、根文件系统包和开发环境所需包;
69.要想根据内核镜像文件和设备树文件对jetson模块进行刷机验证,就要先进入jetson模块开发环境,jetson模块开发环境的建立需要jetson驱动包(l4t包)、根文件系统包(root-filesystem)和开发环境包,因此要获取jetson驱动包、根文件系统包和开发环境包,以便于建立jetson模块开发环境。
70.执行环境脚本,根据jetson驱动包、根文件系统包和开发环境包生成jetson模块开发环境。
71.获取jetson驱动包、根文件系统包和开发环境包后,执行环境脚本,即,apply_binaries.sh脚本,通过jetson驱动包、根文件系统包和开发环境包便会生成jetson模块开发环境,在jetson模块开发环境下便可以根据内核镜像文件和设备树文件对jetson模块进行刷机验证。
72.在其中一个实施方式中,所述根据预设内核配置文件获取内核镜像文件和设备树文件,包括:
73.获取内核源码包,根据内核源码包得到内核配置文件;
74.要想根据预设内核配置文件获取内核镜像文件和设备树文件,就要先获取内核源码包,根据内核源码包安装内核工具,来设定shell环境变量,配置gcc交叉编译环境变量;根据内核工具便可以得到内核配置文件,以便于对内核配置文件进行功能需求的配置。
75.配置内核配置文件并进行编译,以生成jetson模块的新的内核镜像文件和设备树文件;
76.根据内核源码包得到内核配置文件后,对内核配置文件进行配置,然后对内核配置文件进行编译,便可以得到新的内核镜像文件和设备树文件。对内核配置文件进行配置实质上是对内核功能的配置,包括安全配置、防火墙配置等等功能。根据实际的需求对内核配置文件配置完毕后,对内核配置文件进行编译,便可以根据功能配置得到相应的新的内核镜像文件和设备树文件。
77.将新的内核镜像文件和设备树文件替换掉jetson驱动包中旧的内核镜像文件和设备树文件。
78.jetson驱动包中存在官方的内核镜像文件和设备树文件,称为旧的内核镜像文件和设备树文件。生成新的内核镜像文件和设备树文件后,将新的内核镜像文件和设备树文件替换掉jetson驱动包中旧的内核镜像文件和设备树文件,便可以得到包含需求功能的内核镜像文件和设备树文件,以便于根据新的内核镜像文件和设备树文件制作离线刷机包,得到的离线刷机包便包含了需求的功能。
79.在其中一个实施方式中,所述在jetson模块开发环境下根据内核镜像文件和设备
树文件对jetson模块进行刷机验证,包括:
80.执行验证脚本,在jetson模块开发环境下对新的内核镜像文件和设备树文件进行刷机验证。
81.获取到新的内核镜像文件和设备树文件后,便可以根据新的内核镜像文件和设备树文件制作离线刷机包,但是在制作离线刷机包之前,要先验证新的内核镜像文件和设备树文件是否可用。因此在获取到新的内核镜像文件和设备树文件后,先执行验证脚本,也就是官方的刷机脚本,即,flash.sh脚本。在jetson模块开发环境下,执行验证脚本,便可以对新的内核镜像文件和设备树文件进行刷机验证,实质上就是对jetson模块进行刷机的操作,如果刷机后,jetson模块功能正常,则说明根据内核配置文件获取的新的内核镜像文件和设备树文件是正常可用的;如果jetson模块功能不正常,则说明根据内核配置文件获取的新的内核镜像文件和设备树文件是无法使用的,需要重新制作。
82.在其中一个实施方式中,所述待对jetson模块的刷机验证通过后,将内核镜像文件和设备树文件制作成离线刷机包,包括:
83.待刷机验证通过后,执行刷机包脚本,以根据新的内核镜像文件和设备树文件获得离线刷机包。
84.在jetson模块开发环境下对新的内核镜像文件和设备树文件进行刷机验证,经刷机验证通过后,jetson模块功能正常,则说明根据内核配置文件获取的新的内核镜像文件和设备树文件是正常可用的,则可以执行刷机包脚本,即,nvmassflashgen.sh脚本,通过刷机包脚本便可以根据新的内核镜像文件和设备树文件获得离线刷机包,获得离线刷机包后,便可以将离线存储包存储是linux启动盘,以通过linux启动盘使得主机进入linux环境,执行jetson模块的刷机操作。
85.在其中一个实施方式中,所述将离线刷机包存储至linux启动盘,包括:
86.启动linux系统的启动盘工具,接收用户选择的u盘和linux系统镜像文件,以制作linux启动盘;
87.制作启动盘首先要将制作linux启动盘的u盘连接至主机,然后在主机上启动linux系统的启动盘工具,一般的,使用rufus工具来进行linux启动盘的制作。启动linux系统的启动盘工具后,在启动盘工具的相应位置选择相应的linux系统镜像文件和u盘,即,linux系统的镜像文件和用于制作启动盘的u盘,如,选取ubuntu-18.04.5-desktop-amd64.iso的镜像;然后进行相关的设置,执行启动盘工具的制作流程,便开始了linux启动盘的制作,待linux启动盘制作完成后,便可以进一步准备jetson模块的离线刷机包,以便于主机利用linux启动盘进入linux环境,主机在linux环境下便可以按照nvidia官方文档来执行刷机操作,不再需要准备linux系统的主机,提高了jetson模块的刷机效率。
88.对linux启动盘建立第二分区,并将jetson模块刷机包存储至linux启动盘的第二分区。
89.存储jetson模块的离线刷机包常用的包括两种方法,第一种就是通过主机来存储jetson模块的离线刷机包,就是直接将jetson模块的离线刷机包拷贝到主机的硬盘中,在以usb方式通过linux启动盘进入到linux环境时,便可以获取位于主机硬盘中的jetson模块的离线刷机包,因此将jetson模块的离线刷机包存储至主机的存储设备中即可,当然,这种方法也有其不便性,在不同地点对多个jetson模块进行刷机时都需要提前将jetson模块
刷机包存储至不同地点的主机上,操作手续繁琐。存储jetson模块的离线刷机包常用的第二种方法,就是直接将jetson模块的离线刷机包拷贝至linux启动盘中,不过如果采取这种方法,便需要对linux启动盘建立第二分区,第一分区是制作linux启动盘所需要的存储分区;第二分区是存储jetson模块的离线刷机包的存储分区。制作linux启动盘时,u盘必须是fat32的格式,而fat32格式的u盘不支持超过4g大小的资料拷贝,且jetson模块的离线刷机包存在单个资料大于4g的情况,因此要想支持4g以上资料的拷贝,u盘需要制作为ntfs或者是exfat格式,为了同时满足linux启动盘fat32格式和拷贝4g以上资料的功能,对u盘建立第二分区,将第二分区格式化为ntfs或者是exfat格式,而第一分区仍然是fat32格式,便可以将4g以上的jetson模块刷机包存储至linux启动盘的第二分区。此外,linux启动盘中存储着jetson模块的离线刷机包,容易携带,而且在不同地点对多个jetson模块进行刷机的时候,不需要提前将jetson模块刷机包拷贝到主机中,提高了jetson模块刷机的便利性,一般优选第二种方法进行jetson模块的刷机操作。分区工具可以根据实际情况选择,能够对linux启动盘进行分区的工具即可,例如diskgenius、傲梅分区助手等。对linux建立第二分区后,便可以直接将jetson模块的离线刷机包拷贝至linux启动盘的第二分区,linux启动盘中第二分区存储着jetson模块的离线刷机包,容易携带,而且在不同地点对多个jetson模块进行刷机的时候,不需要提前将jetson模块的离线刷机包拷贝到主机中,提高了jetson模块刷机的便利性。
90.在其中一个实施方式中,所述以usb方式启动主机,通过linux启动盘使得主机进入linux环境,并在linux环境下采用离线刷机包对jetson模块进行刷机,包括:
91.接收用户设置的主机启动方式,以usb方式启动主机,使得主机通过linux启动盘进入linux环境;
92.linux刷机工具构建完成后,便可以进行jetson模块的刷机操作了。首先要接收用户设置的主机启动方式,也就是用户对主机的启动项进行设置,以usb方式启动主机,也就是通过主机通过linux启动盘启动,主机便进入了linux环境,在linux环境下借助jetson模块的离线刷机包,便可以按照nvidia官方文档来执行刷机操作,不再需要准备linux系统的主机,提高了jetson模块的刷机效率。
93.在linux环境下采用离线刷机包对jetson模块进行刷机。
94.以usb方式启动主机后,主机通过linux启动盘启动,主机便进入了linux环境,在linux环境下借助jetson模块的离线刷机包,便可以按照nvidia官方文档来执行刷机操作,不再需要准备linux系统的主机,提高了jetson模块的刷机效率。
95.在其中一个实施方式中,所述制作linux启动盘后,还包括:
96.对linux启动盘执行启动盘检验程序。
97.linux启动盘制作完成后,要对linux启动盘进行检验,确定制作完成的linux启动盘能否正常使用。linux启动盘的检验程序为,将linux启动盘连接至主机,重启主机,进入主机的启动项设置界面,选择usb的linux启动盘启动项,然后检验主机能否正常进入linux启动盘的linux系统中,如果能够正常进入,则说明linux启动盘制作正常;如果不能正常进入,则说明linux启动盘制作异常,需要重新制作;异常的原因可能存在如下:u盘存在问题;镜像文件存在问题等。待linux启动盘检验成功后,主机利用linux启动盘进入linux环境,主机在linux环境下便可以按照nvidia官方文档来执行刷机操作,不再需要准备linux系统
的主机,提高了jetson模块的刷机效率。
98.在其中一个实施方式中,所述将jetson模块的离线刷机包存储至linux启动盘的第二分区前,包括:
99.检验第二分区是否分区成功。
100.将jetson模块的离线刷机包存储至linux启动盘的第二分区前,要对第二分区进行检验,如果检验成功,则可以将jetson模块的离线刷机包存储至linux启动盘的第二分区;如果检验不成功,则需要对linux启动盘重新建立第二分区;分区不成功有可能存在一下原因:u盘存在问题;分区工具存在问题等。通过对第二分区的检验,防止后续在执行jetson模块刷机的过程中出现问题,提高了刷机效率。
101.实施例二:
102.参照图2所示,图2为本发明的jetson模块刷机方法的第二方法流程图。
103.获取jetson驱动包、根文件系统包和开发环境包;
104.要想根据内核镜像文件和设备树文件对jetson模块进行刷机验证,就要先进入jetson模块开发环境,jetson模块开发环境的建立需要jetson驱动包(l4t包)、根文件系统包(root-filesystem)和开发环境包,因此要获取jetson驱动包、根文件系统包和开发环境包,以便于建立jetson模块开发环境。
105.执行环境脚本,根据jetson驱动包、根文件系统包和开发环境包生成jetson模块开发环境;
106.获取jetson驱动包、根文件系统包和开发环境包后,执行环境脚本,即,apply_binaries.sh脚本,通过jetson驱动包、根文件系统包和开发环境包便会生成jetson模块开发环境,在jetson模块开发环境下便可以根据内核镜像文件和设备树文件对jetson模块进行刷机验证。
107.获取内核源码包,根据内核源码包得到内核配置文件;
108.要想根据预设内核配置文件获取内核镜像文件和设备树文件,就要先获取内核源码包,根据内核源码包安装内核工具,来设定shell环境变量,配置gcc交叉编译环境变量;根据内核工具便可以得到内核配置文件,以便于对内核配置文件进行功能需求的配置。
109.配置内核配置文件并进行编译,以生成新的内核镜像文件和设备树文件;
110.根据内核源码包得到内核配置文件后,对内核配置文件进行配置,然后对内核配置文件进行编译,便可以得到新的内核镜像文件和设备树文件。对内核配置文件进行配置实质上是对内核功能的配置,包括安全配置、防火墙配置等等功能。根据实际的需求对内核配置文件配置完毕后,对内核配置文件进行编译,便可以根据功能配置得到相应的新的内核镜像文件和设备树文件。
111.将新的内核镜像文件和设备树文件替换掉jetson驱动包中旧的内核镜像文件和设备树文件;
112.jetson驱动包中存在官方的内核镜像文件和设备树文件,称为旧的内核镜像文件和设备树文件。生成新的内核镜像文件和设备树文件后,将新的内核镜像文件和设备树文件替换掉jetson驱动包中旧的内核镜像文件和设备树文件,便可以得到包含需求功能的内核镜像文件和设备树文件,以便于根据新的内核镜像文件和设备树文件制作离线刷机包,得到的离线刷机包便包含了需求的功能
113.执行验证脚本,在jetson模块开发环境下对新的内核镜像文件和设备树文件进行刷机验证;
114.获取到新的内核镜像文件和设备树文件后,便可以根据新的内核镜像文件和设备树文件制作离线刷机包,但是在制作离线刷机包之前,要先验证新的内核镜像文件和设备树文件是否可用。因此在获取到新的内核镜像文件和设备树文件后,先执行验证脚本,也就是官方的刷机脚本,即,flash.sh脚本。在jetson模块开发环境下,执行验证脚本,便可以对新的内核镜像文件和设备树文件进行刷机验证,实质上就是对jetson模块进行刷机的操作,如果刷机后,jetson模块功能正常,则说明根据内核配置文件获取的新的内核镜像文件和设备树文件是正常可用的;如果jetson模块功能不正常,则说明根据内核配置文件获取的新的内核镜像文件和设备树文件是无法使用的,需要重新制作。
115.待刷机验证通过后,执行刷机包脚本,以根据新的内核镜像文件和设备树文件获得离线刷机包;
116.在jetson模块开发环境下对新的内核镜像文件和设备树文件进行刷机验证,经刷机验证通过后,jetson模块功能正常,则说明根据内核配置文件获取的新的内核镜像文件和设备树文件是正常可用的,则可以执行刷机包脚本,即,nvmassflashgen.sh脚本,通过刷机包脚本便可以根据新的内核镜像文件和设备树文件获得离线刷机包,获得离线刷机包后,便可以将离线存储包存储是linux启动盘,以通过linux启动盘使得主机进入linux环境,执行jetson模块的刷机操作。
117.启动linux系统的启动盘工具,接收用户选择的u盘和linux系统镜像文件,以制作linux启动盘;
118.制作启动盘首先要将制作linux启动盘的u盘连接至主机,然后在主机上启动linux系统的启动盘工具,一般的,使用rufus工具来进行linux启动盘的制作。启动linux系统的启动盘工具后,在启动盘工具的相应位置选择相应的linux系统镜像文件和u盘,即,linux系统的镜像文件和用于制作启动盘的u盘,如,选取ubuntu-18.04.5-desktop-amd64.iso的镜像;然后进行相关的设置,执行启动盘工具的制作流程,便开始了linux启动盘的制作,待linux启动盘制作完成后,便可以进一步准备jetson模块的离线刷机包,以便于主机利用linux启动盘进入linux环境,主机在linux环境下便可以按照nvidia官方文档来执行刷机操作,不再需要准备linux系统的主机,提高了jetson模块的刷机效率。
119.对linux启动盘执行启动盘检验程序;
120.linux启动盘制作完成后,要对linux启动盘进行检验,确定制作完成的linux启动盘能否正常使用。linux启动盘的检验程序为,将linux启动盘连接至主机,重启主机,进入主机的启动项设置界面,选择usb的linux启动盘启动项,然后检验主机能否正常进入linux启动盘的linux系统中,如果能够正常进入,则说明linux启动盘制作正常;如果不能正常进入,则说明linux启动盘制作异常,需要重新制作;异常的原因可能存在如下:u盘存在问题;镜像文件存在问题等。待linux启动盘检验成功后,主机利用linux启动盘进入linux环境,主机在linux环境下便可以按照nvidia官方文档来执行刷机操作,不再需要准备linux系统的主机,提高了jetson模块的刷机效率。
121.对linux启动盘建立第二分区,将jetson模块的离线刷机包存储至linux启动盘的第二分区;
122.存储jetson模块的离线刷机包的优选方法,就是直接将jetson模块的离线刷机包拷贝至linux启动盘中,不过如果采取这种方法,便需要对linux启动盘建立第二分区,第一分区是制作linux启动盘所需要的存储分区;第二分区是存储jetson模块的离线刷机包的存储分区。制作linux启动盘时,u盘必须是fat32的格式,而fat32格式的u盘不支持超过4g大小的资料拷贝,且jetson模块的离线刷机包存在单个资料大于4g的情况,因此要想支持4g以上资料的拷贝,u盘需要制作为ntfs或者是exfat格式,为了同时满足linux启动盘fat32格式和拷贝4g以上资料的功能,对u盘建立第二分区,将第二分区格式化为ntfs或者是exfat格式,而第一分区仍然是fat32格式,便可以将4g以上的jetson模块刷机包存储至linux启动盘的第二分区。此外,linux启动盘中存储着jetson模块的离线刷机包,容易携带,而且在不同地点对多个jetson模块进行刷机的时候,不需要提前将jetson模块刷机包拷贝到主机中,提高了jetson模块刷机的便利性。将jetson模块的离线刷机包存储至linux启动盘的第二分区前,要对第二分区进行检验,如果检验成功,则可以将jetson模块的离线刷机包存储至linux启动盘的第二分区;如果检验不成功,则需要对linux启动盘重新建立第二分区;分区不成功有可能存在一下原因:u盘存在问题;分区工具存在问题等。通过对第二分区的检验,防止后续在执行jetson模块刷机的过程中出现问题,提高了刷机效率。
123.接收用户设置的主机启动方式,以usb方式启动主机,使得主机通过linux启动盘进入linux环境;
124.linux刷机工具构建完成后,便可以进行jetson模块的刷机操作了。首先要接收用户设置的主机启动方式,也就是用户对主机的启动项进行设置,以usb方式启动主机,也就是通过主机通过linux启动盘启动,主机便进入了linux环境,在linux环境下借助jetson模块的离线刷机包,便可以按照nvidia官方文档来执行刷机操作,不再需要准备linux系统的主机,提高了jetson模块的刷机效率。
125.在linux环境下采用jetson模块的离线刷机包对jetson模块进行刷机。
126.以usb方式启动主机后,主机通过linux启动盘启动,主机便进入了linux环境,在linux环境下借助jetson模块的离线刷机包,便可以按照nvidia官方文档来执行刷机操作,不再需要准备linux系统的主机,提高了jetson模块的刷机效率。
127.应该理解的是,虽然图1~2的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1~2中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
128.实施例三:
129.参照图3所示,图3为本发明的jetson模块刷机系统的系统结构图。
130.jetson模块刷机系统包括:
131.文件获取模块,用于根据预设内核配置文件获取内核镜像文件和设备树文件;
132.通过linux启动盘进入linux环境,对jetson模块进行刷机的前提,就是要制作jetson模块的离线刷机包。制作离线刷机包需要根据内核配置文件进行配置,以根据实际
的功能需求配置jetson模块,配置后的内核配置文件称为预设内核配置文件。将jetson模块的功能需求在内核配置文件中配置完毕后,得到预设内核配置文件,然后基于文件获取模块,根据预设内核配置文件得到内核镜像文件和设备树文件,以便于根据内核镜像文件和设备树文件对jetson模块进行刷机验证。
133.刷机验证模块,用于在jetson模块开发环境下根据内核镜像文件和设备树文件对jetson模块进行刷机验证;
134.根据预设内核配置文件获取内核镜像文件和设备树文件后,便需要通过刷机验证模块对jetson模块进行刷机验证。进行刷机验证的前提是进入jetson模块开发环境,因此研发人员在研发阶段需要在jetson模块开发环境下根据内核镜像文件和设备树文件对jetson模块进行刷机验证,以便于制作jetson模块的离线刷机包。
135.刷机包生成模块,用于将内核镜像文件和设备树文件制作成离线刷机包;
136.在jetson模块开发环境下根据内核镜像文件和设备树文件对jetson模块进行刷机验证,待jetson模块的刷机验证通过后,则说明内核镜像文件和设备树文件是正常的,可以通过刷机包生成模块将内核镜像文件和设备树文件制作成离线刷机包,以便于客户通过linux启动盘和jetson模块的离线刷机包对jetson模块进行刷机操作。
137.jetson刷机模块,用于以usb方式启动主机,通过linux启动盘使得主机进入linux环境,并在linux环境下采用离线刷机包对jetson模块进行刷机。
138.主机、linux启动盘、jetson模块刷机包构建成了刷机工具,在对jetson模块进行刷机进行刷机时,满足这三个要素即可。满足这三个要素后,将linux启动盘插到主机上,然后设置主机的启动项,以usb方式启动主机,也就是主机通过linux启动盘启动,主机便进入了linux启动盘中的linux环境,在linux环境下借助jetson模块的离线刷机包,便可以通过jetson刷机模块按照nvidia官方文档来执行刷机操作,不再需要准备linux系统的主机,提高了jetson模块的刷机效率。
139.在其中一个实施方式中,所述jetson模块刷机系统包括:
140.开发环境模块,用于生成jetson模块开发环境;
141.获取jetson驱动包、根文件系统包和开发环境包后,执行环境脚本,即,apply_binaries.sh脚本,通过jetson驱动包、根文件系统包和开发环境包便会生成jetson模块开发环境,在jetson模块开发环境下便可以根据内核镜像文件和设备树文件对jetson模块进行刷机验证,开发环境模块用于生成jetson模块开发环境。
142.关于jetson模块刷机系统的具体限定可以参见上文中对于方法的限定,在此不再赘述。上述jetson模块刷机系统中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
143.实施例四:
144.本实施例提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现jetson模块刷机方法的步骤。
145.该计算机设备可以是终端,其内部结构图可以如图4所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理
器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现jetson模块刷机方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
146.本领域内的技术人员应明白,图4中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
147.在其中一个实施方式中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:
148.根据预设内核配置文件获取内核镜像文件和设备树文件;
149.在jetson模块开发环境下根据内核镜像文件和设备树文件对jetson模块进行刷机验证;
150.待jetson模块的刷机验证通过后,将内核镜像文件和设备树文件制作成离线刷机包;
151.将离线刷机包存储至linux启动盘,并将jetson模块和linux启动盘连接至主机;
152.以usb方式启动主机,通过linux启动盘使得主机进入linux环境,并在linux环境下采用离线刷机包对jetson模块进行刷机。
153.在其中一个实施方式中,处理器执行计算机程序时还实现以下步骤:
154.获取jetson驱动包、根文件系统包和开发环境包;
155.执行环境脚本,根据jetson驱动包、根文件系统包和开发环境包生成jetson模块开发环境。
156.在其中一个实施方式中,处理器执行计算机程序时还实现以下步骤:
157.获取内核源码包,根据内核源码包得到内核配置文件;
158.配置内核配置文件并进行编译,以生成新的内核镜像文件和设备树文件;
159.将新的内核镜像文件和设备树文件替换掉jetson驱动包中旧的内核镜像文件和设备树文件。
160.在其中一个实施方式中,处理器执行计算机程序时还实现以下步骤:
161.执行验证脚本,在jetson模块开发环境下对新的内核镜像文件和设备树文件进行刷机验证。
162.在其中一个实施方式中,处理器执行计算机程序时还实现以下步骤:
163.待刷机验证通过后,执行刷机包脚本,以根据新的内核镜像文件和设备树文件获得离线刷机包。
164.在其中一个实施方式中,处理器执行计算机程序时还实现以下步骤:
165.启动linux系统的启动盘工具,接收用户选择的u盘和linux系统镜像文件,以制作linux启动盘;
166.对linux启动盘建立第二分区,并将jetson模块的离线刷机包存储至linux启动盘
的第二分区。
167.在其中一个实施方式中,处理器执行计算机程序时还实现以下步骤:
168.接收用户设置的主机启动方式,以usb方式启动主机,使得主机通过linux启动盘进入linux环境。
169.实施例五:
170.本实施例提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
171.根据预设内核配置文件获取内核镜像文件和设备树文件;
172.在jetson模块开发环境下根据内核镜像文件和设备树文件对jetson模块进行刷机验证;
173.待jetson模块的刷机验证通过后,将内核镜像文件和设备树文件制作成离线刷机包;
174.将离线刷机包存储至linux启动盘,并将jetson模块和linux启动盘连接至主机;
175.以usb方式启动主机,通过linux启动盘使得主机进入linux环境,并在linux环境下采用离线刷机包对jetson模块进行刷机。
176.在其中一个实施方式中,处理器执行计算机程序时还实现以下步骤:
177.获取jetson驱动包、根文件系统包和开发环境包;
178.执行环境脚本,根据jetson驱动包、根文件系统包和开发环境包生成jetson模块开发环境。
179.在其中一个实施方式中,处理器执行计算机程序时还实现以下步骤:
180.获取内核源码包,根据内核源码包得到内核配置文件;
181.配置内核配置文件并进行编译,以生成新的内核镜像文件和设备树文件;
182.将新的内核镜像文件和设备树文件替换掉jetson驱动包中旧的内核镜像文件和设备树文件。
183.在其中一个实施方式中,处理器执行计算机程序时还实现以下步骤:
184.执行验证脚本,在jetson模块开发环境下对新的内核镜像文件和设备树文件进行刷机验证。
185.在其中一个实施方式中,处理器执行计算机程序时还实现以下步骤:
186.待刷机验证通过后,执行刷机包脚本,以根据新的内核镜像文件和设备树文件获得离线刷机包。
187.在其中一个实施方式中,处理器执行计算机程序时还实现以下步骤:
188.启动linux系统的启动盘工具,接收用户选择的u盘和linux系统镜像文件,以制作linux启动盘;
189.对linux启动盘建立第二分区,并将jetson模块的离线刷机包存储至linux启动盘的第二分区。
190.在其中一个实施方式中,处理器执行计算机程序时还实现以下步骤:
191.接收用户设置的主机启动方式,以usb方式启动主机,使得主机通过linux启动盘进入linux环境。
192.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以
通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
193.以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
194.以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术专利的保护范围应以所附权利要求为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1