Where can I change default cmdline/cbootargs and other questions regarding jetson nano boot process.

There are a few places that CBoot (and the flash tools) pick up the kernel cmdline args - the config file (p3448-0000.conf.common, in CMDLINE_ADD=), in the DTB chosen/bootargs, and in the extlinux.conf file in the rootfs:

/boot/extlinux/extlinux.conf:

APPEND ${cbootargs}

By default, this just picks up the (concatenated) bootargs from CBoot (from the U-Boot environment). If you want to add args, this is the best place. If you need to change or remove kernel args (console=, etc.), you’ll have to track where it’s set in the above files and change it there.

Note, too, that /proc/cmdline and /proc/device-tree/chosen/bootargs should be identical.

And, if you don’t use flash.sh, but instead use an SD-card image, you skip the step where flash.sh uses mkbootimg to place the ‘cmdline’ args into the DTB that’s flashed to the device (i.e. your DTB in the SD-card image will be static). So I’d recommend that all devs that want to modify the bootargs always use flash.sh to flash both QSPI and SD.

HTH,

Tom

1 Like