I was compiling the Jetpack 4.6.1 SDK for Xavier_NX and it was working fine (user was created using the l4t_create_default_user.sh ). But when i executed the apply_binaires.sh script again, and flashed the device, I found that the device was not booting up.
Then I have removed the existing rootfs and done the basic setup(for the rootfs) it was working fine again.
I would like know how the execution of apply_binaries can corrupt the rootfs. Can someone help me here
apply_binaries.sh is used only once. This is what adds the NVIDIA content to a purely Ubuntu rootfs. When using JetPack/SDKM it knows to use this only once. After this you can flash as many times as you want, but don’t use apply_binaries.sh twice unless you’ve reinstalled “rootfs/” with the sample rootfs.
Hi linuxdev to clarify further can you guide me on what happens when i execute apply binaries multiple times(I guess when i run the it, it will overwrite the existing files and that shouldn’t corrupt the filesystem ).
Originally the default “purely Ubuntu” rootfs is just that: It has no concept of a Jetson. It has no idea of apt repositories for a Jetson, and no concept of boot customization needed for a Jetson (the Jetson and most embedded systems do not have a “BIOS”, and thus need the equivalent content as a flash).
I can’t tell you the exact steps, but one thing it does is add various services to systemd, one of which is a “first boot” setup designed to prompt for a new user account creation. Once the account is created the files related to “/etc/group” and “/etc/passwd” (including shadow files) are modified. If you were to reinstall the first boot setup, and create the same user twice, then I assume this would be a failure since that user already exists. I do not know for sure what error might take place.
Drivers and libraries and firmware are also installed. Many of those would not matter if they are overwritten with themselves.
I don’t know the exact issue, but using apply_binaries.sh twice on the same sample rootfs is an undefined operation. It shouldn’t happen. Just don’t use apply_binaries.sh a second time once a sample rootfs is installed. Alternatively, delete all of the “rootfs/” and install both the sample rootfs and apply_binaries.sh.