mirror of
https://git.savannah.gnu.org/git/guix.git
synced 2025-01-18 13:36:36 +01:00
system: examples: Add devel-hurd.tmpl.
This operating system specification for the Hurd creates a system that supports building the guix package from git natively. Do something like ./pre-inst-env guix system build --target=i586-pc-gnu \ gnu/system/examples/devel-hurd.tmpl ./pre-inst-env guix system image --image-type=hurd-qcow2 --image-size=15G \ --no-offload gnu/system/examples/devel-hurd.tmpl cp /gnu/store/...disk-image devel.img guix shell qemu -- qemu-system-i386 -enable-kvm -m 4096 \ -device rtl8139,netdev=net0 \ -netdev user,id=net0,hostfwd=tcp:127.0.0.1:10022-:2222 \ -hda devel-hurd.img ssh -p 10022 root@localhost GUIX_PROFILE=/run/current-system/bootstrap-profile source $GUIX_PROFILE/etc/profile mkdir -p ~/src/guix cd src/guix git clone git://git.savannah.gnu.org/guix cd guix ./bootstrap ./configure --with-courage make * gnu/system/examples/devel-hurd.tmpl: New file. Change-Id: I097c7c00a9ab9602db7f8f3305827c815f308d1e
This commit is contained in:
parent
f2cefd700d
commit
2390db7f46
1 changed files with 106 additions and 0 deletions
106
gnu/system/examples/devel-hurd.tmpl
Normal file
106
gnu/system/examples/devel-hurd.tmpl
Normal file
|
@ -0,0 +1,106 @@
|
|||
;; -*-scheme-*-
|
||||
|
||||
;; This is an operating system configuration template for a "bare bones
|
||||
;; development" 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-qcow2 --image-size=6G \
|
||||
;; --no-offload gnu/system/examples/devel-hurd.tmpl
|
||||
;;
|
||||
;; You may run it like so
|
||||
;;
|
||||
;; cp /gnu/store/.../disk-image devel-hurd.img
|
||||
;; guix shell qemu -- qemu-system-i386 -enable-kvm -m 4096 \
|
||||
;; -device rtl8139,netdev=net0 \
|
||||
;; -netdev user,id=net0,hostfwd=tcp:127.0.0.1:10022-:2222 \
|
||||
;; -hda devel-hurd.img
|
||||
;;
|
||||
;; 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
|
||||
;;
|
||||
;; Building Guix, do something like:
|
||||
;;
|
||||
;; GUIX_PROFILE=/run/current-system/bootstrap-profile
|
||||
;; source $GUIX_PROFILE/etc/profile
|
||||
;; mkdir -p ~/src/guix
|
||||
;; cd src/guix
|
||||
;; git clone https://git.savannah.gnu.org/git/guix.git master
|
||||
;; cd master
|
||||
;; ./bootstrap
|
||||
;; ./configure --with-courage
|
||||
;; make
|
||||
|
||||
(use-modules (srfi srfi-1)
|
||||
(ice-9 match)
|
||||
(gnu)
|
||||
(gnu system hurd)
|
||||
(gnu system locale)
|
||||
(guix packages)
|
||||
(guix store)
|
||||
(guix utils))
|
||||
(use-service-modules ssh virtualization)
|
||||
(use-package-modules base compression file gawk gdb hurd less m4
|
||||
package-management ssh version-control)
|
||||
|
||||
(define (input->package input)
|
||||
"Return the INPUT as package, or #f."
|
||||
(match input
|
||||
((label (and (? package?) package))
|
||||
package)
|
||||
((label (and (? package?) package . output))
|
||||
(cons package output))
|
||||
(_ #f)))
|
||||
|
||||
(define guix-packages
|
||||
(filter-map input->package
|
||||
(fold alist-delete (package-direct-inputs guix)
|
||||
;; These are not essential and do not build yet.
|
||||
'("graphviz" "guile-avahi" "po4a"))))
|
||||
|
||||
(define %hurd-devel-os
|
||||
(operating-system
|
||||
(inherit %hurd-vm-operating-system)
|
||||
(host-name "guixydevel")
|
||||
(timezone "Europe/Berlin")
|
||||
(file-systems (cons (file-system
|
||||
(device (file-system-label "hurd"))
|
||||
(mount-point "/")
|
||||
(type "ext2"))
|
||||
%base-file-systems))
|
||||
(swap-devices (list (swap-space
|
||||
(target "/swapfile"))))
|
||||
(users (cons (user-account
|
||||
(name "guix")
|
||||
(group "users")
|
||||
(supplementary-groups '("wheel")))
|
||||
%base-user-accounts))
|
||||
(packages (cons*
|
||||
gdb-minimal
|
||||
git-minimal
|
||||
gnu-make
|
||||
m4
|
||||
openssh-sans-x
|
||||
(append
|
||||
guix-packages
|
||||
%base-packages/hurd)))
|
||||
(services (cons*
|
||||
(modify-services (operating-system-user-services
|
||||
%hurd-vm-operating-system)
|
||||
(openssh-service-type
|
||||
config =>
|
||||
;; Set wide open
|
||||
(openssh-configuration
|
||||
(openssh openssh-sans-x)
|
||||
(port-number 2222)
|
||||
(permit-root-login #t)
|
||||
(allow-empty-passwords? #t)
|
||||
(password-authentication? #t))))))))
|
||||
|
||||
%hurd-devel-os
|
Loading…
Reference in a new issue