system: examples: Add bare-hurd64.tmpl.

* gnu/system/examples/bare-hurd.tmpl: Update comments.
* gnu/system/examples/bare-hurd64.tmpl: New file.

Change-Id: I8d26afd19afaa8fb3558948b50b0efdc0f83f29c
This commit is contained in:
Janneke Nieuwenhuizen 2024-11-12 08:05:52 +01:00
parent 204fe1b1f0
commit 9e2eae54f9
No known key found for this signature in database
GPG key ID: F3C1A0D9C1D65273
2 changed files with 82 additions and 9 deletions

View file

@ -3,23 +3,26 @@
;; 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
;; To build a disk image for a virtual machine, do:
;;
;; ./pre-inst-env guix system image --image-type=hurd-raw \
;; ./pre-inst-env guix system image --image-type=hurd-qcow2 \
;; gnu/system/examples/bare-hurd.tmpl
;;
;; You may run it like so
;; 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>
;; guix shell qemu -- qemu-system-i386 -m 2048 \
;; --enable-kvm \
;; --device e1000,netdev=net0 \
;; --netdev user,id=net0,hostfwd=tcp:127.0.0.1:10022-:2222 \
;; --snapshot
;; --hda /gnu/store/...-disk-image
;;
;; and use it like
;; 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)
;; or even, if you build the image with at least --image-size=3G:
;;
;; guix build hello
@ -34,7 +37,7 @@
(bootloader grub-minimal-bootloader)
(targets '("/dev/sdX"))))
(file-systems (cons (file-system
(device (file-system-label "my-root"))
(device (file-system-label "hurd"))
(mount-point "/")
(type "ext2"))
%base-file-systems))

View file

@ -0,0 +1,70 @@
;; -*-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=hurd64-qcow2 \
;; gnu/system/examples/bare-hurd64.tmpl
;;
;; You may run it like so:
;;
;; guix shell qemu@7 -- qemu-system-x86_64 -m 2048 \
;; --machine q35 \
;; --enable-kvm \
;; --device e1000,netdev=net0 \
;; --netdev user,id=net0,hostfwd=tcp:127.0.0.1:10022-:2222 \
;; --snapshot
;; --hda /gnu/store/...-disk-image
;;
;; and use it like:
;;
;; ssh -p 10022 root@localhost
;; guix build -e '(@@ (gnu packages commencement) gnu-make-boot0)'
;;
;; or even, if you build the image with at least --image-size=3G:
;;
;; guix build hello
(use-modules (gnu) (gnu system hurd) (guix utils))
(use-service-modules ssh)
(use-package-modules ssh)
(define %hurd64-os
(operating-system
(inherit %hurd64-default-operating-system)
(bootloader (bootloader-configuration
(bootloader grub-minimal-bootloader)
(targets '("/dev/sdX"))))
(kernel-arguments '("noide")) ;use rumpdisk
(file-systems (cons (file-system
(device (file-system-label "hurd"))
(mount-point "/")
(type "ext2"))
%base-file-systems))
(host-name "guixygnu64")
(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))))
%hurd64-os