Subject: [bug#29409] [PATCH] system: Add BeagleBone Black installer.

From: [email-masked] (Ludovic Courtès)
Date: Mon, 11 Dec 2017 17:47:27 +0100

[email-masked] skribis:

> From: Mathieu Othacehe <[email-masked]>
>
> * gnu/bootloader/u-boot.scm (u-boot-beaglebone-black-bootloader): New exported
>   bootloader.
> * gnu/system/boards/beaglebone-black.scm: New file returning bbb installer.
> * gnu/local.mk (GNU_SYSTEM_MODULES): Add new file.

[...]

> +(define install-beaglebone-black-u-boot
> +  #~(lambda (bootloader device mount-point)
> +      (let ((mlo (string-append bootloader "/libexec/MLO"))
> +            (u-boot (string-append bootloader "/libexec/u-boot.img")))

Could you add a comment explaining what’s specific to the BBB, perhaps
with a link to relevant documentation?

> +++ b/gnu/system/boards/beaglebone-black.scm
> @@ -0,0 +1,33 @@
> +(define-module (gnu system boards beaglebone-black)
> +  #:use-module (gnu)
> +  #:use-module (gnu system install)
> +  #:use-module (gnu bootloader u-boot)
> +  #:use-module (gnu packages bootloaders)
> +  #:use-module (gnu packages linux)
> +  #:export (beaglebone-black-installation-os))
> +
> +(define beaglebone-black-installation-os
> +  (operating-system
> +    (inherit installation-os)

I’d be tempted to just add it to (gnu system install) and then we’d do:

  guix system disk-image -e '(@ (gnu system install) beaglebone-black-installation-os)'

WDYT?

Of course we first need to add support for -e but that should be fine.
;-)

> +beaglebone-black-installation-os

Now that sounds really awesome.  :-)

So you’ve successfully installed GuixSD on BBB using this image?

Is the BBB powerful enough to run ‘guix pull’?  (I have an Olimex A20
with 1G of RAM that just dies.)

For small devices, it would also make sense to (cross-)build a
ready-to-use GuixSD image and just write it to the device.

Thoughts?

Anyway, kudos on that one!  I think you owe us a blog post with pictures
of the BBB running GuixSD.  :-)

Ludo’.