Jetson TX2 刷机

版权声明:本文由@yyf7329081 出品(整理),转载请注明出处。 https://blog.csdn.net/u014796085/article/details/84239971

其实官方和网上的其他教程都很详细了,只要保证硬件连接方面没有什么错误,基本不会有问题。过程中注意一点:Jetson TX2和宿主机Host必须连接在同一个路由器之下,Host会先把操作系统刷到TX2上,这一步是通过数据线连接的方式完成,然后使用SSH的方式安装Host上的SDK到TX2,所以Host和TX2需要连接在同一个路由器下,方便Host找到TX2的ip地址。主要参考:
https://v.qq.com/x/page/b0515967lbr.html
https://www.jianshu.com/p/bb4587014349

不过安装过程中因为各种硬件问题,还是踩了无数个坑,特此记录下来:

  1. TX2是ARM处理器,所以很多电脑上使用的开发平台,比如cuda,cudnn,opencv等等都不适用,所以我们选择用nvidia专门为开发板制作的jetpack开发工具进行刷机。
    之前不清楚,直接去官网下载ubuntu版本的cuda,现在想想真是蠢的不行,ubuntu版本的cuda虽然能在安装了ubuntu系统的TX2开发板上安装,但是奈何硬件不支持,装了也肯定跑不起来。

  2. 关于虚拟机。
    因为当时手边没有自带ubuntu系统的宿主机,所以我们想安装虚拟机完成对TX2开发板的刷机。不过刷机过程需要联网,而网上教程强调虚拟机刷机上网需要桥接模式,而且勾选复制物理结构,所以我们开始尝试用桥接模式使虚拟机联网。经过尝试发现:
    (1)在路由器宽带拨号后,直接连宿主机,桥接模式可行,虚拟机可以联网。
    (2)如果宿主机连接的不是宽带,比如校园网,需要登陆账号密码,则桥接模式不可行。
    (3)NAT模式可以使虚拟机联网,但是NAT模式刷机到底能不能行,没有试过。

  3. 双系统。
    鉴于我们手边没有宽带,没有路由器,只有交换机,所以,我们选择装双系统,避免使用虚拟机无法使用桥接模式联网的尴尬。

  4. 交换机。
    安装完ubuntu系统,开始刷机时,发现当网络接口连上交换机,宿主机和TX2也都连上交换机以后,发现宿主机登陆校园网账号密码后可以上网,但是TX2开发板还是网络未连接的状态,这说明宿主机和开发板直接其实通信是断开的。
    这种状态强制刷机,会使得宿主机上jetpack的安装工作能够完成,但是之后会卡在“determine ip address”,就是因为宿主机和TX2通信断开,宿主机无法用SSH的方式安装宿主机的SDK到TX2。
    所以,虽然网线都连上了,但是交换机只起到两根网线连接的作用,第3个口其实是断的,这种情况也不知道是交换机本身有问题,还是我们的使用方法有问题,没有深究,大概是我们不太会用吧,所以我们最后还是换了个路由器,也建议大家用路由器,比较方便好用。

  5. manifest is broken(清单文件被破坏)?
    之前因为出现过“determine ip address”,有点慌,所以一通瞎几把操作,退出后,再次运行jetpack.run文件时,出现了“manifest file is broken”的错误,之后重装了系统,还是没用,所以可能是这个run文件被损坏了,但是我换了一个,还是出现同样的错误,很奇怪,我又换了一个版本的run文件,换了安装路径,终于可以了。
    这个问题有点玄学,我也没太懂,不过可以肯定和重装系统没有什么关系,大概还是之前的run文件被损坏了,需要重新下载个,如果还是不行就换一个安装路径运行run文件。

踩完了上面n个大坑之后,感觉豁然开朗,思路很清晰了,所以之后按照教程,一次完成,非常通畅,希望其他同学如果遇到同样的问题,还是耐心一点,多花时间,总会解决的,回过头来看其实非常简单的。

猜你喜欢

转载自blog.csdn.net/u014796085/article/details/84239971