Kernel boot parameters

Kernel boot parameters are used to enable, disable or configure kernel-specific features when the system boots.

On Ubuntu Core, when using the default GNU GRUB bootloader, kernel boot parameters can be configured either in the Gadget snap, or through system options. See Modifying kernel boot parameters for further details on each process.

Alongside parameters supported by the kernel, such as splash to display the Splash screen configuration, Ubuntu Core supports the following additional kernel parameters that permit special access to the system:


ubuntu_core.bootchart

The systemd-bootchart performance graphing tool is a standard feature of the Linux Systemd initialisation and service manager.

Bootchart collects metrics on CPU load, memory usage and process resources during a system boot. On Ubuntu Core, the sample collector will run until the system is seeded, stopping when when the snapd.seeded.service stops. It then renders these details as text and charts into an SVG-formatted image file.

Ubuntu Core bootchart graphs
This feature is enabled either as a Static boot option in the gadget snap, or as a Dynamic parameter modification with the snap set command:

snap set system system.kernel.dangerous-cmdline-append="ubuntu_core.bootchart"
sudo reboot

Generated bootcharts are stored in the ubuntu-data partition, under /var/log/debug/boot<N>/ , where <N> is the boot number since bootcharts was enabled. If a chart has also been collected by the initramfs, it’s same folder.

The file names will include the date and time of the boot:

-rw-r--r-- 1 root root 382502 Jul 11 11:30 bootchart-20230711-1130.svg
-rw-r--r-- 1 root root 133684 Jul 11 11:30 initrd-bootchart-20230711-1130.svg

To remove a dynamically set kernel command, use the snap unset command:

snap unset system system.kernel.dangerous-cmdline-append

snapd_system_disk

Requires snapd 2.59.

This kernel boot parameter is used to specify which system storage device is used for booting as a sysfs /dev device location:

snapd_system_disk=/dev/sda
1 Like

“core.bootchart(this will change to ubuntu_core.bootchart imminently)”

I believe this change has already happened. See last section in https://github.com/snapcore/core-initrd/blob/main/README.md

Brilliant catch, now updated. Thank you so much!