jetson nano (sub版本) 刷写ubuntu20.04

我之前找到的文章里面都没有关于这个话题的教程,花一天时间刷写好了这个系统,所以我有点兴奋,来写一个教程。

先使用windows刷写目标系统到tf卡,这里是系统镜像链接

https://github.com/Qengineering/Jetson-Nano-Ubuntu-20-image

进入后,找到,点击一下image here

 下载完成后使用imager或者balenaetcher刷入tf卡

当然,在这个项目的有一部分上,作者也说了,balenaetcher刷写经常出错,推荐使用mager

刷写完成后,鉴于好多人使用mount可能会出问题(后面也包含mount在emmc系统里操作的方式),在刷写完成后可以使用DiskGennius进行添加补丁。

打开DiskGennius

 找到自己刷写后最大的分区(我这里是分区13):

 点击加号:

 

 点击boot:

然后将下载过来的sd卡补丁文件改名为

将改名后的文件拖拽到 刚刚打开的boot分区内(有无专业版不做讨论,自行解决一下)

然后我们要修改extlinux.conf文件的内容

 我们使用记事本修改,桌面新建一个文本文件,在里面输入:

TIMEOUT 30
DEFAULT primary

MENU TITLE L4T boot options

LABEL primary
      MENU LABEL primary kernel
      LINUX /boot/Image
      FDT /boot/kernel_tegra210-p3448-0002-p3449-0000-b00-user-custom.dtb
      INITRD /boot/initrd
      APPEND ${cbootargs} quiet root=/dev/mmcblk1p1  rw rootwait rootfstype=ext4 console=ttyS0,115200n8 console=tty0 fbcon=map:0 net.ifnames=0 

# When testing a custom kernel, it is recommended that you create a backup of
# the original kernel and add a new entry to this file so that the device can
# fallback to the original kernel. To do this:
#
# 1, Make a backup of the original kernel
#      sudo cp /boot/Image /boot/Image.backup
#
# 2, Copy your custom kernel into /boot/Image
#
# 3, Uncomment below menu setting lines for the original kernel
#
# 4, Reboot

# LABEL backup
#    MENU LABEL backup kernel
#    LINUX /boot/Image.backup
#    INITRD /boot/initrd
#    APPEND ${cbootargs}

另存为:

然后我们删掉在boot中的extlinu.conf拖入我们的extlinux.conf文件

到/boot/extlinux中即可 

 然后把卡插到nano,让nano进入刷机模式,开启ubuntu18.04给nano刷写一个正常的emmc系统。

使用nvidia的sdkmannger进行刷写。

步骤如下:
在自己电脑ubuntu18.04下使用终端输入如下命令启动:

sdkmanager --archived-versions


按照如下勾选(请勾选4.6.1!!!!!)


 在下图下载的时候不要管他,但是等到它falsh jetson os 时,请停止。

***接下来就是给sub版本的jetson nano 打上补丁,确保jetson nano  sub版本可以正常启动,非sub版本可以跳过这一步直接刷写。直接看刷写完成后的操作即可。 

 在ubuntu18.04上访问:

https://developer.nvidia.com/embedded/linux-tegra-r3275

然后下载: 

你也可以打开一个terminel窗口然后:

wget https://developer.nvidia.com/downloads/embedded/L4T/r32_Release_v7.5/overlay_32.7.5_PCN211181.tbz2

 下载完成后,请先解压文件:

点击这个linu_for_teger的包,里面会有我们需要的补丁文件。

再打开刚刚被我停止flash 的jetpack的包 

 

打开它直到下图这个状态

开始复制我们需要的补丁文件,先是bootloader和kernel ,再才是rootfs(千万不要如图复制rootfs!!)

 

然后是rootfs文件夹,因为涉及到sudo的权限问题,所以才是最后来复制这个补丁。

先在补丁窗口打开终端(terminnal)

 然后在终端中输入cp命令:

sudo cp rootfs /home/你的用户名/nvidia/nvidia_sdk/JetPack_4.6.1_Linux_JETSON_NANO_TARGETS/Linux_for_Tegra

