How can I generate a custom rootfs for 35.2.1?

Hi,
I use the following command to generate a custom rootfs for 35.2.1,and the result is that we can ssh it but there is no hdmi. How can I generate a full-funtion rootfs?

sudo mount /dev/nvme0n1p1 /mnt
# Copy over the rootfs from the SD card to the SSD
sudo rsync -axHAWX --numeric-ids --info=progress2 --exclude={"/dev/","/proc/","/sys/","/tmp/","/run/","/mnt/","/media/*","/lost+found"} / /mnt

Hi,

are you using a custom carrier board by referring to HDMI?
Was HDMI working properly on the original storage device?

Have you tried a full re-flash?

Hi,
You maybe misunderstand me.
1.I use the following command to copy the filesystem to mnt and package it.
2. I copy the mnt.tar.gz to PC and unpackage it.
3. sudo ln -s mnt Linux_for_Tegra/rootfs
4.cd Linux_for_Tegra
5.sudo ./flash.sh jetson-agx-orin-devkit mmcblk0p1
6.reboot
7.The system can be ssh but there is no hdmi.

sudo rsync -axHAWX --numeric-ids --info=progress2 --exclude={"/dev/","/proc/","/sys/","/tmp/","/run/","/mnt/","/media/*","/lost+found"} / /mnt

sudo tar czvf mnt.tar.gz mnt/

Are you using a DevKit or a custom carrier board?
So the workflow is that the system is installed in an NVMe drive, and you want to move it to the eMMC?
Is the driver loaded with lsmod | grep nvidia?
What do you get from dmesg and /var/log/Xorg.0.log?

Hi,
I use a custom carrier board.
There is nothing about NVMe which is used only for save.The system is installed in EMMc, and I copy the eMMc filesystem to NVMe.
I will show you the command result later.

Then if it’s already working on eMMC, why copying to NVMe, taring, and flashing again?
Also, are you sure the design of your carrier board is compatible with jetson-agx-orin-devkit?

Hi,
Because I add some app in eMMc and I want to burn the another custom board with the full funtion firmware.
I’m sure the design of my carrier board is compatible with jetson-agx-orin-devkit because the init version of firmware can startup with hdmi.

Hi,

for your use case, I think you can either backup only the APP partition:
https://docs.nvidia.com/jetson/archives/r35.4.1/DeveloperGuide/text/SD/FlashingSupport.html#to-clone-a-jetson-device-and-flash
, or clone the entire device:
https://docs.nvidia.com/jetson/archives/r35.4.1/DeveloperGuide/text/SD/FlashingSupport.html#to-back-up-and-restore-a-jetson-device

Have you tried these tools?

Our device trees for Orin series DevKits only enables DP functionality, or are you talking about something like an DP-HDMI converter?

Hi,
I’m using a custom board which has HDMI interface and not an DP-HDMI convertor.
I hope the backup system is a rootfs and not a img, so I can directly copy some app to the rootfs. Is there any way to realize it?

Then it’s not about how you copy rootfs,
because flashing with jetson-agx-orin-devkit is not going to give you HDMI capability.

This cannot be true.
Please check how you flashed the device initially.

Hi,

I have following the Orin startup guide and modify the devicetree. The important point is not the display method and is how to backup the jeston device app partion to a rootfs.

Are you using the same device and monitor before and after the backup?

Please just don’t flash with the default config (jetson-agx-orin-devkit).
If you know how to play with device trees and pinmux, then flash again with your own customized config file.

Hi,

There is no hdmi because the following backup method is not right.
sudo rsync -axHAWX --numeric-ids --info=progress2 --exclude={"/dev/","/proc/","/sys/","/tmp/","/run/","/mnt/","/media/*","/lost+found"} / /mnt.

Now, I don’t want to talk about flashing and custom board. If there is a devkit which can run rightly with system in eMMc, how to backup the app partition to a rootfs.
Thanks

I think it is right.
We have recommended users using this script before:

, and there has been no issue.

Please try this, and we can further debug it if the issue persist.
I just don’t know why you insist on using the default config…

Because I have used default config and all function of the custom board is OK including netcard,hdmi,usb,camera and i2s.

I have used the method and there is no hdmi but can be ssh.
Thanks

你說你有自己準備device tree,那可以請你就用你自己的device tree重燒一次嗎?
我不知道既然你知道怎麼改device tree,為什麼還堅持一定要用jetson-agx-orin-devkit燒…
你用預設的config file燒進去、HDMI會亮也只是運氣好,可能換一台螢幕就不行了。
(我問你是不是同一台螢幕還有driver和Xorg的log你也沒有回)
如果你確定用自己的dtb燒進去第一次螢幕會亮,但是備份重燒之後就失敗才有討論的價值。

還有麻煩也給一下你原本在eMMC上螢幕可以亮的時候xrandr的結果

Hi,
I do the operation step by step as following.
1.I use the flash.sh to burn the firmware whose hdmi is OK and the attachment hdmi-OK.zip is the log I captured.
hdmi-OK.zip (25.1 KB)

2.I used following command to get the rootfs.

sudo rsync -axHAWX --numeric-ids --info=progress2 --exclude={"/dev/","/proc/","/sys/","/tmp/","/run/","/mnt/","/media/*","/lost+found"} / /mnt

3.I use the flash.sh to burn the rootfs which is generated in the upper step.And the result is that there is no hdmi but the ssh is OK.The attachment hdmi-failed.zip is the log I captured.
hdmi-failed.zip (26.2 KB)

4.Do you know the reason?
Thanks

Hi @tianyi2,

  1. Are you using only one jetson AGX Orin to do the test here, or there are two devices to test?

  2. When you hit the NG case, if you hotplug the HDMI, will the kernel prints the tegra186_gpio_irq issue?

  3. When you are in NG case, if you hotplug HDMI, will you see anything new from xorg log?

Hi,

  1. I’m using only one jetson AGX Orin.But the only one is OK when using the initial firmware.
    2.When I hit the NG case, if I hotplug the HDMI,the sudo dmesg printed nothing added.
    3.When I hit the NG case, if I hotplug the HDMI,there is nothing new from /var/log/Xorg.0.log
    Thanks