将自定义Yocto图像闪烁到Jetson纳米生产模块eMMC?

将自定义Yocto图像闪烁到Jetson纳米生产模块eMMC?,yocto,nvidia-jetson,nvidia-jetson-nano,Yocto,Nvidia Jetson,Nvidia Jetson Nano,我正在制作一个yocto图像,在Jetson Nano上运行。现在我正在开发一款Jetson Nano devkit,它可以从SD卡启动,屏幕上描述了闪烁。它没有说明如何在Jetson Nano上的eMMC上闪存,只是在SD卡上 我是否可以将yocto构建rootfs复制到nvidia_sdk L4T工具(替换“rootfs”文件夹)?但是其他文件夹(引导加载程序、内核、lib、nv_tegra)呢?它应该是相同的二进制文件,我只是不太确定内核和引导加载程序是相同的,并且不知道其他的 任何处理同

我正在制作一个yocto图像,在Jetson Nano上运行。现在我正在开发一款Jetson Nano devkit,它可以从SD卡启动,屏幕上描述了闪烁。它没有说明如何在Jetson Nano上的eMMC上闪存,只是在SD卡上

我是否可以将yocto构建rootfs复制到nvidia_sdk L4T工具(替换“rootfs”文件夹)?但是其他文件夹(引导加载程序、内核、lib、nv_tegra)呢?它应该是相同的二进制文件,我只是不太确定内核和引导加载程序是相同的,并且不知道其他的

任何处理同一问题的人,或者更好的是,找到了解决方法,请让我知道。

我与meta tegra层的维护人员进行了沟通,最终创建了一个新的机器配置:

#@TYPE: Machine
#@NAME: Nvidia Jetson Nano
#@DESCRIPTION: Nvidia Jetson Nano prod board

KERNEL_ARGS ?= "console=ttyS0,115200 console=tty0 fbcon=map:0 net.ifnames=0"
KERNEL_ROOTSPEC ?= "root=/dev/mmcblk0p${@uboot_var('distro_bootpart')} rw rootwait"
IMAGE_ROOTFS_ALIGNMENT ?= "1024"

require conf/machine/include/tegra210.inc

KERNEL_DEVICETREE ?= "_ddot_/_ddot_/_ddot_/_ddot_/nvidia/platform/t210/porg/kernel-dts/tegra210-p3448-0002-p3449-0000-b00.dtb"

MACHINE_FEATURES += "ext2 ext3 vfat"

UBOOT_MACHINE = "p3450-porg_defconfig"

EMMC_SIZE ?= "17179869184"
EMMC_DEVSECT_SIZE ?= "512"
BOOTPART_SIZE ?= ""
BOOTPART_LIMIT ?= "10485760"
ROOTFSPART_SIZE ?= "3221225472"
ODMDATA ?= "0x94000"
EMMC_BCT ?= "P3448_A00_4GB_Micron_4GB_lpddr4_204Mhz_P987.cfg"
NVIDIA_BOARD ?= "t210ref"
NVIDIA_PRODUCT ?= "p3450-porg"
NVIDIA_BOARD_CFG ?= ""
TEGRA210_REDUNDANT_BOOT ?= "0"
PARTITION_LAYOUT_TEMPLATE ?= "flash_l4t_t210_emmc_p3448.xml"
TEGRA_SPIFLASH_BOOT ?= "0"
TEGRA_FAB ?= "300"
TEGRA_BOARDID ?= "3448"
机器配置几乎与devkit相同,但一些零件必须更改以匹配Jetson Nano生产模块配置,即更改
内核设备树
与较新的eMMC Jetson Nano匹配的设备树,并相应更改
TEGRA_FAB
。然后更改
PARTITION\u LAYOUT\u模板
以匹配emmc布局,而不是spi\u sd布局(
flash\u l4t\u t210\u emmc\u p3448
是随meta tegra提供的默认p3448 emmc布局)


在此之后,Yocto将生成一个tegraflash zip,其中包含必要的分区文件和一个rootfs映像(以及一些flash工具)。将Jetson Nano生产模块置于恢复模式(强制恢复+重置),插入micro usb电缆并运行
doflash.sh
脚本以闪存Nano,瞧。

说明中没有说明这一点吗?他们似乎在说你需要从SD卡映像启动,并在那里运行安装程序/闪存脚本——或者我误解了?到目前为止,我只有一个Jetson Nano Devkit,它只从SD卡启动,而不是从eMMC启动(因为它没有)。然而,Jetson纳米生产模块具有eMMC。我想将我的yocto/poky图像闪存到那里,但说明仅涉及开发工具包版本,而不涉及模块。为jetson nano构建映像时,它会创建一个.sdcard文件和一个tegraflash.zip,其中包含闪烁脚本,以便在运行时(从sdcard)引导。为Jetson tx2构建时,只生成tegraflash.zip,其中包含.img文件和要闪存到eMMC的脚本。您好,您是否考虑过Linux4Tegra附带的create-Jetson-nano-sd.card.sh?我正在尝试刷新一个类似的图像(genivi基于baserock),但我也对yoctoI感兴趣。我已经创建了一个解决问题的答案,我希望它也能对您有所帮助。我使用了
create jetson nano sd.card.sh
的一部分来创建我自己的脚本,该脚本向devkit jetson nano添加了额外的分区。但是对于eMMC版本,我刚刚创建了一个脚本,它可以创建新的分区作为分区映像,当更改
flash.xml.in
时,它可以与其他必要的分区文件一起刷新。非常感谢您的共享!我将尝试为我的特定用例重新使用您的脚本,这非常有帮助。干杯