<feed xmlns='http://www.w3.org/2005/Atom'>
<title>guix/gnu/system/install.scm, branch core-packages-team</title>
<subtitle>Transactional package manager, declarative GNU/Linux distribution, reproducible deployment tool, and more! https://guix.gnu.org</subtitle>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/'/>
<entry>
<title>gnu: installer: Use kmscon-8.</title>
<updated>2026-04-16T19:07:05+00:00</updated>
<author>
<name>Anderson Torres</name>
<email>anderson.torres.8519@gmail.com</email>
</author>
<published>2026-04-04T23:15:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=8a8d8ca39e692b75bd28d150dba6297a380172dc'/>
<id>8a8d8ca39e692b75bd28d150dba6297a380172dc</id>
<content type='text'>
Because kmscon-9 lacks the patch to change keyboared layout in the installer.

* gnu/system/install.scm (%installation-services)[kmscon-service-type]: Set kmscon to kmscon-8.

Change-Id: Ib12d9ec8f32042dce8ade66bf042ae32a7d05e2c
Signed-off-by: Hilton Chain &lt;hako@ultrarare.space&gt;
Merges: #7381
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Because kmscon-9 lacks the patch to change keyboared layout in the installer.

* gnu/system/install.scm (%installation-services)[kmscon-service-type]: Set kmscon to kmscon-8.

Change-Id: Ib12d9ec8f32042dce8ade66bf042ae32a7d05e2c
Signed-off-by: Hilton Chain &lt;hako@ultrarare.space&gt;
Merges: #7381
</pre>
</div>
</content>
</entry>
<entry>
<title>system: Remove nintendo-nes-classic-edition installer.</title>
<updated>2026-02-17T12:44:24+00:00</updated>
<author>
<name>Andreas Enge</name>
<email>andreas@enge.fr</email>
</author>
<published>2026-02-17T12:37:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=a2a00c2fcc412dae2adc59ca21e41d4da50543a8'/>
<id>a2a00c2fcc412dae2adc59ca21e41d4da50543a8</id>
<content type='text'>
* gnu/system/install.scm (nintendo-nes-classic-edition-installation-os):
Delete variable.
* gnu/bootloader/u-boot.scm
(u-boot-nintendo-nes-classic-edition-bootloader): Delete variable.

Change-Id: I538d1b7d80f4d475c5389bd41cee4ab4358c05c2
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* gnu/system/install.scm (nintendo-nes-classic-edition-installation-os):
Delete variable.
* gnu/bootloader/u-boot.scm
(u-boot-nintendo-nes-classic-edition-bootloader): Delete variable.

Change-Id: I538d1b7d80f4d475c5389bd41cee4ab4358c05c2
</pre>
</div>
</content>
</entry>
<entry>
<title>system: Add am335x-evm installer.</title>
<updated>2026-02-01T18:57:47+00:00</updated>
<author>
<name>Denis 'GNUtoo' Carikli</name>
<email>GNUtoo@cyberdimension.org</email>
</author>
<published>2025-12-22T19:18:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=69cc00def4f85724bb6698f2365f661e5a946691'/>
<id>69cc00def4f85724bb6698f2365f661e5a946691</id>
<content type='text'>
* gnu/system/install.scm (am335x-evm-installation-os):
  New exported variable.

Change-Id: I6dbe95f64d2c6f609fbf0e9c09e484f90850c70b
Signed-off-by: Denis 'GNUtoo' Carikli &lt;GNUtoo@cyberdimension.org&gt;
Signed-off-by: Vagrant Cascadian &lt;vagrant@debian.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* gnu/system/install.scm (am335x-evm-installation-os):
  New exported variable.

Change-Id: I6dbe95f64d2c6f609fbf0e9c09e484f90850c70b
Signed-off-by: Denis 'GNUtoo' Carikli &lt;GNUtoo@cyberdimension.org&gt;
Signed-off-by: Vagrant Cascadian &lt;vagrant@debian.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>system: export rock-4c-plus-installation-os.</title>
<updated>2026-02-01T18:57:02+00:00</updated>
<author>
<name>Denis 'GNUtoo' Carikli</name>
<email>GNUtoo@cyberdimension.org</email>
</author>
<published>2025-12-22T19:29:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=2f51ef95b4159e0e0770f3d8e0789f97327b50c8'/>
<id>2f51ef95b4159e0e0770f3d8e0789f97327b50c8</id>
<content type='text'>
* gnu/system/install.scm (rock-4c-plus-installation-os):
  Export variable.

