unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Tom Fitzhenry <tom@tom-fitzhenry.me.uk>
To: Tobias Platen <guix@platen-software.de>, guix-devel <guix-devel@gnu.org>
Subject: Re: Guix System on RockPro64
Date: Wed, 4 May 2022 22:34:23 +1000	[thread overview]
Message-ID: <6cba8f1d-eca8-bbcd-a98f-1e6348491b0b@tom-fitzhenry.me.uk> (raw)
In-Reply-To: <9b8600147c093bbcf99e6d085f380b72c15399b2.camel@platen-software.de>

[-- Attachment #1: Type: text/plain, Size: 1229 bytes --]

On 4/5/22 04:53, Tobias Platen wrote:
> I had a look at the guix page, there is a latest version image for the
> PineBook Pro, which uses the same SoC.
The SoC is the same, but the PineBook Pro and RockPro64 have different 
u-boot bootloaders: u-boot-rockpro64-rk3399-bootloader and 
u-boot-pinebook-pro-rk3399-bootloader, both in gnu/bootloader/u-boot.scm .

I have attached the image config that I used to build a RockPro64 image 
last week. See below for my plans to upstream.

> Unfortunately I was unable to
> find the reciepe to build that image. The guix page is currently down,
> I will try again tomorrow.

FWIW, the PineBook Pro image is at gnu/system/images/pinebook-pro.scm

> Today I was able to install guix on top of
> Debian which I have installed on my RockPro64.

That should be useful, to be able to build aarch64 images without having 
to do cross-compilation.


However, it's inconvenient that each aarch64 platform needs its own 
aarch64 image. To improve on this, I'm working on Tow-Boot[0] support 
for Guix. The result is that a single generic aarch64 image will work 
across all Tow-Boot supported devices[1], including the RockPro64.

0. https://tow-boot.org/
1. https://tow-boot.org/devices/index.html

[-- Attachment #2: rockpro64-image.patch --]
[-- Type: text/x-patch, Size: 2923 bytes --]

commit 397ee4242238905c8c1071aff6d345c600a709d6
Author: Tom Fitzhenry <tom@tom-fitzhenry.me.uk>
Date:   Mon Apr 25 16:51:52 2022 +1000

    add rockpro64 image

diff --git a/gnu/system/images/rockpro64.scm b/gnu/system/images/rockpro64.scm
new file mode 100644
index 0000000000..d03b4b90de
--- /dev/null
+++ b/gnu/system/images/rockpro64.scm
@@ -0,0 +1,69 @@
+
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2021 Marius Bakke <marius@gnu.org>
+;;;
+;;; 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 <http://www.gnu.org/licenses/>.
+
+(define-module (gnu system images rockpro64)
+  #:use-module (gnu bootloader)
+  #:use-module (gnu bootloader u-boot)
+  #:use-module (gnu image)
+  #:use-module (gnu packages linux)
+  #:use-module (gnu 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 (rockpro64-barebones-os
+            rockpro64-image-type
+            rockpro64-barebones-raw-image))
+
+(define rockpro64-barebones-os
+  (operating-system
+    (host-name "jiehkkevarri")
+    (timezone "Europe/Oslo")
+    (locale "en_US.utf8")
+    (bootloader (bootloader-configuration
+                 (bootloader u-boot-rockpro64-rk3399-bootloader)
+                 (targets '("/dev/sda"))))
+    (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 (append (list (service dhcp-client-service-type))
+                      %base-services))))
+
+(define rockpro64-image-type
+  (image-type
+   (name 'rockpro64-raw)
+   (constructor (cut image-with-os
+                     (raw-with-offset-disk-image (expt 2 24))
+                     <>))))
+
+(define rockpro64-barebones-raw-image
+  (image
+   (inherit
+    (os+platform->image rockpro64-barebones-os aarch64-linux
+                        #:type rockpro64-image-type))
+   (name 'rockpro64-barebones-raw-image)))
+
+rockpro64-barebones-raw-image

  reply	other threads:[~2022-05-04 14:46 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-05-03 18:53 Guix System on RockPro64 Tobias Platen
2022-05-04 12:34 ` Tom Fitzhenry [this message]
2022-05-04 16:14   ` Vagrant Cascadian
2022-05-05  2:48     ` Tom Fitzhenry

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=6cba8f1d-eca8-bbcd-a98f-1e6348491b0b@tom-fitzhenry.me.uk \
    --to=tom@tom-fitzhenry.me.uk \
    --cc=guix-devel@gnu.org \
    --cc=guix@platen-software.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).