* Installing Guix System on Honeycomb LX2 (aarch64)
@ 2021-11-24 16:36 Ricardo Wurmus
0 siblings, 0 replies; only message in thread
From: Ricardo Wurmus @ 2021-11-24 16:36 UTC (permalink / raw)
To: help-guix
[-- Attachment #1: Type: text/plain, Size: 393 bytes --]
Hi,
I’m trying to install Guix System on three aarch64 machines that
are supposed to join the build farm. I followed the instructions
at [1] to boot and flash Ubuntu onto the SSD. Then I installed
Guix with the installer script at https://guix.gnu.org/install.sh.
And then I tried installing a honeycomb system with the attached
module for the maintenance.git repository.
[-- Attachment #2: honeycomb.scm --]
[-- Type: application/octet-stream, Size: 9179 bytes --]
;;; SolidRun Honeycomb LX2 build machines.
;;;
;;; Copyright © 2016, 2017, 2018, 2020, 2021 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2020, 2021 Mathieu Othacehe <othacehe@gnu.org>
;;; Copyright © 2021 Christopher Baines <mail@cbaines.net>
;;; Copyright © 2021 Ricardo Wurmus <rekado@elephly.net>
;;;
;;; This program 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.
;;;
;;; This program 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.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with this program. If not, see <http://www.gnu.org/licenses/>.
(define-module (sysadmin honeycomb)
#:use-module (gnu)
#:use-module (gnu packages screen)
#:use-module (gnu packages ssh)
#:use-module (gnu packages linux)
#:use-module (gnu packages certs)
#:use-module (gnu services avahi)
#:use-module (gnu services cuirass)
#:use-module (gnu services networking)
#:use-module (gnu services mcron)
#:use-module (gnu services ssh)
#:use-module (gnu services vpn)
#:export (honeycomb-system))
(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 "ludo" "Ludovic Courtès")
(sysadmin "rekado" "Ricardo Wurmus")
(sysadmin "mathieu" "Mathieu Othacehe")
(user-account
(name "hydra")
(comment "Hydra User")
(group "users")
(home-directory (string-append "/home/" name)))))
(define %authorized-guix-keys
;; List of authorized 'guix archive' keys.
(list (local-file "../../keys/guix/berlin.guixsd.org-export.pub")))
(define %default-extra-linux-options
(@@ (gnu packages linux) %default-extra-linux-options))
(define make-linux-libre*
(@@ (gnu packages linux) make-linux-libre*))
#;
(define-public linux-libre-arm64-honeycomb
(make-linux-libre* linux-libre-version
linux-libre-source
'("aarch64-linux")
#:defconfig "defconfig"
#:extra-version "arm64-generic"
#:extra-options
(append
`(;; needed to fix the RTC on rockchip platforms
("CONFIG_RTC_DRV_RK808" . #t)
;; Pinebook display, battery, charger and usb
("CONFIG_DRM_ANALOGIX_ANX6345" . m)
("CONFIG_CHARGER_AXP20X" . m)
("CONFIG_INPUT_AXP20X_PEK" . m)
("CONFIG_CHARGER_AXP20X" . m)
("CONFIG_BATTERY_AXP20X" . m)
("CONFIG_PINCTRL_AXP209" . m)
("CONFIG_AXP20X_POWER" . m)
("CONFIG_AXP20X_ADC" . m)
("CONFIG_GPIO_SYSFS" . #t)
("CONFIG_GPIO_MPC8XXX" . #t)
("CONFIG_NET_PKTGEN" . #t)
("CONFIG_USB_SERIAL" . #t)
("CONFIG_USB_SERIAL_CONSOLE" . #t)
("CONFIG_USB_SERIAL_GENERIC" . #t)
("CONFIG_USB_SERIAL_SIMPLE" . #t)
("CONFIG_USB_SERIAL_FTDI_SIO" . #t)
("CONFIG_USB_ACM" . #t)
("CONFIG_USB_NET_DRIVERS" . #t)
("CONFIG_USB_USBNET" . #t)
("CONFIG_USB_NET_CDCETHER" . #t)
("CONFIG_USB_NET_CDC_NCM" . #t)
("CONFIG_USB_NET_NET1080" . #t)
("CONFIG_USB_NET_CDC_SUBSET_ENABLE" . #t)
("CONFIG_USB_NET_CDC_SUBSET" . #t)
("CONFIG_USB_ARMLINUX" . #t)
("CONFIG_BLK_DEV_NVME" . #t)
("CONFIG_NVMEM_BCM_OCOTP" . #t)
("CONFIG_DRM_AMDGPU" . #t)
("CONFIG_DRM_AMDGPU_SI" . #t)
("CONFIG_DRM_AMDGPU_CIK" . #t)
("CONFIG_DRM_AMDGPU_USERPTR" . #t)
("CONFIG_DRM_AMD_DC" . #t)
("CONFIG_CHASH" . #t)
("CONFIG_PMBUS" . #t)
("CONFIG_SENSORS_PMBUS" . #t)
("CONFIG_REGULATOR" . #t)
("CONFIG_REGULATOR_FIXED_VOLTAGE" . #t)
("CONFIG_REGULATOR_PWM" . #t)
("CONFIG_SENSORS_AMC6821" . #t)
("CONFIG_SENSORS_LM90" . #t)
("CONFIG_SENSORS_LTC2978" . #t)
("CONFIG_SENSORS_LTC2978_REGULATOR" . #t)
("CONFIG_TMPFS" . #t)
("CONFIG_TMPFS_POSIX_ACL" . #t)
("CONFIG_TMPFS_XATTR" . #t)
("CONFIG_BLK_DEV_RAM_SIZE=5242" . #t)
("CONFIG_POWER_RESET_GPIO" . #t)
("CONFIG_CRYPTO_USER_API_HASH" . #t)
("CONFIG_CRYPTO_USER_API_SKCIPHER" . #t)
("CONFIG_CRYPTO_USER_API_RNG" . #t)
("CONFIG_CRYPTO_USER_API_AEAD" . #t))
%default-extra-linux-options)))
(define gc-job
;; Run 'guix gc' at 3AM every day.
#~(job '(next-hour '(3)) "guix gc -F 50G"))
(define berlin-peer
(wireguard-peer
(name "peer")
(endpoint "ci.guix.gnu.org:51820")
(public-key "wOIfhHqQ+JQmskRS2qSvNRgZGh33UxFDi8uuSXOltF0=")
(allowed-ips '("10.0.0.1/32"))))
(define* (honeycomb-system name #:key wireguard-ip)
(operating-system
(host-name name)
(timezone "Europe/Berlin")
(locale "en_US.UTF-8")
(bootloader (bootloader-configuration
(bootloader grub-efi-bootloader)
(target "/boot/efi")))
#;
(kernel linux-libre-arm64-honeycomb)
(initrd-modules '())
(kernel-arguments '("arm-smmu.disable_bypass=0"))
(file-systems (cons* (file-system
(device "/dev/sda2")
(mount-point "/")
(type "ext4"))
(file-system
(device "/dev/sda1")
(mount-point "/boot/efi")
(type "vfat"))
%base-file-systems))
(swap-devices '("/swapfile"))
(users (append %accounts %base-user-accounts))
(services (cons* (service dhcp-client-service-type)
(service avahi-service-type)
(service openssh-service-type
(openssh-configuration
(password-authentication? #f)
(authorized-keys
`(("ludo" ,(local-file "../../keys/ssh/ludo.pub"))
("rekado" ,(local-file "../../keys/ssh/rekado.pub"))
("mathieu" ,(local-file "../../keys/ssh/mathieu.pub"))
("maxim" ,(local-file "../../keys/ssh/maxim.pub"))))))
(service agetty-service-type
(agetty-configuration
(tty "ttyAMA0")
(keep-baud? #t)
(term "vt220")
(baud-rate "115200,38400,9600")))
(service cuirass-remote-worker-service-type
(cuirass-remote-worker-configuration
(workers 2)
(server "10.0.0.1:5555") ;berlin
(systems '("armhf-linux" "aarch64-linux"))))
(service wireguard-service-type
(wireguard-configuration
(addresses (list wireguard-ip))
(peers
(list berlin-peer))))
(service ntp-service-type)
(modify-services %base-services
(guix-service-type config =>
(guix-configuration
(inherit config)
(max-silent-time (* 12 3600))
(timeout (* 24 3600))
(authorized-keys
%authorized-guix-keys)
(extra-options
'("--max-jobs=4" "--cores=16")))))))
(packages (cons* screen openssh strace nss-certs
%base-packages))))
[-- Attachment #3: Type: text/plain, Size: 861 bytes --]
The system definition looks like this
--8<---------------cut here---------------start------------->8---
(use-modules (sysadmin honeycomb))
(honeycomb-system "pankow"
#:wireguard-ip "10.0.0.8/32")
--8<---------------cut here---------------end--------------->8---
And I attempt to build the system with
guix system build -L modules my-system.scm
from within the ‘hydra‘ directory of the maintenance checkout.
Unfortunately, I’ll eventually always run into this error:
guix system: error: cloning builder process: Invalid argument
I already tried using a more recent daemon, but to no avail. I
worked around this by running the daemon with “--disable-chroot”,
but that’s not great.
Is this a bug? What can I do to get around it without having to
disable the chroot feature?
--
Ricardo
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2021-11-24 16:49 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-11-24 16:36 Installing Guix System on Honeycomb LX2 (aarch64) Ricardo Wurmus
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/guix.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.