Change-Id: Id91a9d77e34685a6bd62f2098b3b812e246cb758
Signed-off-by: Denis 'GNUtoo' Carikli &lt;GNUtoo@cyberdimension.org&gt;
Signed-off-by: Vagrant Cascadian &lt;vagrant@debian.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* gnu/system/install.scm (rock-4c-plus-installation-os):
  Export variable.

Change-Id: Id91a9d77e34685a6bd62f2098b3b812e246cb758
Signed-off-by: Denis 'GNUtoo' Carikli &lt;GNUtoo@cyberdimension.org&gt;
Signed-off-by: Vagrant Cascadian &lt;vagrant@debian.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>system: install: Add support for more boot devices on AArch64.</title>
<updated>2026-01-16T19:28:28+00:00</updated>
<author>
<name>Rutherther</name>
<email>rutherther@ditigal.xyz</email>
</author>
<published>2026-01-02T19:29:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=a6a0c82d7369cffe3a41a2f99e78d025cba74f8d'/>
<id>a6a0c82d7369cffe3a41a2f99e78d025cba74f8d</id>
<content type='text'>
The state is not great, there are many unsupported devices in the current
state. This adds support for much more USB controllers than before and also
SD cards.

* gnu/system/install.scm (%installation-initrd-modules): Add a lot of new
modules to support booting on various devices

Change-Id: I523ebe992a7e3740708622899d1209f20eb23e63
Signed-off-by: Rutherther &lt;rutherther@ditigal.xyz&gt;
Merges: #5320
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The state is not great, there are many unsupported devices in the current
state. This adds support for much more USB controllers than before and also
SD cards.

* gnu/system/install.scm (%installation-initrd-modules): Add a lot of new
modules to support booting on various devices

Change-Id: I523ebe992a7e3740708622899d1209f20eb23e63
Signed-off-by: Rutherther &lt;rutherther@ditigal.xyz&gt;
Merges: #5320
</pre>
</div>
</content>
</entry>
<entry>
<title>install: Add guix-system-installer executable to system profile.</title>
<updated>2026-01-14T08:17:35+00:00</updated>
<author>
<name>Rutherther</name>
<email>rutherther@ditigal.xyz</email>
</author>
<published>2026-01-03T22:14:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=9448ec6fb20a737a852e8624b5611950886feaaa'/>
<id>9448ec6fb20a737a852e8624b5611950886feaaa</id>
<content type='text'>
To allow users in headless consoles to use the graphical installer, add an
executable. This executable is referred to by the console motd, so users
in headless setups will get to know about it.

* gnu/system/install.scm
(installer-command-package): New variable.
(%installation-services): Use it, add it to the profile-service-type

Change-Id: Id2d07b3f190aa17c99c7667c3bb31ae696499dde
Signed-off-by: Rutherther &lt;rutherther@ditigal.xyz&gt;
Merges: #5346
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
To allow users in headless consoles to use the graphical installer, add an
executable. This executable is referred to by the console motd, so users
in headless setups will get to know about it.

* gnu/system/install.scm
(installer-command-package): New variable.
(%installation-services): Use it, add it to the profile-service-type

Change-Id: Id2d07b3f190aa17c99c7667c3bb31ae696499dde
Signed-off-by: Rutherther &lt;rutherther@ditigal.xyz&gt;
Merges: #5346
</pre>
</div>
</content>
</entry>
<entry>
<title>install: Show different motd in headless console.</title>
<updated>2026-01-14T08:17:34+00:00</updated>
<author>
<name>Rutherther</name>
<email>rutherther@ditigal.xyz</email>
</author>
<published>2026-01-03T22:02:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=94f9177cf812971406b48c2c2ecf3f6927373378'/>
<id>94f9177cf812971406b48c2c2ecf3f6927373378</id>
<content type='text'>
motd is shown by the pam module, it doesn't support changing what motd gets
displayed easily. The only way to control it is by read permissions on
individual motd files, making files unreadable by the user logging in.

So instead of that, make a custom script that prints different motd,
checking if a temporary file exists. An environment variable would be better
suited for this purpose, but those aren't passed through by PAM.

* gnu/system/install.scm
(%installation-login-pam-service): New variable. Modified login pam service.
(%installation-console-login): New variable. Wrapper around login to create a
file for PAM rule.
(%installation-services): Use new login pam service and wrapper.

