aboutsummaryrefslogtreecommitdiff
path: root/gnu/system/examples/bare-hurd.tmpl
blob: 68c6d3c166549b8043d552420ed9a488f199c520 (about) (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
;; -*-scheme-*-

;; This is an operating system configuration template
;; for a "bare bones" QEMU setup, with no X11 display server.

;; To build a disk image for a virtual machine, do
;;
;;     ./pre-inst-env guix system image --image-type=hurd-raw \
;;         gnu/system/examples/bare-hurd.tmpl
;;
;; You may run it like so
;;
;;     guix shell qemu -- qemu-system-i386 -enable-kvm -m 2048 \
;;      -device rtl8139,netdev=net0 -netdev user,id=net0,hostfwd=tcp:127.0.0.1:10022-:2222 \
;;      -snapshot -hda <the-image>
;;
;; and use it like
;;
;;     ssh -p 10022 root@localhost
;;     guix build -e '(@@ (gnu packages commencement) gnu-make-boot0)'
;;
;; or even (if you use --image-size=3G)
;;
;;     guix build hello

(use-modules (gnu) (gnu system hurd) (guix utils))
(use-service-modules ssh)
(use-package-modules ssh)

(define %hurd-os
  (operating-system
    (inherit %hurd-default-operating-system)
    (bootloader (bootloader-configuration
                 (bootloader grub-minimal-bootloader)
                 (targets '("/dev/sdX"))))
    (file-systems (cons (file-system
                          (device (file-system-label "my-root"))
                          (mount-point "/")
                          (type "ext2"))
                        %base-file-systems))
    (host-name "guixygnu")
    (timezone "Europe/Amsterdam")
    (users (cons (user-account
                  (name "guix")
                  (comment "Anonymous Hurd Hacker")
                  (group "users")
                  (supplementary-groups '("wheel")))
                 %base-user-accounts))
    (packages (cons openssh-sans-x %base-packages/hurd))
    (services (cons (service openssh-service-type
                             (openssh-configuration
                              (openssh openssh-sans-x)
                              (port-number 2222)
                              (permit-root-login #t)
                              (allow-empty-passwords? #t)
                              (password-authentication? #t)))
                    ;; For installing on a real (non-QEMU) machine, use:
                    ;; (static-networking-service-type
                    ;;   (list %loopback-static-networking
                    ;;        (static-networking
                    ;;         ...)))
                    ;; %base-services/hurd
                    %base-services+qemu-networking/hurd))))

%hurd-os
ntation....* tests/pack.scm: Fix indentation. Maxim Cournoyer 2023-07-18pack: Move common build code to (guix build pack)....The rationale is to reduce the number of derivations built per pack to ideally one, to minimize storage requirements. The number of derivations had gone up with 68380db4 ("pack: Extract populate-profile-root from self-contained-tarball/builder.") as a side effect to improving code reuse. * guix/scripts/pack.scm (guix): Add commentary comment. (populate-profile-root, self-contained-tarball/builder): Extract to... * guix/build/pack.scm (populate-profile-root): ... this, and... (build-self-contained-tarball): ... that, adjusting for use on the build side. (assert-utf8-locale): New procedure. (self-contained-tarball, debian-archive, rpm-archive): Adjust accordingly. Reviewed-by: Ludovic Courtès <ludo@gnu.org> Maxim Cournoyer