Using l4t_initrd.img from jetpack 4.2.2 or L4T 32.2.1
I have successfully extracted Linux_for_Tegra/bootloader/l4t_initrd.img added a shell script and created Linux_for_Tegra/bootloader/initrd which flash.sh will use to program the xavier. And my new shell script is now executed by initrd.
Now I want to add e2fsck in the initrd (currently not included). I thought I would just grab the sample rootfs one.
My problem is that I cannot find what l4t_initrd.img was made with.
If I try using e2fsck from Tegra_Linux_Sample-Root-Filesystem_R28.3.1_aarch64.tbz2, I get:
… has unsupported feature(s):
[ 7.104171] metadata_csum
[ 7.104289] e2fsck: Get a newer version of e2fsck!
If I try using e2fsck from Tegra_Linux_Sample-Root-Filesystem_R31.1.0_aarch64.tbz2, I get:
[ 7.171241] e2fsck: symbol lookup error: e2fsck: undefined symbol: ext2fs_xattrs_read
My understanding, l4t_initrd.img was probably made around R28.3.1 as there is no execution error, but is not compatible with newer mkfs.ext4 in recent sample rootfs. And newer e2fsck are missing dependencies in the older l4t_initrd.img.
Why NVIDIA does not keep l4t_initrd.img in sync with it’s current sample root file system release?
How can I update l4t_initrd.img to newer tools?
Do I need to create a buildroot or yocto project?
Does NVIDIA already have a buildroot or yocto somewhere?