From ab1ff7ca40b0a2d935f715dcf64f0f3128632d3d Mon Sep 17 00:00:00 2001 From: Herman Rimm Date: Sat, 18 Nov 2023 17:01:28 +0100 Subject: [PATCH] images: Add orangepi-r1-plus-lts image. * gnu/local.mk: Register image. * gnu/system/images/orangepi-r1-plus-lts-rk3328.scm: New file. * gnu/system/install.scm (orangepi-r1-plus-lts-rk3328-installation-os): New variable. Signed-off-by: Vagrant Cascadian --- gnu/local.mk | 1 + .../images/orangepi-r1-plus-lts-rk3328.scm | 76 +++++++++++++++++++ gnu/system/install.scm | 7 ++ 3 files changed, 84 insertions(+) create mode 100644 gnu/system/images/orangepi-r1-plus-lts-rk3328.scm diff --git a/gnu/local.mk b/gnu/local.mk index 4497804e07..eca52cd39f 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -753,6 +753,7 @@ GNU_SYSTEM_MODULES = \ \ %D%/system/images/hurd.scm \ %D%/system/images/novena.scm \ + %D%/system/images/orangepi-r1-plus-lts-rk3328.scm \ %D%/system/images/pine64.scm \ %D%/system/images/pinebook-pro.scm \ %D%/system/images/rock64.scm \ diff --git a/gnu/system/images/orangepi-r1-plus-lts-rk3328.scm b/gnu/system/images/orangepi-r1-plus-lts-rk3328.scm new file mode 100644 index 0000000000..eaaa12ba78 --- /dev/null +++ b/gnu/system/images/orangepi-r1-plus-lts-rk3328.scm @@ -0,0 +1,76 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2023 Herman Rimm +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see . + +(define-module (gnu system images orangepi-r1-plus-lts-rk3328) + #:use-module (gnu bootloader) + #:use-module (gnu bootloader u-boot) + #:use-module (gnu image) + #:use-module (gnu packages linux) + #:use-module (gnu packages certs) + #:use-module (guix platforms arm) + #:use-module (gnu services) + #:use-module (gnu services base) + #:use-module (gnu services networking) + #:use-module (gnu system) + #:use-module (gnu system file-systems) + #:use-module (gnu system image) + #:use-module (srfi srfi-26) + #:export (orangepi-r1-plus-lts-rk3328-barebones-os + orangepi-r1-plus-lts-rk3328-image-type + orangepi-r1-plus-lts-rk3328-barebones-raw-image)) + +(define orangepi-r1-plus-lts-rk3328-barebones-os + (operating-system + (host-name "windmolen") + (timezone "Europe/Amsterdam") + (locale "en_US.utf8") + (bootloader (bootloader-configuration + (bootloader u-boot-orangepi-r1-plus-lts-rk3328-bootloader) + (targets '("/dev/mmcblk0")))) + (initrd-modules '()) + (kernel linux-libre-arm64-generic) + (file-systems (cons (file-system + (device (file-system-label "my-root")) + (mount-point "/") + (type "ext4")) %base-file-systems)) + (services + (cons* (service agetty-service-type + (agetty-configuration (extra-options '("-L")) ;no carrier detect + (baud-rate "1500000") + (term "vt100") + (tty "ttyS2"))) + (service dhcp-client-service-type) + (service ntp-service-type) %base-services)) + (packages (cons nss-certs %base-packages)))) + +(define orangepi-r1-plus-lts-rk3328-image-type + (image-type (name 'orangepi-r1-plus-lts-rk3328-raw) + (constructor (lambda (os) + (image (inherit (raw-with-offset-disk-image (expt + 2 24))) + (operating-system + os) + (platform aarch64-linux)))))) + +(define orangepi-r1-plus-lts-rk3328-barebones-raw-image + (image (inherit (os+platform->image orangepi-r1-plus-lts-rk3328-barebones-os + aarch64-linux + #:type orangepi-r1-plus-lts-rk3328-image-type)) + (name 'orangepi-r1-plus-lts-rk3328-barebones-raw-image))) + +orangepi-r1-plus-lts-rk3328-barebones-raw-image diff --git a/gnu/system/install.scm b/gnu/system/install.scm index 336d13bd07..371bfc2a63 100644 --- a/gnu/system/install.scm +++ b/gnu/system/install.scm @@ -7,6 +7,7 @@ ;;; Copyright © 2020 Florian Pelz ;;; Copyright © 2020 Efraim Flashner ;;; Copyright © 2022 Josselin Poiret +;;; Copyright © 2023 Herman Rimm ;;; ;;; This file is part of GNU Guix. ;;; @@ -69,6 +70,7 @@ mx6cuboxi-installation-os nintendo-nes-classic-edition-installation-os novena-installation-os + orangepi-r1-plus-lts-rk3328-installation-os firefly-rk3399-installation-os pine64-plus-installation-os pinebook-installation-os @@ -633,6 +635,11 @@ The bootloader BOOTLOADER is installed to BOOTLOADER-TARGET." "/dev/mmcblk0" ; SD card (solder it yourself) "ttyS0")) +(define orangepi-r1-plus-lts-rk3328-installation-os + (embedded-installation-os u-boot-orangepi-r1-plus-lts-rk3328-bootloader + "/dev/mmcblk0" ; SD card storage + "ttyS0")) + (define pine64-plus-installation-os (embedded-installation-os u-boot-pine64-plus-bootloader "/dev/mmcblk0" ; SD card storage