From mboxrd@z Thu Jan 1 00:00:00 1970 From: Vagrant Cascadian Subject: Re: Building installation image for ROCK64 Date: Sat, 11 Apr 2020 14:12:03 -0700 Message-ID: <877dyl7mn0.fsf@yucca> References: <87sgh9iz1v.fsf@simonsouth.net> Mime-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" Return-path: Received: from eggs.gnu.org ([2001:470:142:3::10]:49375) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jNNQB-0001Er-61 for help-guix@gnu.org; Sat, 11 Apr 2020 17:12:12 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1jNNQA-0004rD-4u for help-guix@gnu.org; Sat, 11 Apr 2020 17:12:11 -0400 Received: from cascadia.aikidev.net ([173.255.214.101]:56226) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1jNNQ9-0004pf-Vf for help-guix@gnu.org; Sat, 11 Apr 2020 17:12:10 -0400 In-Reply-To: <87sgh9iz1v.fsf@simonsouth.net> List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-guix-bounces+gcggh-help-guix=m.gmane-mx.org@gnu.org Sender: "Help-Guix" To: Simon South , help-guix@gnu.org --=-=-= Content-Type: text/plain Content-Transfer-Encoding: quoted-printable On 2020-04-11, Simon South wrote: > Has anyone successfully built an installation image for a PINE64 ROCK64 > ARM SBC? I haven't tested it yet... > > There's a definition for it in gnu/system/install.scm, but building the > image with > > guix system disk-image --system=3Daarch64-linux \ > -e "(@ (gnu system install) rock64-installation-os)" > > and writing it to a microSD card fails to boot completely as the root > filesystem can't be mounted: Sounds like the bootloader actually works, so not *completely* ! :) > GC Warning: pthread_getattr_np or pthread_attr_getstack failed for main= thread > GC Warning: Couldn't read /proc/stat > Welcome, this is GNU's early boot Guile. > Use '--repl' for an initrd REPL. > > loading kernel modules... > waiting for partition '416bf41b-f6b1-2062-6e00-1979416bf41b' to appear.= .. > waiting for partition '416bf41b-f6b1-2062-6e00-1979416bf41b' to appear.= .. > (...) > waiting for partition '416bf41b-f6b1-2062-6e00-1979416bf41b' to appear.= .. > ERROR: In procedure scm-error: > failed to resolve partition "416bf41b-f6b1-2062-6e00-1979416bf41b" >=20=20=20 > (I've checked and the GUID above does match the root partition.) I > understand this often means a necessary kernel module is missing from > initrd ... > (kernel linux-libre) > (kernel-arguments > (cons "console=3DttyS2" > (operating-system-user-kernel-arguments installation-os))) > (initrd-modules (append '("dw_mmc" "dw_mmc-rockchip") %base-initrd-mod= ules))) You're probably missing some voltage regulators and a handful of other things... This might avoid playing whack-a-mole with arbitrarily complex sets of driv= ers: (kernel linux-libre-arm64-generic) (initrd-modules '()) I've been using the linux-libre-arm*-generic* kernels for precisely this reason; they tend to have the drivers built-in and the configs are maintained upstream reasonably well. Also happen to be the first platforms supporting linux-libre 5.6.x in guix master... :) The *-generic kernels won't work for complex setups (e.g. encrypted rootfs), so at some point it might be good to try and figure out a helper or something to parse one or more relevent device-tree and kernel config to generate the right set of modules. So I'd lean towards some way to include more modules in the initrd by default, while handling that some might be built-ins or not present for certain architectures, etc... I have a single rootfs that boots on both the pinebook and pinebook-pro (switching out the boot firmware only), which are pretty different under the hood, so it would be nice to not have to make an image that was device-specific. live well, vagrant --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iHUEARYKAB0WIQRlgHNhO/zFx+LkXUXcUY/If5cWqgUCXpIyowAKCRDcUY/If5cW qj10AQCYz92V655gS6Y0RzPgFSgWi2OGHJUjYpnPxlJ3DJfXowEAu0bwKcUWxGUz mfCw8K/aZGNeuIrMYkJOKTAx1CH1OAw= =dXNQ -----END PGP SIGNATURE----- --=-=-=--