Linux Kernel Setup

So reading a quick article, it seems the kernel for this Linux base is optimized for the x86 . Has there been a culling to the kernel modules to trim it down?

Yes. You can see the kernel config here: linux/config at master · clearlinux-pkgs/linux · GitHub

1 Like

Ugh CONFIG_SERIAL_8250_NR_UARTS is fixed at 4 , that’s inconvenient

Can you suggest this on GitHub with some background? If it is widely applicable and doesnt have a negative impact, it may get included in the native kernel config.

Ubuntu has this value set to 32. It wouldn’t be an issue , I suppose if I was able to pass in a kernel parameter to override this. I tried to adjust the Clear-linux-native-5xxxxxxx.conf file with 8250.nr_uarts=16 , but I may have done that incorrectly.

Also, I am not fully up on github yet , so i don’t know where I would make this suggestion.

I can see this not being a big deal in the container/server realm, but in the embedded realm, where my targets reside, having a lot of serial ports is generally useful.

Thanks for chatting at me.

Instead put it in .e.g. /etc/kernel/cmdline.d/uart.conf and re-run sudo clr-boot-manager update afterwards.

I am running the same issue where I need to bump up nr_uarts and I have tried suggestion made by ahkok but it didnt work. Can anyone help me? I got the following error

[ERROR] cbm (…/src/bootman/kernel.c:L118): Valid kernel found with no cmdline: ///usr/lib/kernel/org.clearlinux.native.5.6.11-948 (expected /usr/lib/kernel/cmdline-5.6.11-948.native)
[ERROR] cbm (…/src/bootman/kernel.c:L118): Valid kernel found with no cmdline: ///usr/lib/kernel/org.clearlinux.native.5.6.11-948 (expected /usr/lib/kernel/cmdline-5.6.11-948.native)

I have the same issue. I have add “8250.nr_uarts” in the /etc/kernel/cmdline.d/uart.conf, and this config is updated to the Clear-linux-native-xxxxxx.conf.
However,it doesn’t work. It’s seemd that the parameter failed to pass to the kernel.
it’s really important to the devices with more than 4 serial ports,Thank you!

I think you may need to use nr_uarts=16 instead as our serial support is built into the kernel.

Oops I meant my reply of nr_uarts=16 for you.

Yeah, I mean that I have add “8250.nr_uarts=16” and it doesn’t work.I also tried “nr_uarts=16” and it’s doesnt work,either

can anyone give me some advice?

I’d like to suggest configuring the kernel with CONFIG_CLS_U32_PERF=Y so that
tc -s show filter dev xxxxx
shows how many times each networking QOS filter has successfully matched a packet.