From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp2.migadu.com ([2001:41d0:303:e224::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms8.migadu.com with LMTPS id 0ECAMgcY1mXfywAAe85BDQ:P1 (envelope-from ) for ; Wed, 21 Feb 2024 16:34:32 +0100 Received: from aspmx1.migadu.com ([2001:41d0:303:e224::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp2.migadu.com with LMTPS id 0ECAMgcY1mXfywAAe85BDQ (envelope-from ) for ; Wed, 21 Feb 2024 16:34:31 +0100 X-Envelope-To: larch@yhetil.org Authentication-Results: aspmx1.migadu.com; dkim=none; spf=pass (aspmx1.migadu.com: domain of "guix-devel-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-devel-bounces+larch=yhetil.org@gnu.org"; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1708529370; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type:list-id:list-help:list-unsubscribe: list-subscribe:list-post; bh=HMK5jH1a/Sp8QW83MyDWwIkG5PTaNPNsIlPQ9ATlbbw=; b=bxyq+pZi05aHDu/IpsF8LWcxG8p3Sop64JHN2x2Wfs2lHb+W1M1cbtnDRmhufhrcN1b8zq d9i1lWK7lCQ8fNOGJGT5GHNRn53QYG53fHiu0Jwtul4VmZflB/ce/VZ/BdR1GpUcHbHpoH JNRfIFt9TKfNpjacWClL4r0HTKy7MurXhUUlNxuuAkWCEXfvyKXaR+JmhnEgRhj3VZsSVu /dQ3roG7K8VLUCN1TI44cuE8INzKGmm9jJ1ZcQ7vc4OopnU3fo511xR5005A5260/ALsMW hbb5LWPEeY825VH2HCWlWk9wSWUBUljOCxlipTYXRKJPxn3vqX7uQhv3Okq40A== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=none; spf=pass (aspmx1.migadu.com: domain of "guix-devel-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-devel-bounces+larch=yhetil.org@gnu.org"; dmarc=none ARC-Seal: i=1; s=key1; d=yhetil.org; t=1708529370; a=rsa-sha256; cv=none; b=Iw8ZWdVuZNF2SYEDgv7TO9xtGAp3mQhz37gqeb+H6xmao+QAHN6iXmF6+3w/5IaUwughVb /U3SShj+ClLItq7TYxs/eDiHLJV6gZ2teF8Fyw2RDU90x0sfyek7ehNbLCzUCw0PQb8Hvn b5lqw9hQK6HKfI4VIWj5ffL+HNyGSeFhiSahFtilh5h/1r/vqfC4zXBVw9btBx2gCsilXT dWQEIcyugE5FOWcnfaNW05wl13p43fBBiFdzszne40AEfXCzOIRtKh3nItMZB8pnTd5lC4 rV6sz2ncxQtKDmOOc/24Vt9G20rGhlDUv+lz3geib6Nuf4f9iOI4tNQXDEYABA== Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 1F05810994 for ; Wed, 21 Feb 2024 16:29:29 +0100 (CET) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rcoUQ-0002CU-RU; Wed, 21 Feb 2024 10:26:33 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rcoNL-0000sX-99 for guix-devel@gnu.org; Wed, 21 Feb 2024 10:19:11 -0500 Received: from ns13.heimat.it ([46.4.214.66]) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rcjJ2-0007Pv-IC for guix-devel@gnu.org; Wed, 21 Feb 2024 04:54:27 -0500 Received: from localhost (ip6-localhost [127.0.0.1]) by ns13.heimat.it (Postfix) with ESMTP id 28FB530022C for ; Wed, 21 Feb 2024 09:54:21 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at ns13.heimat.it Received: from ns13.heimat.it ([127.0.0.1]) by localhost (ns13.heimat.it [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Tjf0zeXqbX6L for ; Wed, 21 Feb 2024 09:54:18 +0000 (UTC) Received: from bourrache.mug.xelera.it (unknown [93.56.171.217]) (using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by ns13.heimat.it (Postfix) with ESMTPSA id 59ADF300104 for ; Wed, 21 Feb 2024 09:54:18 +0000 (UTC) Received: from roquette.mug.biscuolo.net (roquette [10.38.2.14]) by bourrache.mug.xelera.it (Postfix) with SMTP id 98A902EB6CA6 for ; Wed, 21 Feb 2024 10:54:17 +0100 (CET) Received: (nullmailer pid 6980 invoked by uid 1000); Wed, 21 Feb 2024 09:54:17 -0000 From: Giovanni Biscuolo To: guix-devel@gnu.org Subject: cannot boot after installation on VPS (via rescue system) Organization: Xelera.eu Date: Wed, 21 Feb 2024 10:54:16 +0100 Message-ID: <87zfvu5eif.fsf@xelera.eu> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="==-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" Received-SPF: pass client-ip=46.4.214.66; envelope-from=g@xelera.eu; helo=ns13.heimat.it X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: guix-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+larch=yhetil.org@gnu.org Sender: guix-devel-bounces+larch=yhetil.org@gnu.org X-Migadu-Country: US X-Migadu-Flow: FLOW_IN X-Migadu-Scanner: mx12.migadu.com X-Migadu-Spam-Score: -6.77 X-Spam-Score: -6.77 X-Migadu-Queue-Id: 1F05810994 X-TUID: TC57gh6af/5W --==-=-= Content-Type: multipart/mixed; boundary="=-=-=" --=-=-= Content-Type: text/plain Hello, following the good guidelines from (info "(guix-cookbook) Running Guix on a Kimsufi Server") and (info "(guix-cookbook) Running Guix on a Linode Server") I'm developing a shell script to automate the "manual" installation of Guix on bare metal and VPS, you can find it attached to this email as bootstrap-guix.sh or at this git repo URL: https://gitlab.com/softwareworkers/swws/-/blob/master/infrastructure/hosts/cornouiller/bootstrap-guix.sh?ref_type=heads --=-=-= Content-Type: text/x-sh; charset=utf-8 Content-Disposition: attachment; filename=bootstrap-guix.sh Content-Transfer-Encoding: quoted-printable #!/bin/bash # Copyright =C2=A9 2023 Giovanni Biscuolo # # bootstrap-guix.sh is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License as # published by the Free Software Foundation; either version 3 of the # License, or (at your option) any later version. # # bootstrap-guix.sh is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # General Public License for more details. # # A copy of the GNU General Public License is available at # . # bootstrap-guix.sh is a very opinionated script to install Guix # System on a host booted in "rescue" mode # # The system is installed on a single disk BTRFS filesystem # Used variables MUST be initialized. set -o nounset # --------------------------------------------------------------------- # Variables # Disks # TODO: transform this in array TARGET_DISKS[TARGET_NUMDISKS], for multi di= sk setups export TARGET_NUMDISKS=3D1 export TARGET_DISK_PART_SUFFIX=3D"" export TARGET_DISK1=3D"/dev/sda" export TARGET_SWAP_SIZE=3D"6GB" # Hostname export TARGET_HOSTNAME=3D"cornouiller" # User and pub key (only one admin user for basic installation) export TARGET_USERNAME=3D"g" export TARGET_USERGECOS=3D"Giovanni Biscuolo" TARGET_USERKEY=3D"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICqpr0unFxPo2PnQTmmO2= dIUEECsCL3vVvjhk5Dx80Yb g@xelera.eu" # -------------------------------------------------------------------- # Source os-release information test -e /etc/os-release && os_release=3D'/etc/os-release' || os_release=3D'= /usr/lib/os-release' . "${os_release}" echo "### INFO - Detected GNU/Linux distribution: ${PRETTY_NAME}." # --------------------------------------------------------------------- # Get package dependencies export AUTO_INSTALLED=3D0 if [ $AUTO_INSTALLED -eq 0 ]; then # Install dependencies with Guix, if available if command -v guix &> /dev/null; then echo "### INFO - Installing dependencies via guix..." guix install util-linux parted dosfstools btrfs-progs gnupg export AUTO_INSTALLED=3D1 echo "### END - Installing dependencies via guix." fi fi if [ $AUTO_INSTALLED -eq 0 ]; then # Install dependencies with apt, if available if command -v apt &> /dev/null; then echo "### INFO - Installing dependencies via apt..." apt install util-linux parted dosfstools btrfs-progs gnupg export AUTO_INSTALLED=3D1 echo "### END - Installing dependencies via apt." fi fi # Give up installing and notify users if [ $AUTO_INSTALLED -eq 0 ] ; then echo "### INFO - I'm not able to automatically install dependencies on = ${PRETTY_NAME}." echo "Please check you have the following commands available: wipefs, p= arted, mkfs.fat, mkswap, mkfs.btrfs, btrfs, gpg." echo "### END - Checking dependencies." fi # Abort on any error, from now set -e=20 # ########################### # DO NOT EDIT this variables # unless for debugging # (minimal) OS configuration file name export OS_CONFIG_FILE=3D"bootstrap-config.scm" # Target OS mount point export TARGET_MOUNTPOINT=3D"/mnt/guix" # --------------------------------------------------------------------- # Prepare the target system filesystem echo "### START - Downloading guix install script." wget https://git.savannah.gnu.org/cgit/guix.git/plain/etc/guix-install.sh chmod +x guix-install.sh echo "### END - Downloading guix install script."=20=20 # --------------------------------------------------------------------- # Prepare the target system filesystem # Wipe the disks # TODO: use the array TARGET_DISKS[] echo "### START - Wiping disks." wipefs -af ${TARGET_DISK1}* echo "### END - Wiping disks." # Partition the disks echo "### START - EFI system check." if [ -e "/sys/firmware/efi/efivars" ]; then IS_EFI=3Dtrue echo "System is EFI based. ($IS_EFI)" else IS_EFI=3Dfalse echo "System is BIOS grub based. ($IS_EFI)" fi echo "### END - EFI system check." ## Disk 1 echo "### START - partitioning ${TARGET_DISK1}." parted ${TARGET_DISK1} --align=3Dopt -s -m -- mklabel gpt # partition p1 will be system boot if $IS_EFI; then # EFI system partition BOOT_SIZE=3D"501MiB" parted ${TARGET_DISK1} --align=3Dopt -s -m -- \ mkpart primary fat32 1MiB $BOOT_SIZE \ name 1 EFI-system \ set 1 esp on else # BIOS grub system partition BOOT_SIZE=3D"5MiB" parted ${TARGET_DISK1} --align=3Dopt -s -m -- \ mkpart grub 1MiB $BOOT_SIZE \ name 1 grub-1 \ set 1 bios_grub on fi # partition p2 will be swap parted ${TARGET_DISK1} --align=3Dopt -s -m -- \ mkpart primary linux-swap $BOOT_SIZE ${TARGET_SWAP_SIZE} \ name 2 swap-1 # partition p3 will be BTRFS device parted ${TARGET_DISK1} --align=3Dopt -s -m -- \ mkpart primary btrfs ${TARGET_SWAP_SIZE} 100% \ name 3 BTRFS partprobe ${TARGET_DISK1} sleep 5s # Needed sometimes to allow new partition access echo "### END - partitioning ${TARGET_DISK1}." # Create FAT32 filesystem on p1 if it's EFI system if $IS_EFI; then echo "### START - Making EFI filesystem" mkfs.fat -F32 ${TARGET_DISK1}${TARGET_DISK_PART_SUFFIX}1 fatlabel ${TARGET_DISK1}${TARGET_DISK_PART_SUFFIX}1 "EFI-system" echo "### END - Making EFI filesystem"=20=20=20=20 fi # Make swap on p2 partitions and turn them on echo "### START - Making swap." mkswap ${TARGET_DISK1}${TARGET_DISK_PART_SUFFIX}2 # swaplabel -L "swap-1" ${TARGET_DISK1}${TARGET_DISK_PART_SUFFIX}2 swapon ${TARGET_DISK1}${TARGET_DISK_PART_SUFFIX}2 echo "### END - Making swap." # Create BTRFS filesystem echo "### START - Making BTRFS flesystem and subvolumes." mkfs.btrfs -f ${TARGET_DISK1}${TARGET_DISK_PART_SUFFIX}3 # btrfs filesystem label ${TARGET_DISK1}${TARGET_DISK_PART_SUFFIX}3 "root" # Mount the target Guix System root mkdir -p ${TARGET_MOUNTPOINT} mount -o compress=3Dzstd ${TARGET_DISK1}${TARGET_DISK_PART_SUFFIX}3 ${TARGE= T_MOUNTPOINT} # Create subvolumes for target system # btrfs subvolume create ${TARGET_MOUNTPOINT}/var # btrfs subvolume create ${TARGET_MOUNTPOINT}/home # btrfs subvolume create ${TARGET_MOUNTPOINT}/srv # btrfs subvolume create ${TARGET_MOUNTPOINT}/root # btrfs subvolume create ${TARGET_MOUNTPOINT}/gnu echo "### END - Making BTRFS flesystem and subvolumes." # Mount the ESP on /boot/efi if $IS_EFI; then echo "### START - Mounting EFI filesystem" mkdir -p ${TARGET_MOUNTPOINT}/boot/efi mount ${TARGET_DISK1}${TARGET_DISK_PART_SUFFIX}1 ${TARGET_MOUNTPOINT}/b= oot/efi echo "### END - Mounting EFI filesystem"=20=20=20=20 fi # --------------------------------------------------------------------- # Prepare basic OS configuration echo "### START - Creating basic Guix system config in ${OS_CONFIG_FILE}." if $IS_EFI; then BOOTLOADER_SCM=3D" (bootloader (bootloader-configuration (bootloader grub-efi-bootloader) (targets (list \"/boot/efi\")) (keyboard-layout keyboard-layout)))" =09=20=20=20=20=20=20=20=20=20=20=20=20=20 else BOOTLOADER_SCM=3D" (bootloader (bootloader-configuration (bootloader grub-bootloader) (targets (list \"${TARGET_DISK1}\")) (keyboard-layout keyboard-layout)))" fi EFI_FS_SCM=3D"" if $IS_EFI; then EFI_FS_SCM=3D" (file-system (mount-point "/boot/efi") (device (file-system-label "EFI-system" 'fat)) (type "vfat"))" fi # Heredoc with scheme OS configuration cat > ${OS_CONFIG_FILE} << EO_CONFIG ;; Very basic Guix System (use-modules (gnu)) (use-service-modules admin networking ssh linux) ;; Definitions (define (sysadmin name full-name) (user-account (name name) (comment full-name) (group "users") (supplementary-groups '("wheel" "kvm")) (home-directory (string-append "/home/" name)))) (define %accounts (list (sysadmin "${TARGET_USERNAME}" "${TARGET_USERGECOS}"))) ;; operating-system (operating-system (locale "en_US.utf8") (timezone "Europe/Rome") (keyboard-layout (keyboard-layout "it" "winkeys")) (host-name "${TARGET_HOSTNAME}") ${BOOTLOADER_SCM} (file-systems (append (list (file-system (mount-point "/") (device "${TARGET_DISK1}${TARGET_DISK_PART_SUFFIX}3") (type "btrfs") (options "compress=3Dzstd")) ${EFI_FS_SCM}) %base-file-systems)) =20=20 (swap-devices (list (swap-space (target "${TARGET_DISK1}${TARGET_DISK_PART_SUFFIX}2"))= )) (issue ;; Default contents for /etc/issue. "\\ This a Guix system. Welcome.\n") (users (append %accounts %base-user-accounts)) (sudoers-file (plain-file "sudoers" "\\ root ALL=3D(ALL) ALL %wheel ALL=3D(ALL) ALL\n")) ;; Globally-installed packages. (packages (append (list (specification->package "st") (specification->package "nss-certs")) %base-packages)) (services (append %base-services (list (service dhcp-client-service-type) (service openssh-service-type (openssh-configuration (port-number 22) (password-authentication? #f) (permit-root-login 'prohibit-password) (extra-content "ListenAddress 0.0.0.0") (authorized-keys \`(("${TARGET_USERNAME}" ,(plain-file "${TARGET_USERNAME}.p= ub" "${TARGET_USERKEY}")) ("root" ,(plain-file "${TARGET_USERNAME}.pub" "${= TARGET_USERKEY}")))))))))) EO_CONFIG echo "### END - Creating basic Guix system config." # --------------------------------------------------------------------- # Mount the /gnu store copy-on-write using ${TARGET_MOUNTPOINT} echo "### START - Mounting cow-store" if [ "${ID:-linux}" =3D "guix" ]; then herd start cow-store ${TARGET_MOUNTPOINT} else # Make the store copy-on-write, using TARGET as the backing store. # This is useful when TARGET is on a hard disk, whereas the current # store is on a RAM disk. Ported from mount-cow-store in # gnu/build/install.scm, used by "herd start cow-store". mkdir -p /gnu/store RWDIR=3D${TARGET_MOUNTPOINT}/tmp/guix-inst WORKDIR=3D${RWDIR}/../.overlayfs-workdir mkdir -p ${RWDIR} mkdir -p ${WORKDIR} chmod 775 ${RWDIR} mount -t overlay -o lowerdir=3D/gnu/store,upperdir=3D${RWDIR},workdir= =3D${WORKDIR} overlay /gnu/store # systemctl daemon-reload # FIXME: is this needed?!? fi echo "### END - Mounting cow-store" # Collect some partitioning and mount points info mount > bootstrap-mount-points.txt lsblk -f ${TARGET_DISK1} -J > bootstrap-lsblk-`basename ${TARGET_DISK1}`.js= on # --------------------------------------------------------------------- # Install GNU Guix if needed if [ "${ID:-linux}" =3D "guix" ]; then echo "### INFO - No need to install the guix binary." else # --------------------------------------------------------------------- # Install guix using binary installation echo "### START - Installing guix binary." ./guix-install.sh hash guix echo "### END - Installing guix binary."=20=20 fi guix describe > bootstrap-guix-version.txt # --------------------------------------------------------------------- # Install Guix on target filesystem echo "### START - Installing Guix on ${TARGET_MOUNTPOINT}" mkdir ${TARGET_MOUNTPOINT}/etc/ cp bootstrap-mount-points.txt ${TARGET_MOUNTPOINT}/etc/ cp bootstrap-lsblk-*.json ${TARGET_MOUNTPOINT}/etc/ cp bootstrap-guix-version.txt ${TARGET_MOUNTPOINT}/etc/ cp ${OS_CONFIG_FILE} ${TARGET_MOUNTPOINT}/etc/config.scm guix system init ${TARGET_MOUNTPOINT}/etc/config.scm ${TARGET_MOUNTPOINT} echo "### END - Installing Guix on ${TARGET_MOUNTPOINT}" # FIXME: umount cow-store and delete tmp files # --------------------------------------------------------------------- # End game echo "" echo "### DONE! - Target system in ${TARGET_MOUNTPOINT} is ready..." echo "" echo "Please remember to copy ${OS_CONFIG_FILE} to a safe remote location" echo "" echo "...and reboot to start your new Guix System! Bye." --=-=-= Content-Type: text/plain The main purpose of the script is to allow me to install Guix on machines (bare metal or virtual) hosted by vendors who do not offer Guix in their OS installation options, since almost all vendors provides a rescue system that can be used to "manually" set up the environment, partition the target disk and lastly "guix system init..." I've extensively tested the script locally (on bare metal and QEMU VMs), both booting the machines via grml [1] and Guix install image and it works as expected; I've also used it to install Guix on some bare metal. Now I'm trying to use it on two VPS from two different vendors, booted in rescue mode, but after the installation (via bootstrap-guix.sh) when I reboot the VPS I get the usual grub menu but the boot process suddenly fails with this error (manually copied from web console, sorry for possible typos): --8<---------------cut here---------------start------------->8--- Scanning for Btrfs filesystems ice-9/boot9.scm:1685:16: In procedure raise-exception: In procedure mount: No such file or directory GRUB loading... Entering a new prompt. Type ',bt' for a backtrace or ',q' to continue. [...] scheme@(guile-user)> ,bt In gnu/build/linux-boot.scm: 637:8 3 (_) 435:8 2 (mount-root-filesystem "/dev/sda3" "btrfs" # _ #:flags ?) In unknown file: 1 (mount "/dev/sda3" "/root" "btrfs" 0 "compress=zstd") In ice-9/boot9.scm: 1685:16: 0 (raise-exception _ #:continuable? _) --8<---------------cut here---------------end--------------->8--- In particular, I don't understand why the boot script is trying to mount the root filesystem at "/root" and not at "/" as it should: am I missing something? I suspect that the issue depends on how the rescue system root is mounted (overlay filesystem) but I'm not sure; I cannot find a solution. I'm also attaching: - bootstrap-config.scm: automatically generated by the script and used by "guix system init..." --=-=-= Content-Type: text/x-script.guile Content-Disposition: attachment; filename=bootstrap-config.scm Content-Transfer-Encoding: quoted-printable ;; Very basic Guix System (use-modules (gnu)) (use-service-modules admin networking ssh linux) ;; Definitions (define (sysadmin name full-name) (user-account (name name) (comment full-name) (group "users") (supplementary-groups '("wheel" "kvm")) (home-directory (string-append "/home/" name)))) (define %accounts (list (sysadmin "g" "Giovanni Biscuolo"))) ;; operating-system (operating-system (locale "en_US.utf8") (timezone "Europe/Rome") (keyboard-layout (keyboard-layout "it" "winkeys")) (host-name "cornouiller") =20=20 (bootloader (bootloader-configuration (bootloader grub-bootloader) (targets (list "/dev/sda")) (keyboard-layout keyboard-layout))) (file-systems (append (list (file-system (mount-point "/") (device "/dev/sda3") (type "btrfs") (options "compress=3Dzstd")) ) %base-file-systems)) =20=20 (swap-devices (list (swap-space (target "/dev/sda2")))) (issue ;; Default contents for /etc/issue. "\ This a Guix system. Welcome.\n") (users (append %accounts %base-user-accounts)) (sudoers-file (plain-file "sudoers" "\ root ALL=3D(ALL) ALL %wheel ALL=3D(ALL) ALL\n")) ;; Globally-installed packages. (packages (append (list (specification->package "st") (specification->package "nss-certs")) %base-packages)) (services (append %base-services (list (service dhcp-client-service-type) (service openssh-service-type (openssh-configuration (port-number 22) (password-authentication? #f) (permit-root-login 'prohibit-password) (extra-content "ListenAddress 0.0.0.0") (authorized-keys `(("g" ,(plain-file "g.pub" "ssh-ed25519 AAAAC3NzaC1lZDI1NT= E5AAAAICqpr0unFxPo2PnQTmmO2dIUEECsCL3vVvjhk5Dx80Yb g@xelera.eu")) ("root" ,(plain-file "g.pub" "ssh-ed25519 AAAAC3N= zaC1lZDI1NTE5AAAAICqpr0unFxPo2PnQTmmO2dIUEECsCL3vVvjhk5Dx80Yb g@xelera.eu")= ))))))))) --=-=-= Content-Type: text/plain - bootstrap-mount-points.txt: automatically collected during installation --=-=-= Content-Type: text/plain Content-Disposition: attachment; filename=bootstrap-mount-points.txt proc on /proc type proc (rw,nosuid,nodev,noexec,relatime) sys on /sys type sysfs (rw,nosuid,nodev,noexec,relatime) udev on /dev type devtmpfs (rw,relatime,size=1956752k,nr_inodes=489188,mode=755) devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000) [2a01:4ff:ff00::b007:1]:/nfs on /root/.oldroot/nfs type nfs (ro,noatime,vers=3,rsize=8192,wsize=8192,namlen=255,acregmin=600,acregmax=600,acdirmin=600,acdirmax=600,hard,nocto,nolock,noresvport,proto=tcp6,timeo=600,retrans=2,sec=sys,mountaddr=2a01:4ff:ff00::b007:1,mountvers=3,mountproto=tcp6,local_lock=all,addr=2a01:4ff:ff00::b007:1) overlay on / type overlay (rw,relatime,lowerdir=/nfsroot,upperdir=/ramfs/root,workdir=/ramfs/work,uuid=on) securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime) tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev) devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000) tmpfs on /run type tmpfs (rw,nosuid,nodev,size=786480k,nr_inodes=819200,mode=755) tmpfs on /run/lock type tmpfs (rw,nosuid,nodev,noexec,relatime,size=5120k) cgroup2 on /sys/fs/cgroup type cgroup2 (rw,nosuid,nodev,noexec,relatime,nsdelegate,memory_recursiveprot) pstore on /sys/fs/pstore type pstore (rw,nosuid,nodev,noexec,relatime) systemd-1 on /proc/sys/fs/binfmt_misc type autofs (rw,relatime,fd=28,pgrp=1,timeout=0,minproto=5,maxproto=5,direct) tracefs on /sys/kernel/tracing type tracefs (rw,nosuid,nodev,noexec,relatime) hugetlbfs on /dev/hugepages type hugetlbfs (rw,relatime,pagesize=2M) mqueue on /dev/mqueue type mqueue (rw,nosuid,nodev,noexec,relatime) debugfs on /sys/kernel/debug type debugfs (rw,nosuid,nodev,noexec,relatime) ramfs on /run/credentials/systemd-sysusers.service type ramfs (ro,nosuid,nodev,noexec,relatime,mode=700) fusectl on /sys/fs/fuse/connections type fusectl (rw,nosuid,nodev,noexec,relatime) configfs on /sys/kernel/config type configfs (rw,nosuid,nodev,noexec,relatime) binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,nosuid,nodev,noexec,relatime) ramfs on /run/credentials/systemd-tmpfiles-setup-dev.service type ramfs (ro,nosuid,nodev,noexec,relatime,mode=700) ramfs on /run/credentials/systemd-tmpfiles-setup.service type ramfs (ro,nosuid,nodev,noexec,relatime,mode=700) ramfs on /run/credentials/systemd-sysctl.service type ramfs (ro,nosuid,nodev,noexec,relatime,mode=700) tracefs on /sys/kernel/debug/tracing type tracefs (rw,nosuid,nodev,noexec,relatime) tmpfs on /run/user/0 type tmpfs (rw,nosuid,nodev,relatime,size=393236k,nr_inodes=98309,mode=700) /dev/sda3 on /mnt/guix type btrfs (rw,relatime,compress=zstd:3,ssd,discard=async,space_cache=v2,subvolid=5,subvol=/) overlay on /gnu/store type overlay (rw,relatime,lowerdir=/gnu/store,upperdir=/mnt/guix/tmp/guix-inst,workdir=/mnt/guix/tmp/guix-inst/../.overlayfs-workdir,uuid=on) --=-=-= Content-Type: text/plain Content-Transfer-Encoding: quoted-printable You can find all the files also here: https://gitlab.com/softwareworkers/swws/-/tree/master/infrastructure/hosts/= cornouiller?ref_type=3Dheads Any idea please? :-O Happy hacking! Gio' [1] https://grml.org/, a rescue system based on Debian =2D-=20 Giovanni Biscuolo Xelera IT Infrastructures --=-=-=-- --==-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQJABAEBCgAqFiEERcxjuFJYydVfNLI5030Op87MORIFAmXVyEkMHGdAeGVsZXJh LmV1AAoJENN9DqfOzDkSvXIQAM6xb6zo0M5JIglVpemQOT2wnViD3b8BiRWUCM8D Ggt676Ur5OhFgK0lLGhpgtxIp0ukSCA/8l8je8DAkhOnDIzYZmKz0pgi1UWsmFEw smu+qN9inlCn789w6ADlqDdorYYns7dd1UFdFZmPylitEpV7ouSzqrVD8l03pHL9 liJosBtqTyV55Jk5optG6+bAKoALIZJJnqeziYbUclJvVpkXb5kpgucgH8WSVo3a 8rZ8vsXJ9grukIXrCIpxFShnJ2b4c0TsCPD6C3cWA6o8YB0Ugm0CUiLTg407XOxG ML7kuBWoVOL4prMI61XNaHy0YfbiCMf5iA5x66dQ8ICK41o87eVAIelvHYqCtE3C 1fwmDu+QiYOTwRzgNqAK6ShVXSjzPO37bRyHhRn409agWueFuHkPZ3ztuM38K9IN bz3Zq6nazr0hK+NaAhfvTSY3XvjB6sxACHxvFrnbYvAz+uZOzWVca6tYGfSc/T9X vB50KYijaEy2HXcheGqAQiNLyKCsAuJoi2glOM0tnLvq4SSR2umf+rsEOnQlssYx J28XqQvHdFKae4xui29RgdTkAUtWrfSvhNoav/ioLjDon+JgoPiVvAeBUBvaY6eU E8Id25uby2qx1ORT4rZ33U1ytWxcng3XwKg4dgPxAxqdMJo/vqZPr76j0Xyps1+y wV6/ =etQx -----END PGP SIGNATURE----- --==-=-=--