JETSON TK1 ~ 刷机和克隆固件

1PC端的ubuntu
要求必须是正常系统,不可以使用虚拟机。由于烧写过程采用刷机模式,虚拟机刷机易导致刷机问题。

2:驱动包、文件系统和源码下载

1、Driver package(驱动包,相当于安装程序)

2、Sample File System

3、Kernel sources

3:编译源码

以下步骤在主机中完成,不在开发板

//交叉编译工具 cross-complier
sudo apt-get install gcc-arm-linux-gnueabihf build-essential
//<L4T_version>代表版本,本版本是R21.5,下同
sudo tar -xjf Tegra124_Linux_R<L4T_version>_armhf.tbz2
cd Linux_for_Tegra/rootfs
sudo tar -xjpf <path_to>/Tegra_Linux_Sample-Root-Filesystem_R<L4T_version>_armhf.tbz2
cd ..
export LDK_ROOTFS_DIR=<absolute path to Linux_for_Tegra>/rootfs
sudo ./apply_binaries.sh
tar -xjf <path_to>/kernel_src.tbz2
cd kernel/
//配置.config文件
ARCH=arm make tegra12_defconfig<br>//安装ncurses-devel<br>sudo apt-get install ncurses-dev
//交叉编译,make menuconfig方式编译linux内核
ARCH=arm make menuconfig
//在菜单中找到所需的驱动,可以已modules或者build-in方式编译
//Device Drivers->Usb serials convertion->usbserials support && usbserials && //cp201x,ftdi,pl2303
 
ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- make zImage
ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- make modules
ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- make modules_install INSTALL_MOD_PATH=$LDK_ROOTFS_DIR
cp arch/arm/boot/zImage $LDK_ROOTFS_DIR/boot
cp arch/arm/boot/zImage <path_to>/Linux_for_Tegra/kernel/zImage
//flash.sh 烧录
sudo ./flash.sh jetson-tk1 mmcblk0p1

4:操作步骤

1.将镜像提供板用micro USB线与PC相连,将板子调整为recovery模式。连接后,在PC上终端中输入“lsusb”,若查看到0955:7140 Nvidia Corp,即表示设备与PC连接成功。

2.在终端中进入BootLoader所在路径,即<文件夹路径>/Linux_for_Tegra/bootloader/

3.在该路径下,执行以下指令

sudo ./nvflash --read APP clone.img --bl ardbeg/fastboot.bin --go

 该指令为读取镜像版的镜像并保存为一个名为clone.img的镜像文件。一般大小为15G,在我的电脑上执行完该指令,大概需要耗费30分钟。
4.修改clone.img的权限,执行以下指令

sudo chmod 744 clone.img

5.将存储的clone.img覆盖原有的镜像,执行以下指令,该指令执行会耗费几分钟。

sudo cp clone.img system.img

6.给镜像板断电并断开与PC的USB连接,然后将被烧写的板子,像之前一样,与PC进行USB连接并进入recovery模式。
7.确认连接后,在终端进入<文件夹路径>/Linux_for_Tegra/路径,执行以下指令

sudo ./flash.sh -r -S 14580MiB jetson-tk1 mmcblk0p1

即为正常的刷机指令,会耗费大概20分钟左右。刷机成功后,系统会自动重启。

原文地址:https://www.cnblogs.com/einstein-2014731/p/10234710.html