刷机前准备
1. Jetson TK1开发板。
2. 安装有ubuntu系统的PC(或者ubuntu虚拟机)切记:不管是PC还是虚拟机,务必确保有大于5G的存储空间,之后安装过程会作详细解释。
3. 购买开发板时附赠的恢复线(其实就是大部分安卓手机的数据线)。
4. 刷机驱动:Tegra124_Linux_R21.4.0_armhf.tbz2(我理解为刷机工具)可在以下网址获取:
http://developer.download.nvidia.com/embedded/L4T/r21_Release_v4.0/Tegra124_Linux_R21.4.0_armhf.tbz2
dajianli找到的最新的链接:
developer.nvidia.com/embedded/dlc/l4t-Jetson-TK1-Driver-Package-R21-5
5. 刷机固件:Tegra_Linux_Sample-Root-Filesystem_R21.4.0_armhf.tbz2
(我理解为刷机包)可在以下网址获取:
dajianli找到的最新的链接:
developer.nvidia.com/embedded/dlc/l4t-Jetson-TK1-Sample-Root-Filesystem-R21-5
注释:以上两个网址获取的刷机工具(64.8M)及刷机包(618M)是由英伟达官方提供。细心的读者可能发现,本教程使用L4T 21.x的刷机工具及刷机包,刷完的系统是L4T 21.x的。所以,后面的CUDA及OpenCV的安装,要做相应配套,后面会做详细说明。
准备刷机
1. 在ubutun系统的pc上,确保刷机工具及刷机包在同一个文件夹下,cd到该目录。
2. 解压缩刷机工具:Tegra124_Linux_R21.4.0_armhf.tbz2,在终端执行命令:
sudo tar --numeric-owner -jxpf Tegra124_Linux_R21.4.0_armhf.tbz2
3. ls查看,会发现多了一个文件夹linux_for_tegra,cd到该文件夹,再ls一下,找到rootfs文件夹,cd到该文件夹。
4. 解压缩:Tegra_Linux_Sample-Root-Filesystem_R21.4.0_armhf.tbz2,终端命令如下:
sudo tar --numeric-owner -jxpf ../../Tegra_Linux_Sample-Root-Filesystem_R21.4.0_armhf.tbz2
该命令将刷机包解压到当前目录,即rootfs文件夹下。解压成功后,有兴趣的可以ls查看一下该文件,会发现其结构就是ubuntu系统的根目录。
5. 然后返回上一级文件夹,即linux_for_tegra文件下。执行安装脚本,终端命令:
sudo ./apply_binaries.sh
注:此时,rootfs文件夹大小约为1.9G(此大小,几乎就是你刷机后的系统大小,),下载的刷机工具及刷机包约700M,刷机过程中还需要使用磁盘空间。这也是为什么之前强调务必确保有大于5G的存储空间的原因,如果磁盘间不足,刷机会失败。
开发刷机
把刷机线,USB端插到ubuntu PC上,小头插到TK1上,也就是耳机口旁边的口。
TK1上有三个按钮,最左边的是电源,中间的是reset,最右边的是force recoverry,按住最右边的force recoverry 按钮别松手,再按一下中间的reset键,指示灯会闪一下,板子就重启进入了刷机模式。
可以在命令下使用---dajianli
lsusb
如果出现类似以下的,则说明进入刷机模式----dajianli
Bus 002 Device 004: ID 0955:7140 NVidia Corp.
如果是用虚拟机刷机,请务必确保USB已经连接,如VMware 菜单-虚拟机-可移动设备-(找到TK1设备)-连接)。
然后在ubuntu PC上,当前目录,即linux_for_tegra目录下,执行终端命令:
sudo ./flash.sh -S 14GiB jetson-tk1 mmcblk0p1
这个时候ubuntu上会弹出一个设备,就是tk1了,然后就会进入刷机过程,若干小时后,最后成功了的话,会出现success字样。这时重启TK1开发板,就发现这板子已经成功被初始化了。
注释:14GiB是表示开发板磁盘的空间。TK1开发板实际的磁盘空间大于14GiB。本人尝试过配置15GiB,最终因磁盘空间不足,刷机失败。初始化时系统占用磁盘为2.4G,也就是刷机过程拷贝到板子上的数据大约是2.4G 。