Orin 35.4.1在部署软件然后重启不定次数会进入recovery mode.请问您有什么建议吗?

Hi,
在我们的Orin 35.4.1定制板上部署我们自己的软件,然后软重启。这样连续做不定次数后,板子会进入recovery mode,这严重干扰了生产。附件为进入recovery mode的log。请问一下,您有什么建议吗?如果需要其他资料,麻烦说一下。
20240411_orin_recoverymode.txt (91.9 KB)

這個不是recovery mode. 這個叫recovery boot.
Recovery mode是拿來燒機用的, 那個時候是不會有log出來的

recovery boot是NV一個開機的機制, 當你的機器連續三次開不進去rootfs之後就會跳進recovery boot image開機

所以想要回答你的問題, 應該要去看說為什麼你前面三次開不進去.

如果你沒有發生連續三次開不進去的狀況, 那代表你可能把某些NV提供的systemd service刪掉或關掉了導致系統檢查這段沒有做

Hi,
从log看,进入recovery boot之前是正常进如rootfs的。
在进入recovery boot后,重启后进入ESC to enter Setup.,把启动模式改成normal,然后,Orin就可以正常启动了,这说明某些NV提供的systemd service没有被删掉。请问一下,您还有什么建议吗?
Thanks

厄不是 你沒有聽懂我的意思

systemd serivce是在rootfs裡面 … 你作的實驗(回復可以正常啟動) 跟你講的結論完全沒有關聯…

本來recovery boot 就可以恢復, 問題是你會不會再連開三次又進去recovery boot…

整個進去recovery boot的邏輯是

systemd service :nv-l4t-bootloader-config.service 在開機的時候會被執行

剛才我提到的systemd serivce就是上面這個. 請你確認這個service的status在你執行reboot之前都有執行到

如果你連這個service都消失了, 就是代表你可能刪掉它了…

Hi,
试了几次后,在重启之前输入sudo servcie nv-l4t-bootloader-config status,打印
● nv-l4t-bootloader-config.service - Configure bootloader service Loaded: loaded (/etc/systemd/system/nv-l4t-bootloader-config.service; enabled; vendor preset: enabled) Active: inactive (dead)
然后软重启,系统起不来,log如下。请问,您有什么建议吗?
20240412_orin_reboot_failed_1.txt (114.7 KB)

這跟你原本的問題有關連嗎? 你現在整個對於問題的狀況好像不是很清楚
只有一直問我建議
說實話你連狀況都沒有陳述得很完整 我們這裡實在不知道要給你什麼建議.

這一條就只討論recovery boot. 請你自己先測試一下到底在你那邊怎樣的狀況會碰上recovery boot.

sudo service nv-l4t-bootloader-config status的結果應該也不只有那幾行而已吧? 是不是沒貼完全部內容?

Hi
是这样的,我们在测试部署软件,部署后软重启。遇到两种情况。
第一种,软重启后进入recovery boot.按照您的建议,在reboot之前sudo service nv-l4t-bootloader-config status看该结果是否正常,这一种情况还没有复现,就出现了第二种情况。
第二种,软重启后,进入 20240412_orin_reboot_failed_1.txt所在的状态,在此之前我看了sudo service nv-l4t-bootloader-config status的结果,这个就是全部内容。
● nv-l4t-bootloader-config.service - Configure bootloader service Loaded: loaded (/etc/systemd/system/nv-l4t-bootloader-config.service; enabled; vendor preset: enabled) Active: inactive (dead)

我換個問法問好了

你現在有辦法任意software reboot你的機器連續三次然後不進去recovery boot嗎

上文的第二种情况就是一次软重启后,然后十分钟内会两次自动重启,然后进入recovery boot.我上次上传的log是裁减掉的,只上传了第一次软重启失败后的log。下面的log是第一次软重启到两次自动重启,接着进入recovery boot的完整log.
20240412_orin_reboot_failed_2.txt (385.4 KB)

所以你進recovery boot之前確實有幾次是kernel panic所以開不起來?

能請你確認每次都是同樣的模式導致recovery boot的嗎?

