I haven’t flashed with fastboot, I went to u-boot (where you can simply edit /boot/extlinux.conf to change kernel command line). However, part of the answer if sticking to fastboot is this…
- Fastboot is in bootloader/fastboot.bin for the default. So flash.sh option "-L bootloader/fastboot.bin", provided fastboot.bin has your change.
- Kernel is in partition 6, so flash.sh "-k 6" option.
- The flash.sh "-C" option lets you hard wire a kernel command line, with these options to command line overriding others.
- Should you decide to switch to u-boot, don't forget to copy a zImage kernel to /boot of system.img or the sample rootfs, and edit /boot/extlinux.conf command line (fastboot uses partition -k 6, u-boot uses partition /boot).
What I’d suggest for your situation though is this…the boot script generates bootloader/system.img when flashing all of Jetson. If you have an existing system.img, rsync your Jetson to this mounted on loopback, then flash all while using “-r” option to flash.sh to re-use an existing system.img that was updated to copy your current Jetson. Having a clone of your live Jetson on a system.img means complete freedom to wipe Jetson and restore it at any time…just keep an updated system.img in a safe place. A large part of the time to flash is from generating system.img, so a backup removes that time once created.
If you need to create a system.img and do not already have one, I wrote a modified flash.sh which does nothing but create system.img (renamed system2.img). See thread:
https://devtalk.nvidia.com/default/topic/769691/embedded-systems/working-with-img-files-with-the-jetson
generateSystemImage.sh:
http://filebin.ca/1Y5aDfGAIoZc
…this script takes the same arguments as flash.sh…it was cut from flash.sh, and keeps parts used to generate system.img but removed parts which actually flash.
system.img can be loopback mounted via “mount -o loop -t ext4 system.img /mnt/somewhere”.
rsync preserving permissions for /home would be something like this from Jetson:
sudo rsync -acvrz --delete-before /boot root@host:/mnt/somewhere
You would need to rsync all the “real” file directories, and “/dev” would not hurt although parts are auto generated as needed. So make sure nothing else is mounted to the Jetson, and rsync these:
/bin, /boot, /dev/, /etc, /home, /lib, /media, /mnt, /opt, /root, /sbin, /srv, /usr, /var
I mentioned some directories which probably have nothing in them because it doesn’t hurt to sync directory structure, and I don’t know what you have in them. You’ll need to rsync to a host with root permissions.