OS Customization

circle-info

The instructions on this page only apply to Linux installations.

Partitioning

The OS will be installed on the first disk. NVME drives will be preferred, if a server has multiple disk types.

Default Linux Disk Partitions

By default, regular Linux installations will have the following partitioning details:

Partitions:

  • /boot, 4096MB

  • /, using the remaining space on the disk

  • swap is enabled and has a size of 8192MB

Custom Partitioning

During new server requestsarrow-up-right, it is possible to provide your own partitioning scheme.

In the partitions field of the OS object, you can customize your Linux partitions by specifying a list of them. Each partition object should have the following fields:

Field
Type
Description
Example Value

target

string

The mount point for the partition

/boot

filesystem

string

The filesystem to use for the target. Currently supported types: ext2, ext3, ext4, xfs

ext4

size

int

The size of the partition in MB, or -1 for the remaining disk space

4096

Example

circle-info
  • The / and /boot partitions are required and must be defined.

  • The size field is in MB.

  • The size field can be -1 to use the remaining disk space.

  • To disable the swap file, omit the swap partition from the list of partitions.

  • Accepted filesystems: ext2, ext3, ext4, xfs.

  • Partitioning does not apply to Talos installations, because Talos does not support customizing partitions.

The Linux bootloader

Default bootloader options

During the OS installation process, we apply a specific customization to enable legacy network interface naming. This ensures that network interfaces follow the traditional ethX naming convention for OS install compatibility reasons.

The following kernel parameters are set:

  • net.ifnames=0 Disables predictable network interface names.

  • biosdevname=0 Disables naming based on BIOS device names.

No additional options are configured by default.

Customizing the bootloader

circle-exclamation

You can provide additional kernel arguments to the bootloader by specifying them in the kernelParams field of the OS object when you request a new serverarrow-up-right. These values will be added to the GRUB configuration file and applied as follows:

  • Add the kernel parameters to the GRUB_CMDLINE_LINUX variable in /etc/default/grub

  • Update the GRUB configuration with update-grub (Debian based systems) or grub2-mkconfig -o /boot/grub/grub.cfg (RH / Centos based systems)

    • This generates the grub.cfg file and generates the /boot/grub/grubenv file

Example

In the kernelParams field of the OS object, you can provide a list of custom kernel or GRUB parameters. For example:

This example disables hyperthreading (on the OS level) and disables Page Table Isolation (PTI) in the kernel. The options added to the GRUB configuration are: mitigations=auto,nosmt nopti.

circle-info

Talos Linux requires special kernel arguments to boot. Please refer to the Talos installationarrow-up-right documentation for more details.

Last updated

Was this helpful?