using kernel parameter on jetson tk1


currently i am trying to boot L4T with with the bootarg “maxcpus” without success until now.

has anyone ever booted by u-boot with bootargs?

As long as you are using a relatively modern version of L4T (e.g., R21.x version) the extlinux.conf “APPEND” value passes kernel arguments at boot. Note that this is one very long line and line wrap may make it look like multiple lines, but if for some reason there is any kind of line break, then the tail of the arguments (starting at the line break) would be lost. In terms of whether an argument which was correctly passed actually works, that depends on whether the kernel was compiled with the driver or feature which would use the argument…if the feature was no there by directly support or module support, then the boot argument would be ignored.

I am not familiar with the “maxcpus”, but if you simply want to disable one or more of the CPUs, then this is accessible after boot in the “/sys” files. See this, but think “online” as “echo 0” to disable:

Ok thank you.

I must say Ubuntu it may only use 3 cores at boot.

L4T is Ubuntu, but with nVidia-specific files for direct hardware access. You’ll want version 21.x (release 19.x use fastboot and so differ in how to pass parameters). To see which version:

head -n 1 /etc/nv_tegra_release

As long as you’ve flashed to R21.x+ you should have “/boot/extlinux/extliux.conf”. Within that the “APPEND” key has a value associated with it which is the command line argument to the kernel during boot. You can add your custom argument at the end of that very long line (do not break the line), but success or failure will be dependent upon whether the kernel feature required exists with the currently configured kernel. Should that fail you’ll need to research what kernel feature is required or associated with the feature parameter.

ok thank you.

but i need to set the kernel parameters befor flashing L4T on the board. i have to use the mem= parameter to devide the ram and i have to use the maxcpus= parameter to say to use only 3 cores.

The configuration for u-boot handing off to the Linux kernel is the extlinux.conf file. The “APPEND” values are set up and used as the kernel loads, prior to anything else. Thus, if a parameter needs to be set up prior to starting various programs (a.k.a. “init”), then this is the place to put those parameters. For firmware setup, this would be the named “FDT firmware_blob_file.dtb”, but it sounds like you want to pass information to a kernel feature, which implies the “APPEND” line (one very long line which may line wrap…do not break this up into multiple lines).

Understand that the command line to the kernel works or fails depending upon whether a feature exists to work with that argument. Many configurations are possible for a kernel, and perfectly valid arguments for a feature will do absolutely nothing unless that feature was actually built in to the kernel or a kernel module. Changing extlinux.conf does not require flash…if you are using a legacy L4T under fastboot, then you would need to flash; in that case it is better to flash with a modern L4T and edit extlinux.conf instead.

Note that in L4T R21.4 that extlinux.conf already contains “mem=2015M@2048M”, so your change would be a simple edit for that parameter. The “maxcpus=” would be a space delimited append to the “APPEND” line; success would depend upon whatever feature implementing maxcpus existing.