diff options
| author | Rutherther <rutherther@ditigal.xyz> | 2026-01-03 15:36:00 +0100 |
|---|---|---|
| committer | Rutherther <rutherther@ditigal.xyz> | 2026-01-14 09:17:33 +0100 |
| commit | ab22501915fa57cf3a3f94dcc7fec86b433d85ad (patch) | |
| tree | 5008e84b52279284d7467ae78cc78b569a89e850 /gnu/system | |
| parent | 84a018b3569a26fbb99d0c71fdbd2addb5686467 (diff) | |
install: Register agetty on primary console on AArch64.
This adds the possibility to parse /proc/consoles to find a primary console.
Then, on AArch64 this is used in the installation image. On AArch64, the boot
usually happens with chosen device tree that contains the serial console.
On x86_64, this does not happen so often, so we keep the installation iso
minimal there.
The primary console is chosen, but there is a fallback to any non-virtual one.
Virtual console (/dev/tty0) is skipped, because that one can point to any
console, like /dev/tty1 and so on. So it's not safe to register agetty on it.
* gnu/build/linux-boot.scm (read-linux-consoles): New variable.
* gnu/services/base.scm (default-serial-console): Use primary console as
fallback.
* gnu/system/install.scm (%installation-services): Add agetty tty for
consoles.
Change-Id: Iae01f7bc85b5ffdef2e52b1d0710889915b0f54a
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
Diffstat (limited to 'gnu/system')
| -rw-r--r-- | gnu/system/install.scm | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/gnu/system/install.scm b/gnu/system/install.scm index e5dfdbb427b..80332b7b534 100644 --- a/gnu/system/install.scm +++ b/gnu/system/install.scm | |||
| @@ -483,6 +483,17 @@ Access documentation at any time by pressing Alt-F2.\x1b[0m | |||
| 483 | 483 | ||
| 484 | ;; Specific system services | 484 | ;; Specific system services |
| 485 | 485 | ||
| 486 | ;; AArch64 has a better detection of consoles, mainly because device | ||
| 487 | ;; trees are utilized. On x86_64, the detection is usually done | ||
| 488 | ;; through BIOS and consoles do not get registered to /proc/console. | ||
| 489 | ;; The only way they would is if the user used console linux argument. | ||
| 490 | `(,@(if (target-aarch64? system) | ||
| 491 | (list (service agetty-service-type | ||
| 492 | (agetty-configuration (tty #f) | ||
| 493 | (auto-login "root") | ||
| 494 | (login-pause? #t)))) | ||
| 495 | '())) | ||
| 496 | |||
| 486 | ;; Machines without Kernel Mode Setting (those with many old and | 497 | ;; Machines without Kernel Mode Setting (those with many old and |
| 487 | ;; current AMD GPUs, SiS GPUs, ...) need uvesafb to show the GUI | 498 | ;; current AMD GPUs, SiS GPUs, ...) need uvesafb to show the GUI |
| 488 | ;; installer. Some may also need a kernel parameter like nomodeset | 499 | ;; installer. Some may also need a kernel parameter like nomodeset |