Change-Id: I5e05e604b3106390181190559ade62ca5e2db216
Signed-off-by: Rutherther &lt;rutherther@ditigal.xyz&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
motd is shown by the pam module, it doesn't support changing what motd gets
displayed easily. The only way to control it is by read permissions on
individual motd files, making files unreadable by the user logging in.

So instead of that, make a custom script that prints different motd,
checking if a temporary file exists. An environment variable would be better
suited for this purpose, but those aren't passed through by PAM.

* gnu/system/install.scm
(%installation-login-pam-service): New variable. Modified login pam service.
(%installation-console-login): New variable. Wrapper around login to create a
file for PAM rule.
(%installation-services): Use new login pam service and wrapper.

Change-Id: I5e05e604b3106390181190559ade62ca5e2db216
Signed-off-by: Rutherther &lt;rutherther@ditigal.xyz&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>install: Register agetty on primary console on AArch64.</title>
<updated>2026-01-14T08:17:33+00:00</updated>
<author>
<name>Rutherther</name>
<email>rutherther@ditigal.xyz</email>
</author>
<published>2026-01-03T14:36:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=ab22501915fa57cf3a3f94dcc7fec86b433d85ad'/>
<id>ab22501915fa57cf3a3f94dcc7fec86b433d85ad</id>
<content type='text'>
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 &lt;rutherther@ditigal.xyz&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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 &lt;rutherther@ditigal.xyz&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>system: install: Remove current-guix url override.</title>
<updated>2025-12-22T22:00:46+00:00</updated>
<author>
<name>Rutherther</name>
<email>rutherther@ditigal.xyz</email>
</author>
<published>2025-12-16T11:24:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=e2857e21fa54ff72b4adabf95841d61fb820d55f'/>
<id>e2857e21fa54ff72b4adabf95841d61fb820d55f</id>
<content type='text'>
Prefer parameterization of current-guix in release artifacts
generation.

* gnu/system/install.scm (%installation-service): Use (current-guix)
directly in guix service configuration.

Change-Id: Ifa363465e6a4f6936d0e51eaf1b33872519e2b0a
Signed-off-by: Rutherther &lt;rutherther@ditigal.xyz&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Prefer parameterization of current-guix in release artifacts
generation.

* gnu/system/install.scm (%installation-service): Use (current-guix)
directly in guix service configuration.

Change-Id: Ifa363465e6a4f6936d0e51eaf1b33872519e2b0a
Signed-off-by: Rutherther &lt;rutherther@ditigal.xyz&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>system: installation-os: Support efi-only.</title>
<updated>2025-12-22T22:00:39+00:00</updated>
<author>
<name>Rutherther</name>
<email>rutherther@ditigal.xyz</email>
</author>
<published>2025-12-01T07:15:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=5623e6331342c232a6816073bae9e3d9928ac884'/>
<id>5623e6331342c232a6816073bae9e3d9928ac884</id>
<content type='text'>
Aarch64 doesn't support grub-pc, so we cannot
use the regular grub-bootloader, grub-efi-bootloader
has to be used.

Since neither packages nor bootloader are thunked,
there seems to be no other choice than using something
from the outside environment, such as an environment
variable to decide what bootloader to use.

For convenience, a procedure is made to be used from
other Guile code, instead of relying on environment
variables.

* gnu/system/install.scm
(make-installation-os): New variable; Use grub-efi-bootloader when
efi-only? is #t; Use bootloader package in packages instead of grub-pc.
(installation-os): Replace with call of make-installation-os with default
arguments.

Change-Id: I34ec8da6079617f39805b3e1168bad4a42d84cab
Signed-off-by: Rutherther &lt;rutherther@ditigal.xyz&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Aarch64 doesn't support grub-pc, so we cannot
use the regular grub-bootloader, grub-efi-bootloader
has to be used.

Since neither packages nor bootloader are thunked,
there seems to be no other choice than using something
from the outside environment, such as an environment
variable to decide what bootloader to use.

For convenience, a procedure is made to be used from
other Guile code, instead of relying on environment
variables.

* gnu/system/install.scm
(make-installation-os): New variable; Use grub-efi-bootloader when
efi-only? is #t; Use bootloader package in packages instead of grub-pc.
(installation-os): Replace with call of make-installation-os with default
arguments.

Change-Id: I34ec8da6079617f39805b3e1168bad4a42d84cab
Signed-off-by: Rutherther &lt;rutherther@ditigal.xyz&gt;
</pre>
</div>
</content>
</entry>
</feed>
