PS:原文转载别人博客,正在刷机中。。。晚上慢慢刷去吧 原文链接
http://blog.csdn.net/deyili/article/details/51011836
刷机前准备
Jetson TK1开发板。
安装有ubuntu系统的PC(或者ubuntu虚拟机)切记:不管是PC还是虚拟机,务必确保有大于5G的存储空间,之后安装过程会作详细解释。
购买开发板时附赠的恢复线(其实就是大部分安卓手机的数据线)。
刷机驱动: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
刷机固件:Tegra_Linux_Sample-Root-Filesystem_R21.4.0_armhf.tbz2
(我理解为刷机包)可在以下网址获取:
注释:以上两个网址获取的刷机工具(64.8M)及刷机包(618M)是由英伟达官方提供。细心的读者可能发现,本教程使用L4T 21.x的刷机工具及刷机包,刷完的系统是L4T 21.x的。所以,后面的CUDA及OpenCV的安装,要做相应配套,后面会做详细说明。
准备刷机
在ubutun系统的pc上,确保刷机工具及刷机包在同一个文件夹下,cd到该目录。
解压缩刷机工具:Tegra124_Linux_R21.4.0_armhf.tbz2,在终端执行命令:
sudo tar –numeric-owner -jxpfTegra124_Linux_R21.4.0_armhf.tbz2
ls查看,会发现多了一个文件夹linux_for_tegra,cd到该文件夹,再ls一下,找到rootfs文件夹,cd到该文件夹。
解压缩: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系统的根目录。
- 然后返回上一级文件夹,即linux_for_tegra文件下。执行安装脚本,终端命令:sudo ./apply_binaries.sh
注:此时,rootfs文件夹大小约为1.9G(此大小,几乎就是你刷机后的系统大小,),下载的刷机工具及刷机包约700M,刷机过程中还需要使用磁盘空间。这也是为什么之前强调务必确保有大于5G的存储空间的原因,如果磁盘间不足,刷机会失败。
开发刷机
把刷机线,USB端插到ubuntu PC上,小头插到TK1上,也就是耳机口旁边的口。TK1上有三个按钮,最左边的是电源,中间的是reset,最右边的是force recoverry,按住最右边的force recoverry 按钮别松手,再按一下中间的reset键,指示灯会闪一下,板子就重启进入了刷机模式。(如果是用虚拟机刷机,请务必确保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 。
报错了,百度啥都没有。然后重新走了一遍流程,又错了,走了第三遍,对了。中间感觉也没差什么。
最后成功:
\ 2097152/2097152 bytes sent
ppt.img sent successfully
padded 12 bytes to bootloader
sending file: u-boot.bin
- 440016/440016 bytes sent
u-boot.bin sent successfully
sending file: system.img
- 2370674732/2370674732 bytes sent
system.img sent successfully
sending file: tegra124-jetson_tk1-pm375-000-c00-00.dtb
- 59637/59637 bytes sent
tegra124-jetson_tk1-pm375-000-c00-00.dtb sent successfully
sending file: gpt.img
\ 2097152/2097152 bytes sent
gpt.img sent successfully
Create, format and download took 1205 Secs
Time taken for flashing 1208 Secs
*** The target ardbeg has been flashed successfully. ***
Reset the board to boot from internal eMMC.
补充一下操作环境:虚拟机Ubuntu14.04 64位。因为TK1是32位,所以当初怀疑了是不是32位64位的问题,后证明二者没有关系。