The underlying problem for system containers still hasn't been
solved, the part of issue 78356 that has been solved is only
home containers.
This reverts commit cbc35fd9aa.
This is a work around for #4788 (previously https://issues.guix.gnu.org/78356).
* gnu/system/linux-container.scm (container-script): Disable lock-mounts?
Change-Id: Ib8eacfc1f1f1a858acf19beb6c14e12c4648b8d9
Follow up of: ca0ed91b40 where the root argument has been omitted.
This leads to an error, because initialize-efi32-partition expects
`root` as first argument, while `#:grub-efi32` was given.
Fixes: #4634.
* gnu/system/image.scm (esp32-partition/grub): Pass 'root' as first argument
to initialize-efi32-partition.
Change-Id: Ia839f40444304c229aef33e996c66c8209e42dda
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
* gnu/system/image.scm (bootloader-uses-grub-efi?):
Check by symbol names, not by bounded symbols.
Change-Id: Ia50b07a160ca9c081c9e4cb5e3d6ebdabc89ad4c
Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
Instead of passing down grub-efi in system-disk-image,
pass it down only where it's necessary - in esp partitions.
Since the esp partitions are only for grub, I renamed them
so that it's more clear to future users of them. They
do not check the bootloader of os at all, they always
initialize grub.
Followup of 1dfe1ebdf6,
fixing regression for mbr-hybrid images.
Fixes: #4538.
* guix/system/image.scm
(esp-partition/grub): Rename from esp-partition; Pass grub-efi to
initialize-efi-partition.
(esp32-partition/grub): Rename from esp32-partition; Pass grub32-efi to
initialize-efi-partition.
(esp-partition, (esp32-partition): Deprecate.
(system-disk-image): Do not supply grub-efi arguments.
Change-Id: I336c3144e8efc3ce872031e631d64d3708546ff8
Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
* gnu/system/image.scm (system-disk-image)[partition-image]: In the
initializer don't unconditionally refer to grub-efi and grub-efi32
unless they might be needed.
Change-Id: I6eca21e162c233cd57e840a525788af831ad6b6b
* gnu/system/image.scm (system-disk-image)[partition-image]: When
testing if a partition needs to be GPT formatted, factor out the test
for an grub-efi based bootloader.
(bootloader-uses-grub-efi?): New variable.
Change-Id: I62de5962b1246dcec15f0851e58234497d1426d9
* gnu/system/linux-container.scm (container-script): Accept pid-file command
line option to write out the container's process ID.
* doc/guix.texi (Invoking guix system): Document new option.
Change-Id: I93e8a99b39c1dd831f116104bf92c723d96c9965
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
This allows remounting file systems which are already mounted by
the initrd with custom mount options (e.g. /proc with hidepid=2).
* gnu/build/file-systems.scm (mount-flags->bit-mask): Map 'remount
to MS_REMOUNT.
* gnu/system/file-systems.scm (invalid-file-system-flags): Add
'remount to the list of KNOWN-FLAGS.
* doc/guix.texi (File Systems): Document it.
Fixes: guix/guix#3849
Change-Id: I0ab116a5b4f7bd201e955ecf022e260c63828dc4
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
This issue should now be resolved, with a test guarding it from re-appearing.
* gnu/system/linux-container.scm (container-script) [#:lock-mounts]: Delete
argument.
Change-Id: I93e94a0ee349c53967275b82e1a9a5bcc8e8f65c
This provides more appropriate defaults for today. This change affects
/etc/bashrc, /etc/skel/.bashrc, along with ~/.bashrc for Home users.
* gnu/system/shadow.scm (%default-bashrc): Set ‘HISTSIZE’.
Change-Id: I4ffa7ad75c6f39f3f36d5a15ce420eae52e241e5
The /dev/vda1 partition points to an EFI partition.
The /run/current-system/configuration.scm will then point to an incorrect
partition - to the EFI partition instead of root partition. Fix that by
pointing it to the default root-label "Guix_image".
This allows users to reconfigure out of the /run/current-system/configuration.scm.
* gnu/system/examples/vm-image.tmpl: Switch root filesystem device
to /dev/vda2.
Change-Id: I983892fb3c860dc5bbb2a1654d28db83e88d8c1a
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Follow up of 94c9e53fa4 that made similar change, but in
gnu/system/install.scm.
Change local checkout url for the default channel url to ensure release images
will not leak local checkout url.
* gnu/system/examples/vm-image.tmpl: Change channel of
‘guix’ package to inherit from ‘%default-guix-channel’.
Change-Id: I1c633b44cfa067cae1d2948e7e7ef6922995c27d
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
This reverts commits 437bb9ece5 and
a57ed987ff, which were reported in
guix/guix#1169 to occasionally cause errors like:
guix shell: error: unshare : 268566528: Invalid argument
Allow passing extra options to the 'cryptsetup open' command.
* gnu/system/mapped-devices.scm (luks-device-mapping-with-options):
[#:extra-options]: New argument.
(open-luks-device): Use it.
(check-luks-device): Validate it.
* doc/guix.texi (Mapped Devices): Document it.
* gnu/tests/install.scm (%test-encrypted-root-extra-options-os): New
test for it, as well as the previously untested #:allow-discards?
option.
(%encrypted-root-extra-options-os): New os declaration for the test.
Change-Id: I265a431efb0c81ed7cfc984344c6b8a4cc2f1624
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Fixesguix/guix#1926.
‘guix system vm’ would so far produce a system without the
‘file-system-/gnu/store’ Shepherd service, which is normally provided by
‘%immutable-store’. This would lead to an error for OS configs that
explicitly require ‘file-system-/gnu/store’, such as those that use
‘qemu-binfmt-service-type’.
* gnu/system/vm.scm (virtualized-operating-system)[user-file-systems]: Remove
filtering of TARGET = (%store-prefix).
Reported-by: Ashvith Shetty <ashvithshetty0010@zohomail.in>
Change-Id: I656df6c3f067e47cd7acd03af437fe757db286d5
The linux kernel has renamed the crc32_generic module to
crc32_cryptoapi. This fixes the f2fs-root-os system test.
* gnu/system/linux-initrd.scm (file-system-type-modules): update module
name
Change-Id: I73a135e453434e726ea9d3ff99ab1a83b4810a10
Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
This reverts changes from d72eef9c91 that
were inadvertently committed.
* gnu/system/examples/bare-bones.tmpl: Remove Cuirass.
Change-Id: I29253dce841479bbddef00756a0f6bd57694dfae
This reverts commit a7db92d9b3, this time with
the more careful command, to avoid a world rebuild:
grep -rl --exclude-dir=build --exclude-dir=patches --exclude=ld-wrapper.in \
--exclude=sitecustomize.py --exclude=guix-emacs.el maxim.cournoyer@gmail.com |
xargs sed -i 's/maxim.cournoyer@gmail.com/maxim@guixotic.coop/g'
Change-Id: I0871f5cf9ace79e34e78e24154d0da6ea95a3a91
The change was automated via:
git grep -l maxim.cournoyer@gmail.com |
xargs sed -i 's/maxim.cournoyer@gmail.com/maxim@guixotic.coop/g'
* .mailmap: New entry.
Change-Id: Iaa88b1e51c94159c49138fb43910badb990eb169
This is made so that the source can be shared without introducing module
circular dependencies.
* gnu/packages/certs.scm (nss-certs)
(nss-certs-for-test): Move to...
* gnu/packages/nss.scm: ... here.
Adjust the module imports via:
git grep -l '(gnu packages certs)' |
xargs sed 's/(gnu packages certs)/(gnu packages nss)/' -i
Change-Id: I56d7bc52ddcdffbced8a162e8db8ea5071b0cb0f
This matches the libc users will usually be upgrading from.
* gnu/system/locale.scm (%default-locale-libcs): Replace ‘glibc-2.35’
with ‘glibc-2.39’.
Change-Id: I21c291054cd0948ced2f17e951e97f6db7116688
Fixes <https://issues.guix.gnu.org/70826>.
When using ‘luks-device-mapping-with-options’, procedures such as
‘operating-system-boot-mapped-devices’ would fail to identify LUKS
mapped devices because they would check whether the mapped device type
is ‘eq?’ to ‘luks-device-mapping’.
This addresses that by ensuring mapped devices are always of the
‘luks-device-mapping’ type, even when different options are used.
* gnu/system/mapped-devices.scm (close-luks-device): Add #:rest.
(luks-device-mapping-with-options): Deprecate.
* gnu/tests/install.scm (%encrypted-home-os-key-file): Update
accordingly.
* doc/guix.texi (Mapped Devices): Document use of the ‘arguments’ field
of ‘luks-device-mapping’. Remove ‘luks-device-mapping-with-options’
documentation.
(Bootloader Configuration): Update example with key file in extra
initrd.
Change-Id: I5442908cb8ef4e3891dbb053cccf5e42b895486f
Reported-by: Tadhg McDonald-Jensen <tadhgmister@gmail.com>
Fixes <https://issues.guix.gnu.org/70826>.
This allows users to specify extra arguments specific to the underlying
mapped device type.
* gnu/system/mapped-devices.scm (<mapped-device>)[arguments]: New field.
(device-mapping-service-type): Honor it.
* guix/scripts/system.scm (check-mapped-devices): Likewise.
* gnu/system/linux-initrd.scm (raw-initrd): Likewise.
* doc/guix.texi (Mapped Devices): Document it.
Reported-by: 45mg <45mg.writes@gmail.com>
Change-Id: Idef5a3e68535c412f13bae9a92c81c49053d4f4a
* gnu/system/examples/devel-hurd.tmpl (guix-packages): Also remove
slirp4netns; it is a Linux-specific dependency that does not build for the
Hurd.
Change-Id: I5bca0f44b32d09dd4baa86a6d47d33133a4339c6
* gnu/packages/linux.scm (%dummy-linux-kernel-for-container): New variable.
* gnu/system/linux-container.scm (containerized-operating-system): Use it.
Change-Id: Ica49a0cd0b8ae4a78ba5fca879ae73f94e64474a
This allows specifying the following skeleton, for example:
--8<---------------cut here---------------start------------->8---
`((".config/test.txt" ,[...])
--8<---------------cut here---------------end--------------->8---
* gnu/system/shadow.scm (skeleton-directory): Create parent directory for
target.
Change-Id: I49649000bd6cdab9060f057b47a5122b17027f10
Fixes a regression introduced in c743d646ee.
Without this, the fish shell integration is broken, and PATH does not include
~/.config/guix/current/bin.
* gnu/system/shadow.scm (%default-bashrc): Fix return value.
Change-Id: I54170caeef7ae541a4901743fcdcbfb353fa09d4
Signed-off-by: Hilton Chain <hako@ultrarare.space>
Modified-by: Hilton Chain <hako@ultrarare.space>
Fixes#420.
Previously, in systems produced by ‘guix system container’, the
‘loopback’ Shepherd service would fail to start with EEXIST, because the
“lo” interface already exists in the container. This commit provides a
fake ‘loopback’ Shepherd service that does nothing.
* gnu/system/linux-container.scm (dummy-networking-service-type): Change
to honor its configuration value.
(containerized-operating-system)[services-to-drop]: Add
‘static-networking-service-type’ in the non-‘shared-network?’ case.
[services-to-add]: Add ‘dummy-networking-service-type’ for loopback in
the non-‘shared-network?’ case.
Reported-by: Antonio Carlos Padoan Junior <acpadoanjr@yahoo.com.br>
Change-Id: I326b5f3b5e08f67b6613c186497c44b1e887b02e
Fixesguix/guix#422.
* gnu/system/install.scm (%installation-services)[guix-package-commit]:
New procedure.
<guix-configuration>: Use it instead of ‘channel-commit’.
Change-Id: I6ed5bc3f21a375e639fabfcbcdaf70b6347d1c5c
This factorizes out the remaining bashrc bits from /etc/skel/.bashrc to a the
template used for both /etc/bashrc on Guix System and ~/.bashrc for
home-bash-service-type.
Rationale: The use of /etc/skel introduce state: the file is only copied
originally when the user account is created, and never (automatically)
refreshed again.
* gnu/system.scm (operating-system-etc-service):
<profile>: Guard against souring /etc/bashrc in non-interactive, SSH case.
<bashrc>: Use %default-bashrc, having migrated the remaining definitions to...
* gnu/system/shadow.scm (%default-bashrc): ... here. Factorize aliases to...
* gnu/services.scm (%default-bash-aliases): ... here.
(%default-bashrc-d-aliases): New variable.
(%default-etc-bashrc-d-files): Include it in the default configuration.
* gnu/services/base.scm (%base-services): Register etc-bashrc-d-service-type.
* gnu/home/services/shells.scm (add-bash-configuration): Do not set PS1, now
part of %default-bashrc.
(home-bash-configuration) [guix-defaults?]: Update doc.
[aliases]: Set %default-bash-aliases as the default value. Update doc.
* doc/guix.texi (Shells Home Services): Update documentation.
(Service Reference): Update example.
Change-Id: I340c614983a78fd20a9c4a9705e7fc542ae9b513
This causes Bash to treat /etc/bashrc as a startup file, removing the need to
source /etc/bashrc from ~/.bashrc.
* gnu/packages/bash.scm (bash-fixed): New package, with added SYS_BASHRC
define.
(bash) [replacement]: Use it.
* gnu/system/shadow.scm (%default-bashrc): Do not source /etc/bashrc, now done
implicitly.
Change-Id: I5b0afd7d81653ef19c482e5501efdf7e50ef37c0