我的意思是我要確保我們只有一個kernel panic問題要解. 而不是說有好幾種狀況.

我明白你的意思。但从log 20240411_orin_recoverymode.txt上看,软重启后,系统就马上进入recovery boot了,没有kernel panic,所以还是要分两种情况。不过,可以先解决kernel panic这个问题。

能請你開一個新topic給你那個kernel panic問題嗎?

我們這裡繼續討論造成recovery boot的其他原因

另外一個問題是你的 sudo service nv-l4t-bootloader-config status 看起來很怪異

能請你開機5次然後每次都捕捉sudo service nv-l4t-bootloader-config status的結果嗎?
如果沒辦法撐到5次, 就看你能抓多少次

Hi,
只抓了三次,第四次软重启后kernel panic了。三次内容相同,见下面图片。
2024-04-12_17-20

能請你確認一下這個service為何跑不起來嗎?

你可以去找個NV devkit燒default image然後測試一下
照理來說sudo service nv-l4t-bootloader-config status會有 nv-l4t-bootloader-config.sh的log.

Hi,
我试了service nv-l4t-bootloader-config restart是可以成功的,请看下面log。
但是我restart该服务后,软重启会失败率很高,我试了两次,就失败两次,附件
0412_orin_nv-l4t-service.txt (91.5 KB)
为最后一次失败的记录。
失败后,断电重启,service nv-l4t-bootloader-config status又恢复到原来的状态。
`
@ugv:~$ sudo service nv-l4t-bootloader-config status
[sudo] password for :
● nv-l4t-bootloader-config.service - Configure bootloader service
Loaded: loaded (/etc/systemd/system/nv-l4t-bootloader-config.service; enab>
Active: inactive (dead)
@ugv:~$ sudo service nv-l4t-bootloader-config restart
@ugv:~$ sudo service nv-l4t-bootloader-config status\

● nv-l4t-bootloader-config.service - Configure bootloader service
Loaded: loaded (/etc/systemd/system/nv-l4t-bootloader-config.service; enab>
Active: inactive (dead) since Fri 2024-04-12 17:46:53 CST; 4s ago
Process: 4705 ExecStart=/opt/nvidia/l4t-bootloader-config/nv-l4t-bootloader>
Main PID: 4705 (code=exited, status=0/SUCCESS)

4月 12 17:46:53 ugv nv-l4t-bootloader-config.sh[4991]: TEGRA_EMMC_ONLY false
4月 12 17:46:53 ugv nv-l4t-bootloader-config.sh[4991]: TEGRA_CHIPID 0x23
4月 12 17:46:53 ugv nv-l4t-bootloader-config.sh[4991]: TEGRA_OTA_BOOT_DEVICE /d>
4月 12 17:46:53 ugv nv-l4t-bootloader-config.sh[4991]: TEGRA_OTA_GPT_DEVICE /de>
4月 12 17:46:53 ugv nv-l4t-bootloader-config.sh[4705]: Info: Write TegraPlatfor>
4月 12 17:46:53 ugv nv-l4t-bootloader-config.sh[4705]: Info. Uninstalling mtdbl>
4月 12 17:46:53 ugv nv-l4t-bootloader-config.sh[4705]: Info. Verifying boot sta>
4月 12 17:46:53 ugv nv-l4t-bootloader-config.sh[5013]: Info: variable BootChain>
4月 12 17:46:53 ugv systemd[1]: nv-l4t-bootloader-config.service: Succeeded.
4月 12 17:46:53 ugv systemd[1]: Finished Configure bootloader service.
@ugv:~$ sudo reboot
`

能請你給log出來的時候自己也檢查一下嗎… 現在每一行都被卡悼…

Hi,
我cut掉的是用户名,不影响查看吧。

注意:每一个@ugv前面都是用户名。

TegraPlatformCompatSpec是你的用戶名?

我在 0412_orin_nv-l4t-service.txtlog中没搜到TegraPlatformCompatSpec,您是从哪看到的?
我已经cut所有的用户名,您是看不到的。