1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
|
# /etc/limine-sync.conf.example — copy to /etc/limine-sync.conf and edit.
#
# limine-sync generates the kernel entries of the boot menu from what is
# in /boot, and splices them into /etc/limine.conf.in at @KERNELS@. This
# file supplies the few things a directory listing cannot tell it.
#
# Everything below except CMDLINE is optional and shown at its built-in
# default; an absent file means "all defaults", which is why CMDLINE
# being required is what makes the file required.
#
# Syntax: KEY=value, one per line. Keys are uppercase. Surrounding
# quotes are stripped. '#' starts a comment anywhere on the line, so a
# value cannot contain one. An unrecognised key is warned about and
# ignored — check the output after editing.
#
# Nothing here is read at boot. Changes take effect when limine-sync
# next runs: automatically on the boot/ trigger, or by hand. Always
# look before you leap:
#
# limine-sync -n # print what would change, touch nothing
# limine-sync
#
# ── CMDLINE (required) ───────────────────────────────────────────────
#
# The kernel command line, used verbatim for every generated entry.
# There is no default: the root device is the one setting that differs
# on every machine, and a guess would produce a bootable-looking menu
# pointing at the wrong disk. limine-sync refuses to run without it.
#
# On an install target `setup-boot /mnt` writes this line for you, and
# reruns are how you change it afterwards.
#
# Unencrypted root:
#
#CMDLINE=root=/dev/nvme0n1p2 ro quiet
#
# LUKS root. cryptroot= is the UUID of the *LUKS partition* (from
# `cryptsetup luksUUID /dev/nvme0n1p2`), not of the filesystem inside
# it. tinyrd creates the mapping under exactly the name given in
# root=, so the name you passed to `cryptsetup open` belongs here and
# is recorded nowhere else:
#
#CMDLINE=cryptroot=UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx root=/dev/mapper/croot ro quiet
#
# Serial console as well as the screen (VPS, or `qemu -nographic`):
#
#CMDLINE=root=/dev/vda2 ro quiet console=tty0 console=ttyS0,115200n8
# ── TITLE ────────────────────────────────────────────────────────────
#
# Menu label. Entries read "<TITLE> <version>", e.g. "rawnix 6.18.50",
# and the Xen chainload entry reads "<TITLE> Xen".
#
#TITLE=rawnix
# ── INITRD ───────────────────────────────────────────────────────────
#
# Filename in /boot of the initramfs, added as a module_path after the
# microcode. tinyrd carries no modules and takes the LUKS UUID from
# the cmdline, so one image serves every kernel and this is a plain
# name with no version in it.
#
# Set it empty to boot with no initramfs. That is fine for an
# unencrypted root and impossible for a LUKS one — limine-sync warns if
# CMDLINE has cryptroot= and the image is not on the ESP.
#
#INITRD=tinyrd.img
# ── MICROCODE ────────────────────────────────────────────────────────
#
# Filename in /boot of the early microcode image, added as the *first*
# module_path. The kernel only applies an early update from the head
# of the initrd chain, so the order is not adjustable.
#
# Set empty on a machine that needs none, or on Intel once there is an
# intel-ucode port. An entry is only emitted if the file is actually
# on the ESP.
#
#MICROCODE=amd-ucode.img
# ── Xen ──────────────────────────────────────────────────────────────
#
# Only relevant if a xen-*.efi is on the ESP. The newest one always
# gets a chainload entry in limine.conf; these keys additionally
# generate /boot/efi/xen.cfg, which is what picks dom0's kernel.
#
# XEN_KERNEL pins a *series*, not a version: "6.12" selects the newest
# 6.12.x that has a module tree. Empty means leave xen.cfg alone,
# which is the default and what you want if you maintain it by hand.
#
#XEN_KERNEL=
#
# Appended to dom0's kernel line. Note dom0 usually wants fewer CPUs
# and less memory than the cmdline above gives a bare-metal boot.
#
#XEN_CMDLINE=
#
# The hypervisor's own options line.
#
#XEN_OPTIONS=dom0_mem=4G,max:4G dom0_max_vcpus=4
#
# Xen takes a single ramdisk, so microcode and an initramfs are
# mutually exclusive here. yes = microcode; anything else = the
# INITRD image, if there is one. An encrypted dom0 root therefore
# cannot get early microcode this way and needs Xen's own ucode=.
#
#XEN_UCODE=no
|