因为每个人的用户名和目录结构不同最后这个命令只提供参考,请根据实际情况或者问ai进行sudo cp的复制。

然后,回到sdk的刷写,还是用命令启动:

sdkmanager --archived -versions

选择刚刚打完补丁的jetpack版本,然后按照下图刷写即可:

刷写完成后让jetson nano 正常启动emmc,然后进入系统。插入刷写好的sd卡,执行:

lsblk

如果看不见mmcblk1p1这些东西,那么说明你的sd卡没插好或者说你的系统缺少补丁识别sd卡:

缺少sd识别补丁我们就打上这个补丁就是:

在这个系统上下载你们客服提供的补丁文件,我的是Nano-dtb-SDMMC.zip,当然你如果和我一个版本那么也可以到我的网站下载(电信挂东西再访问):

t.c88d.top

下载上图中名为 Nano-dtb-SDMMC.zip的压缩包到emmc系统内。

对这个压缩包解压

解压完成后对着解压完成的目录,在此打开终端(termininal),然后确保ls过后可以看见

kernel_tegra210-p3448-0002-p3449-0000-b00-user-custom-JP461.dtb这个文件

开始执行复制命令:

sudo cp kernel_tegra210-p3448-0002-p3449-0000-b00-user-custom-JP461.dtb /boot/kernel_tegra210-p3448-0002-p3449-0000-b00-user-custom.dtb

 然后修改extlinux文件

sudo vim /boot/extlinux/extlinux.conf
FDT /boot/kernel_tegra210-p3448-0002-p3449-0000-b00-user-custom.dtb

修改为:

一定要确保一样,不然sd可能没有用 

重启我们的emmc系统:

sudo reboot

启动成功后,我们来修改extlinux.conf的启动文件,修改为从sd卡启动。

sudo vim /boot/extlinux/extlinux.conf

修改emmc系统里的extlinux.conf文件,找到语句APPEND ${cbootargs} quiet root=/dev/mmcblk0p1 rw rootwait rootfstype=ext4 console=ttyS0,115200n8 console=tty0,将mmcblk0p1 改成mmcblk1p1, 保存(建议直接复制lsblk的信息)
现在不要重启!!!!!!

 ****在前面使用过DiskGennius进行修改后可以跳过修改烧录镜像直接重启试一下

然后我们还需要修改我们烧录的系统,给我们烧录的系统也打上识别sd卡的补丁:

打开终端首先输入:

lsblk

查看哪一个磁盘mmcblk是最大的,然后我们需要挂载它到我们的系统里面来:

#以下是示例请根据实际情况来
#创建被挂载的目标文件夹
sudo mkdir /mut
#挂载最大的mmcblk1磁盘到mut
sudo mount /dev/mmcblk1p1 /mut

进入我们创建的文件夹:

cd /mut

接着找到boot文件夹

#看一下终端里面是否有boot文件夹
ls 

 然后确然完毕后关闭终端,先回到我们下载好sd卡补丁的目录下

一定要看见 kernel_tegra210-p3448-0002-p3449-0000-b00-user-custom-JP461.dtb文件后右键打开终端

#将补丁复制到/mut/boot里面去
sudo cp kernel_tegra210-p3448-0002-p3449-0000-b00-user-custom-JP461.dtb /mut/boot/kernel_tegra210-p3448-0002-p3449-0000-b00-user-custom.dtb

 然后我们再修改extlinux.conf文件:

sudo vim /mut/boot/extlinux/extlinux.conf
FDT /boot/kernel_tegra210-p3448-0002-p3449-0000-b00-user-custom.dtb

同时: 修改emmc系统里的extlinux.conf文件,找到语句APPEND ${cbootargs} quiet root=/dev/mmcblk0p1 rw rootwait rootfstype=ext4 console=ttyS0,115200n8 console=tty0,将mmcblk0p1 改成mmcblk1p1, 保存(建议直接复制lsblk的信息)

然后卸载/mut(你挂载的文件):

#此挂载文件仅为示例,不要纯抄!!!!!
sudo umount /mut

最后重启:

sudo reboot

至此你可以成功启动ubuntu20.04在你的jetson nano或者jetson nano sub版本上。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值