I am still working on this; just sending the current state of things,
because I won't finish soon and if someone has comments or if someone
finds it useful.
This *fails to boot* after invoking 'swapon' on an external USB SSD's swap
partition and running 'guix system reconfigure'. Additionally, currently
Inkscape does not build (see bug#60121) and had to be cut out of the
dependency graph by, in the local guix checkout, removing the 'bluez' input of
'pulseaudio' and removing the 'ibus-minimal' input of 'sdl2'. Also 'fakeroot'
does not build unless downgraded to version 1.28 (see bug#61206 maybe).
Note: After installing u-boot-beaglebone-black-bootloader onto /dev/mmcblk1
the Beaglebone Black cannot boot anymore. Don't install it there. Use a
'guix system image' or another bootloader target and don't touch the
bootloader that was there before. TODO Bisect which change broke this.
Reported by Frank Terbeck
(initrd-modules): None are needed anymore; pass the empty list.
(kernel): Use a more specific kernel.
(packages): Specify more useful packages.
(services): Add NTP service. For agetty, use ttyS0, which is the
UART port now.
I dedicate this patch to the public domain as per the Creative Commons Zero.
gnu/system/examples/beaglebone-black.tmpl | 42 +++++++++++++++--------
1 file changed, 27 insertions(+), 15 deletions(-)
Toggle diff (68 lines)
diff --git a/gnu/system/examples/beaglebone-black.tmpl b/gnu/system/examples/beaglebone-black.tmpl
index 40d0a76a37..cbb5f2ef14 100644
@@ -4,7 +4,7 @@
(use-modules (gnu) (gnu bootloader u-boot))
-(use-package-modules bootloaders screen ssh)
+(use-package-modules certs linux)
@@ -17,8 +17,15 @@
- ;; This module is required to mount the SD card.
- (initrd-modules (cons "omap_hsmmc" %base-initrd-modules))
+ ;; This less generic kernel image also contains the
+ ;; needed dtb files in its lib/dtbs subdirectory.
+ (kernel linux-libre-arm-omap2plus)
+ ;; TODO Try to fix HDMI, see https://elinux.org/Beagleboard:BeagleBoneBlack_HDMI
+ ;; (kernel-arguments '(""))
+ ;; No additional drivers are required.
+ (initrd-modules '())
(file-systems (cons (file-system
(device (file-system-label "my-root"))
@@ -43,15 +50,20 @@
;; Globally-installed packages.
- (packages (append (list screen openssh) %base-packages))
- (services (append (list (service dhcp-client-service-type)
- ;; mingetty does not work on serial lines.
- ;; Use agetty with board-specific serial parameters.
- (extra-options '("-L"))
- (baud-rate "115200")
- (term "vt100")
- (tty "ttyO0"))))
+ (packages (append (list nss-certs) %base-packages))
+ (services (append (list
+ ;; Ethernet cannot be plugged in after booting,
+ ;; other than that, networking works OK with this:
+ (service dhcp-client-service-type)
+ ;; For receiving the right time.
+ (service ntp-service-type)
+ ;; mingetty does not work on serial lines.
+ ;; Use agetty with board-specific serial parameters.
+ (extra-options '("-L"))
+ (baud-rate "115200")
+ (term "vt100")
+ (tty "ttyS0"))))