From 9f1e39d1fcca0525bc51dc0eedd11a902089bba4 Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Mon, 18 Dec 2017 14:47:44 +0100 Subject: [PATCH] system: examples: Add a template for BeagleBone Black. * gnu/system/examples/beaglebone-black.tmpl: New file. * Makefile.am (EXAMPLES): Add it. * gnu/system/install.scm (/etc/configuration-files): Add it. --- Makefile.am | 1 + gnu/system/examples/beaglebone-black.tmpl | 54 +++++++++++++++++++++++ gnu/system/install.scm | 2 + 3 files changed, 57 insertions(+) create mode 100644 gnu/system/examples/beaglebone-black.tmpl diff --git a/Makefile.am b/Makefile.am index fe1e685f34..a0e5ff1697 100644 --- a/Makefile.am +++ b/Makefile.am @@ -254,6 +254,7 @@ AUX_FILES = \ # Templates, examples. EXAMPLES = \ gnu/system/examples/bare-bones.tmpl \ + gnu/system/examples/beaglebone-black.tmpl \ gnu/system/examples/desktop.tmpl \ gnu/system/examples/lightweight-desktop.tmpl \ gnu/system/examples/vm-image.tmpl diff --git a/gnu/system/examples/beaglebone-black.tmpl b/gnu/system/examples/beaglebone-black.tmpl new file mode 100644 index 0000000000..609b801cab --- /dev/null +++ b/gnu/system/examples/beaglebone-black.tmpl @@ -0,0 +1,54 @@ +;; This is an operating system configuration template +;; for a "bare bones" setup on BeagleBone Black board. + +(use-modules (gnu) (gnu bootloader u-boot)) +(use-service-modules networking) +(use-package-modules bootloaders screen ssh) + +(operating-system + (host-name "komputilo") + (timezone "Europe/Berlin") + (locale "en_US.utf8") + + ;; Assuming /dev/mmcblk1 is the eMMC, and "my-root" is + ;; the label of the target root file system. + (bootloader (bootloader-configuration + (bootloader u-boot-beaglebone-black-bootloader) + (target "/dev/mmcblk1"))) + (file-systems (cons (file-system + (device "my-root") + (title 'label) + (mount-point "/") + (type "ext4")) + %base-file-systems)) + + ;; This is where user accounts are specified. The "root" + ;; account is implicit, and is initially created with the + ;; empty password. + (users (cons (user-account + (name "alice") + (comment "Bob's sister") + (group "users") + + ;; Adding the account to the "wheel" group + ;; makes it a sudoer. Adding it to "audio" + ;; and "video" allows the user to play sound + ;; and access the webcam. + (supplementary-groups '("wheel" + "audio" "video")) + (home-directory "/home/alice")) + %base-user-accounts)) + + ;; Globally-installed packages. + (packages (cons* screen openssh %base-packages)) + + (services (cons* (dhcp-client-service) + ;; mingetty does not work on serial lines. + ;; Use agetty with board-specific serial parameters. + (agetty-service + (agetty-configuration + (extra-options '("-L")) + (baud-rate "115200") + (term "vt100") + (tty "ttyO0"))) + %base-services))) diff --git a/gnu/system/install.scm b/gnu/system/install.scm index 8864415d7c..1cc3db1160 100644 --- a/gnu/system/install.scm +++ b/gnu/system/install.scm @@ -156,9 +156,11 @@ the user's target storage device rather than on the RAM disk." (string-append #$output "/" target))) '(#$(file "bare-bones.tmpl") + #$(file "beaglebone-black.tmpl") #$(file "desktop.tmpl") #$(file "lightweight-desktop.tmpl")) '("bare-bones.scm" + "beaglebone-black.scm" "desktop.scm" "lightweight-desktop.scm")) #t))))