1:PC端的ubuntu。
要求必须是正常系统,不可以使用虚拟机。由于烧写过程采用刷机模式,虚拟机刷机易导致刷机问题。
2:驱动包、文件系统和源码下载
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分钟左右。刷机成功后,系统会自动重启。