My device is custom jetson tx2i, jetpack R32.7.4.
I found multiple initrd images in /boot, such as initrd, initrd.img. initrd seems to be a simplified product by nvidia, initrd.img should be the product generated by ubuntu. Does nvidia do something special with initrd? Can initrd.img replace initrd for normal use?
![]()
Why ask that question?
Because I encountered “invalid superblock checksum” issues, causing the kernel unable boot up.
![]()
Then I checked the initrd boot steps and found that it was stuck at mount rootfs. I added the following parameters to bootargs before the error occurred, but it doesn’t work.
fsck.mode=force fsck.repair=yes
The above settings only take effect during the systemd stages, and obviously initrd is not included.
I think embedded devices cannot skip some important checks.
Although I can manually add some fsck checks to initrd, I consider whether using conventional framework would be more stable, initrd.img->initrd.img-4.9.140-tegra contains fsck-related operations.
In addition, I checked the init script in initrd. NVIDIA’s customization seems to only involve the LUKS encryption process. If I don’t enable that, does it mean that it doesn’t matter whether I use initrd or initrd.img?
Of course, the former may boot up faster.
hello EEEXcalibur,
The initial RAM disk (initrd) in L4T uses initramfs to load a temporary root file system into the RAM. This allows the system to boot until the L4T initrd prompt, also called RCM boot.
It seems that the ext4 file-system is corrupted. please try using e2fsck to fix the file system.
but.. why it’s corrupted, did you have sudden power outage?
you may shutdown device through correct process, so that file-system can be synced correctly.
Hi JerryChang,
In my use case, power outage is unavoidable. So I want to make sure that the system can be rebooted as much as possible.
For errors that e2fsck can fix, I wish it would fix them automatically during kernel boot.
But original initrd(nvidia custom initramfs) did not have that feature, and initrd.img (generated by Ubuntu) should have.
Based on the above analysis, I have two options:
1.Manually add e2fsck process to initrd before mount rootfs.
2.Use initrd.img instead of the default initrd, the former might be able to enable fsck checks by configuring bootargs (sorry, I haven’t had time to verify this yet).
Which method is more stable or more suitable? Do you have any other suggestions?
Thanks for your proactive help.
please see-also How to force file system check (fsck) at boot?