下载Jetson-nano SDK Manager ,并安装
url:https://developer.nvidia.com/embedded/jetpack
$ sudo apt install ./sdkmanager_[version]-[build#]_amd64.deb
比如:$ sudo apt install ./sdkmanager_1.8.0-10363_amd64.deb
注意:
1) 使用sdkmanager 的在线功能时必须要在nvdia官网注册账号
2) 虚拟机ubuntu、Jetson-nano device 均需要连接网络,并处与同一路由器下
3) 利用samba将sdkmanager_1.8.0-10363_amd64.deb复制到虚拟机下
准备好虚拟机,本次使用VMWare (VMware-workstation-full-14.1.2-8497320),安装好Ubuntu18.04 (Jetson-nano device 官方支持到ubuntu18.04)
在虚拟机ubuntu18.04中安装samba服务器
$ install samba-share-file-system
$ sudo apt install samba samba-common
$ sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak
$ sudo vim /etc/samba/smb.conf
最后行增加内容:
[home]
comment = home directories
path = /home/rosCar/sambaFiles
public = yes
writeable = yes
$ mkdir -p /home/rosCar/sambaFiles
$ cd /home/rosCar/sambaFiles
$ sudo chmod -R 777 ./ (修改文件目录权限a+x a+w a+r)
$ sudo ufw allow samba (防火墙允许)
$ sudo /etc/init.d/samba-ad-dc restart (重启samba 服务)
在Ubuntu18.04中安装ssh服务
$ sudo apt install openssh-server
$ sudo ufw allow ssh (防火墙允许)
这样就可以使用ssh客户端了。
在ubuntu下在线下载系统到Jetson-nano device 中
1) 启动sdkmanager
$ sdkmanager
2) 此处是由于虚拟机显示其的分辨率设置小了,不过不影响,可直接选择 “Yes”
3) 此处用生气的nvdia 账号登陆即可,注意的是首次登陆需要在注册的邮箱中点击确认登陆才可以。
4) 可以在没有连接Jetson-nano device 情况下进行先下载系统img 文件,SDK包等软件。
5) 点击“continue”之后,此处弹框选择P3448-0002
6) 下载包完成,此时即可连接Jetson-nano device 进行系统、sdk包下载了,但我们采用了离线模式下载,可以直接 “X” 掉窗口退出。
1) 选择离线模式“START”,此时进入下个窗口中硬件未连接状态
2) 设置Jetson-nano device 为 RCM 模式,连接主机
A. 将Jetson-nano device 断电,短接RCM与GND(右启第二、三pin)
B. 用miniUSB 连接Jetson-nano 到主机上
3) 配置虚拟机中连接设备,进行Jetson-nano device 安装 系统镜像
A.此时设备已连接,点击“CONTINUE”
B. 选择需要安装的包
C. 点击“Create”,后再次点击“CONTINUE”
D. 输入系统登陆密码,“OK”
E. 此时进入安装模式,首先会在nvdia/nvdia_sdk 目录下建立缓存文件
F. 在镜像文件准备完毕后,弹框如下图设置后,“Flash”
H.在此就可以将Jetson-nano的RCM-GND线断开取下了。
J. 完成OS镜像下载安装后,会弹出窗口选择安装SDK Components的选项(此处需等待几分中,因为系统启动后会初始化一些组件,需等待完成)
选择“Ethernet”模式,在路由器登陆页面中查看你的Jetson-nano设备的网络IP,或者在window下用“arp -a” 命令找到其IP,也可以Jetson-nano连接显示器、键盘登陆系统后查看其IP,此处我们查看路由器,
当然,也可以在此处直接”Skip” 不用安装系统组件。
4) 安装软件SDK Components
如果反复出现 Incorrect username or password. Please try again. 且可以ping 通Jetson-nano情况时在Jetson-nano device Ubuntu(需要屏幕、键盘,当然如果你没有,也可以选择重新安装OS镜像文件)下执行:
rosCar@ubuntu:~$ sudo rm -rf /etc/ssh/ssh_host_*
[sudo] password for rosCar:
rosCar@ ubuntu:~$ sudo dpkg-reconfigure openssh-server
重置ssh-server,然后重新“Install”
在虚拟机UBUNTU下执行
rosCar@ ROSCAR-VM:~$ sudo rm -rf ~/.ssh
[sudo] password for rosCar:
等待ssh连接到Jetson-nano device上,然后开始如下图中安装,此处安装和网络连接时间有关,需要比较长的一段时间。
如下为安装源超时,如还在继续安装则不必关心。
如果你中途断链,你可以在Jetson-nano上执行
rosCar@ubuntu:~$ sudo dpkg --configure -a
[sudo] password for rosCar:
重置安装包,然后继续安装以上安装步骤选择安装组件,用网络模式“Ethernet”安装。
OK, SDK Componets have been installed. Press “FINISH AND EXIT” to exit sdkmanager.
5) 用windows shell 登陆 Jetson-nano device 进行系统查看
PS D:\jetson nano> ssh rosCar@192.168.193.124
rosCar@192.168.193.124’s password:
Welcome to Ubuntu 18.04.6 LTS (GNU/Linux 4.9.253-tegra aarch64)
NAME=“Ubuntu”
VERSION=“18.04.6 LTS (Bionic Beaver)”
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME=“Ubuntu 18.04.6 LTS”
VERSION_ID=“18.04”
HOME_URL=“https://www.ubuntu.com/”
SUPPORT_URL=“https://help.ubuntu.com/”
BUG_REPORT_URL=“https://bugs.launchpad.net/ubuntu/”
PRIVACY_POLICY_URL=“https://www.ubuntu.com/legal/terms-and-policies/privacy-policy”
VERSION_CODENAME=bionic
UBUNTU_CODENAME=bionic
可以看到系统盘空间仅剩500+MB,所以如果需要进一步开发需求就需要将系统转移到空间稍大的盘片上,或者可以扩展系统的EMMC空间(此方法操作难度比较大);此处是利用系统转移方法进行空间扩展。
6) 系统转移
A. 在Jetson-nano上插上64GB的U盘,执行系列命令,进行启动盘空间创建
rosCar@ubuntu:~$ sudo lsblk -p -d | grep sd #查看系统SD盘片
/dev/sda 8:0 1 57.3G 0 disk
rosCar@ubuntu:~$ sudo parted /dev/sda mklabel gpt #建立gpt格式盘
Warning: The existing disk label on /dev/sda will be destroyed and all data on this disk
will be lost. Do you want to continue?
Yes/No? yes
Information: You may need to update /etc/fstab.
rosCar@ubuntu:~$ sudo parted /dev/sda mkpart APP 0GB 57.3GB #创建分区
Information: You may need to update /etc/fstab.
rosCar@ubuntu:~$ sudo mkfs.ext4 /dev/sda1 #格式化分区
mke2fs 1.44.1 (24-Mar-2018)
/dev/sda1 contains a ext4 file system labelled ‘wheeltec’
last mounted on / on Mon Nov 7 00:09:41 2022
Proceed anyway? (y,N) y
Creating filesystem with 13989120 4k blocks and 3497984 inodes
Filesystem UUID: 40c3e3b1-e138-4694-932f-c031c766984c
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624, 11239424
Allocating group tables: done
Writing inode tables: done
Creating journal (65536 blocks): done
Writing superblocks and filesystem accounting information: done
B. 转移系统
rosCar@ubuntu:~$ sudo mount /dev/sda1 /mnt/ #挂载U盘
rosCar@ubuntu:~$ cd /mnt/
rosCar@ubuntu:/mnt$ ls
lost+found
rosCar@ubuntu:/mnt$ mount #确立挂载成功
……
gvfsd-fuse on /run/user/1000/gvfs type fuse.gvfsd-fuse (rw,nosuid,nodev,relatime,user_id=1000,group_id=1000)
/dev/sda1 on /mnt type ext4 (rw,relatime,data=ordered) #成功挂载
rosCar@ubuntu:/mnt$ sudo rsync -axHAWX --numeric-ids --info=progress2 --exclude=/proc --exclude=/mnt / ./ #执行同步文件到U盘中
12,983,974,716 95% 15.99MB/s 0:12:54 (xfr#129348, to-chk=0/188633)
C. 配置系统启动项,以U盘为启动盘
rosCar@ubuntu:/mnt$ sudo vi /boot/extlinux/extlinux.conf #编辑启动文件
[sudo] password for rosCar:
配置启动项 satassd
如下图:
编辑完毕重启Jetson-nano device。启动连接后,此时的系统盘已扩大到64GB优盘上了。