unofficial mirror of help-guix@gnu.org 
 help / color / mirror / Atom feed
From: Andreas Enge <andreas@enge.fr>
To: Vagrant Cascadian <vagrant@debian.org>
Cc: help-guix@gnu.org
Subject: Re: Guix on Novena
Date: Sun, 6 Sep 2020 10:45:22 +0200	[thread overview]
Message-ID: <20200906084522.GA1900@jurong> (raw)
In-Reply-To: <87wo1c111p.fsf@ponder>

[-- Attachment #1: Type: text/plain, Size: 2386 bytes --]

Hello,

sorry for what are probably silly questions, I have difficulties wrapping
my head around how installation works. I am attaching my current
configuration, copy-pasted from our Overdrive machines and augmented
by snippets from yours, Vagrant.

Right now I am on Debian with Guix as package manager, running from the
SD card. After reading up through the last half year of guix-devel and
help-guix, I realise that I could have followed
   https://lists.gnu.org/archive/html/help-guix/2020-04/msg00051.html ;
apparently
   guix system disk-image -e "(@ (gnu system install) novena-installation-os)"
executed on an aarch64 machine should have created a bootable SD card
image with only Guix. Something to try next time! (By the way, swapping
the micro-SD card is rather finicky on this board, and I try to avoid it).

On Wed, Sep 02, 2020 at 11:33:22AM -0700, Vagrant Cascadian wrote:
> Yes, I would recommend installing Guix System directly to SATA, since
> u-boot can boot from SATA partitions marked bootable (either MBR or GPT
> though what GPT calls it I forget), and SATA will perform better, of
> course.

So far, I am using an external USB disk, which probably is not in the
boot sequence.
This is why the configuration has this:
  (bootloader (bootloader-configuration
               (bootloader u-boot-novena-bootloader)
               (target "/dev/mmcblk1")))
to boot from the SD card. By the way, why /dev/mmcblk1, which also appears
in the installation-os? Is this valid when an additional SATA disk is plugged
in? My SD card is called /dev/mmcblk0, and there are several partitions;
do I give /dev/mmcblk0 or /dev/mmcblk0p1 as the argument?

Then later I have:
  (file-systems (cons* (file-system
                         (device (uuid "f1062993-3776-47d2-8900-9e4f1d9fc8aa")) ; /dev/sda1
                         (mount-point "/")
                         (type "ext4"))
                       %base-file-systems))
so that the store and everything else should be on the disk.

Will this separation work?

Will mounting /dev/sda1 to /mnt and issuing "guix system init config.scm /mnt"
work? (The handbook suggests to do "herd start cow-store /mnt", but I forgot
what this is needed for.) Will it populate only /mnt/gnu/store, or also
/gnu/store from the place where I call "guix system init"? Since the latter
is almost full.

Thanks for your enlightenment,

Andreas


[-- Attachment #2: redhill.scm --]
[-- Type: text/plain, Size: 3545 bytes --]

;; GuixSD configuration file for the Novena build machines.
;; Copyright © 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
;; Copyright © 2019, 2020 Andreas Enge <andreas@enge.fr`
;; Released under the GNU GPLv3 or any later version.

(use-modules (guix) (gnu) (gnu bootloader u-boot))
(use-service-modules networking mcron ssh)
(use-package-modules bootloaders screen ssh linux vim)

(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 "andreas" "Andreas Enge")
        (user-account
         (name "hydra")
         (comment "Hydra User")
         (group "users")
         (home-directory (string-append "/home/" name)))
        (user-account
         (name "bayfront")
         (comment "Bayfront Offload")
         (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")
        (local-file "keys/guix/bayfront.guix.info-export.pub")))

(define gc-job
  ;; Run 'guix gc' at 3AM every day.
  #~(job '(next-hour '(3)) "guix gc -F 50G"))


;; The actual machine.

(operating-system
  (host-name "redhill")
  (timezone "Europe/Paris")
  (locale "en_US.UTF-8")

  (bootloader (bootloader-configuration
               (bootloader u-boot-novena-bootloader)
               (target "/dev/mmcblk1")))
  ;; These modules are required to mount the SATA partition.
  ;; Suggested by Vagrant Cascadian; they might not actually be needed
  ;; for us.
  (initrd-modules (cons* "ahci_imx" "libata" "sd_mod"
                         %base-initrd-modules))

  (file-systems (cons* (file-system
                         (device (uuid "f1062993-3776-47d2-8900-9e4f1d9fc8aa"))
                         (mount-point "/")
                         (type "ext4"))
                       %base-file-systems))

  (users (append %accounts %base-user-accounts))
  (services (cons* (service openssh-service-type
                            (openssh-configuration
                             (permit-root-login 'without-password)
                             (authorized-keys
                              `(("andreas" ,(local-file "keys/ssh/andreas.pub"))
                                ("root" ,(local-file "keys/ssh/andreas.pub"))))))
                   (service dhcp-client-service-type)
                   (service mcron-service-type
                            (mcron-configuration
                             (jobs (list gc-job))))

                   (service agetty-service-type
                            (agetty-configuration
                             (extra-options '("-L"))
                             (tty "ttymxc1")
                             (term "screen")
                             (baud-rate "115200")))

                   (service ntp-service-type)

                   (modify-services %base-services
                     (guix-service-type config =>
                                        (guix-configuration
                                         (inherit config)
                                         (use-substitutes? #f)
                                         (max-silent-time 7200)
                                         (authorized-keys
                                          %authorized-guix-keys))))))

  (packages (cons* screen openssh u-boot-novena vim %base-packages)))

  reply	other threads:[~2020-09-06  8:45 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-09-01  9:38 Guix on Novena Andreas Enge
2020-09-01 16:41 ` Vagrant Cascadian
2020-09-01 18:06   ` Andreas Enge
2020-09-02 17:30     ` Vagrant Cascadian
2020-09-02 18:05       ` Andreas Enge
2020-09-02 18:33         ` Vagrant Cascadian
2020-09-06  8:45           ` Andreas Enge [this message]
2020-09-06 14:23             ` Vagrant Cascadian
2020-09-07 20:12               ` Andreas Enge
2020-09-07 12:11             ` Andreas Enge
2020-09-08 10:56             ` Andreas Enge
2020-09-08 12:30               ` Efraim Flashner

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200906084522.GA1900@jurong \
    --to=andreas@enge.fr \
    --cc=help-guix@gnu.org \
    --cc=vagrant@debian.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).