unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Vagrant Cascadian <vagrant@debian.org>
To: Tom Fitzhenry <tom@tom-fitzhenry.me.uk>,
	Tobias Platen <guix@platen-software.de>,
	guix-devel <guix-devel@gnu.org>
Subject: Re: Guix System on RockPro64
Date: Wed, 04 May 2022 09:14:40 -0700	[thread overview]
Message-ID: <87r159w9zj.fsf@contorta> (raw)
In-Reply-To: <6cba8f1d-eca8-bbcd-a98f-1e6348491b0b@tom-fitzhenry.me.uk>

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

On 2022-05-04, Tom Fitzhenry wrote:
> 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 .
...
> However, it's inconvenient that each aarch64 platform needs its own 
> aarch64 image.

You could create a "generic" image that supports UEFI or standard u-boot
methods, and the user can bring-their-own UEFI implementation
(e.g. tianocore, recent versions of u-boot with EFI) or install u-boot
or barebox or whatever manually.

Another approach used by debian-installer images is to ship the image
that is used by all the platforms, and then a small firmware portion
that is device-specific:

  https://d-i.debian.org/daily-images/arm64/daily/netboot/SD-card-images/README.concatenateable_images

It's a little more cumbersome to download two images and dump them onto
the media, although I imagine guix could implement this part and make it
relatively simple, while still having a shared substitute for the bulk
of the 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

My understanding was tow-boot was mostly, at this point, something to
avoid installing as part of the distro image. You can basically do the
same thing with mainline u-boot, if you install u-boot to media other
than the distro media. Or does tow-boot have fancier features working
yet (e.g. menu interfaces from the firmware) ?


> +    (initrd-modules '())
> +    (kernel linux-libre-arm64-generic)

I've managed to get the default linux-libre working, installed with
rootfs on SATA. It does require a fairly extensive list of modules to
load in the initrd:

  (kernel linux-libre-5.17) ;; from before it was default
  (initrd-modules
   (append                                                                                                                                  (list
     ;; scsi modules
     "ahci"
     "libata"
     "sd_mod"
     "scsi_common"
     "t10_pi"
     ;; regulators and clocks
     "rk808-regulator"
     "clk-rk808"
     "fixed"
     "fan53555"
     "rk808"
     "i2c-rk3x"
     "pl330"
     "dwc3"
     "rtc-rk808"
     "sdhci"
     "sdhci-pltfm"
     "dw_mmc"
     "dw_mmc-pltfm"
     ;; "dw_mmc-rockchip"
     "phy_rockchip_pcie"
     "pcie_rockchip_host"
     "nvme")))

I've recently noticed it taking a long time on shutdown or reboot with
"dw_mmc_rockchip" still loaded, but I don't use the mmc bus for anything
other than the bootloader itself installed on microSD. If you're using
microSD or eMMC I'd be curious if that still happened.


Although using the generic kernel, with guix's primitive module handling
from the initrd (essentially looping through the list and manually
loading each one), it might be easier to support a single image with
linux-libre-arm64-generic kernel, where most features are built-in
rather than modular.


live well,
  vagrant

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 227 bytes --]

  reply	other threads:[~2022-05-04 16:31 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
2022-05-04 16:14   ` Vagrant Cascadian [this message]
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=87r159w9zj.fsf@contorta \
    --to=vagrant@debian.org \
    --cc=guix-devel@gnu.org \
    --cc=guix@platen-software.de \
    --cc=tom@tom-fitzhenry.me.uk \
    /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).