* Re: Who has had success installing a Guix system on arm?
2020-11-04 16:44 Who has had success installing a Guix system on arm? Jesse Gibbons
@ 2020-11-04 17:44 ` Mathieu Othacehe
2020-11-05 14:23 ` Jesse Gibbons
2020-11-04 19:32 ` Julien Lepiller
` (4 subsequent siblings)
5 siblings, 1 reply; 13+ messages in thread
From: Mathieu Othacehe @ 2020-11-04 17:44 UTC (permalink / raw)
To: Jesse Gibbons; +Cc: help-guix
Hello Jesse,
> -> Which board did you get working with guix system (banana pi m2u, novena,
> beaglebone black, pine64-plus, etc.)?
> -> Did you build natively or cross-build from a different system?
> -> What version of guix did you use? (what did guix describe say?)
> -> If the board you got working can boot from an internal (emmc) or external
> (microsd) drive, which one did you get working?
> -> Would you mind sharing the operating-system definition that was successful?
The situation is slowly improving. Since recently, you should be able to
build a barebones image for pine64 lts this way:
--8<---------------cut here---------------start------------->8---
guix system disk-image -t pine64-raw os.scm
--8<---------------cut here---------------end--------------->8---
with os.scm that looks like:
--8<---------------cut here---------------start------------->8---
(use-modules (gnu system images pine64))
pine64-barebones-os
--8<---------------cut here---------------end--------------->8---
Note that this very image is also build by the CI and available here:
https://ci.guix.gnu.org/search/latest/image?query=spec:guix-master+status:success+system:x86_64-linux+pine64
You should be able to flash this image on a microsd and directly boot
from it.
I will try to improve the documentation accordingly, but until then you
can also read this:
https://othacehe.org/the-guix-system-image-api.html.
Thanks,
Mathieu
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: Who has had success installing a Guix system on arm?
2020-11-04 17:44 ` Mathieu Othacehe
@ 2020-11-05 14:23 ` Jesse Gibbons
0 siblings, 0 replies; 13+ messages in thread
From: Jesse Gibbons @ 2020-11-05 14:23 UTC (permalink / raw)
To: Mathieu Othacehe; +Cc: help-guix
On 11/4/20 10:44 AM, Mathieu Othacehe wrote:
> Hello Jesse,
>
>> -> Which board did you get working with guix system (banana pi m2u, novena,
>> beaglebone black, pine64-plus, etc.)?
>> -> Did you build natively or cross-build from a different system?
>> -> What version of guix did you use? (what did guix describe say?)
>> -> If the board you got working can boot from an internal (emmc) or external
>> (microsd) drive, which one did you get working?
>> -> Would you mind sharing the operating-system definition that was successful?
> The situation is slowly improving. Since recently, you should be able to
> build a barebones image for pine64 lts this way:
>
> --8<---------------cut here---------------start------------->8---
> guix system disk-image -t pine64-raw os.scm
> --8<---------------cut here---------------end--------------->8---
>
> with os.scm that looks like:
>
> --8<---------------cut here---------------start------------->8---
> (use-modules (gnu system images pine64))
>
> pine64-barebones-os
> --8<---------------cut here---------------end--------------->8---
>
> Note that this very image is also build by the CI and available here:
>
> https://ci.guix.gnu.org/search/latest/image?query=spec:guix-master+status:success+system:x86_64-linux+pine64
>
> You should be able to flash this image on a microsd and directly boot
> from it.
>
> I will try to improve the documentation accordingly, but until then you
> can also read this:
>
> https://othacehe.org/the-guix-system-image-api.html.
>
> Thanks,
>
> Mathieu
Thank you for the information.
What pine64 boards can boot the image? I have a pinephone on its way
right now, do you think it will be able to boot that image, or will I
have to specify a different u-boot?
-Jesse
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: Who has had success installing a Guix system on arm?
2020-11-04 16:44 Who has had success installing a Guix system on arm? Jesse Gibbons
2020-11-04 17:44 ` Mathieu Othacehe
@ 2020-11-04 19:32 ` Julien Lepiller
2020-11-05 6:44 ` Jan Nieuwenhuizen
` (3 subsequent siblings)
5 siblings, 0 replies; 13+ messages in thread
From: Julien Lepiller @ 2020-11-04 19:32 UTC (permalink / raw)
To: help-guix, Jesse Gibbons
I managed to install the guix system on an armv7 board, the cubietruck, more than a year ago. That was probably guix 0.16, or 1.0.1, I can't remember.
Maybe this can help a bit: https://guix.gnu.org/en/blog/2019/guix-on-an-arm-board/
I installed guix, the package manager, on top of an existing distro and managed to install from there. One thing you should be careful of when installing on top of the running system, is that the store database is going to be out of sync, which will very quickly create issues (glibc suddenly disappearing or things like that…). Because of that, I ended up installing uboot on flash memory, and the system on an external ssd.
Once you manage to install it though, it works perfectly fine, though you don't get substitutes as often as on x86_64, so you'll have to be patient.
Here's my conf: https://framagit.org/tyreunom/system-configuration/-/blob/master/systems/ene.scm
Le 4 novembre 2020 11:44:24 GMT-05:00, Jesse Gibbons <jgibbons2357@gmail.com> a écrit :
>For almost a year I've been trying to build a Guix system for arm, but
>I
>haven't had any success, to the point where I've become a bit
>frustrated. Has anyone in this mailing list successfully used the Guix
>system on an armhf or aarch64 computer? If so would you mind sharing
>details, such as:
>
>-> Which board did you get working with guix system (banana pi m2u,
>novena, beaglebone black, pine64-plus, etc.)?
>-> Did you build natively or cross-build from a different system?
>-> What version of guix did you use? (what did guix describe say?)
>-> If the board you got working can boot from an internal (emmc) or
>external (microsd) drive, which one did you get working?
>-> Would you mind sharing the operating-system definition that was
>successful?
>
>Thanks,
>-Jesse
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: Who has had success installing a Guix system on arm?
2020-11-04 16:44 Who has had success installing a Guix system on arm? Jesse Gibbons
2020-11-04 17:44 ` Mathieu Othacehe
2020-11-04 19:32 ` Julien Lepiller
@ 2020-11-05 6:44 ` Jan Nieuwenhuizen
2020-11-05 17:10 ` Vagrant Cascadian
2020-11-05 14:24 ` Timothy Sample
` (2 subsequent siblings)
5 siblings, 1 reply; 13+ messages in thread
From: Jan Nieuwenhuizen @ 2020-11-05 6:44 UTC (permalink / raw)
To: Jesse Gibbons; +Cc: help-guix
Jesse Gibbons writes:
Hi!
> Has anyone in this mailing list successfully used the Guix
> system on an armhf or aarch64 computer?
I installed Guix System on the pinebook-pro a while ago
httpss://joyofsource.com/guix-system-on-the-pinebook-pro.html
Recently, proper
pinebook-pro support has been merged with guix master, so it should
be easier now.
Sadly, the pinebook-pro died on me just a couple of days after writing
the blog post, and I haven't updated it since.
Greetings,
Jannee
--
Jan Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond http://lilypond.org
Freelance IT http://JoyofSource.com | Avatar® http://AvatarAcademy.com
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: Who has had success installing a Guix system on arm?
2020-11-05 6:44 ` Jan Nieuwenhuizen
@ 2020-11-05 17:10 ` Vagrant Cascadian
0 siblings, 0 replies; 13+ messages in thread
From: Vagrant Cascadian @ 2020-11-05 17:10 UTC (permalink / raw)
To: Jan Nieuwenhuizen, Jesse Gibbons; +Cc: help-guix
[-- Attachment #1: Type: text/plain, Size: 541 bytes --]
On 2020-11-05, Jan Nieuwenhuizen wrote:
> Jesse Gibbons writes:
>> Has anyone in this mailing list successfully used the Guix
>> system on an armhf or aarch64 computer?
>
> I installed Guix System on the pinebook-pro a while ago
>
> httpss://joyofsource.com/guix-system-on-the-pinebook-pro.html
>
> Recently, proper
> pinebook-pro support has been merged with guix master, so it should
> be easier now.
Well, "proper" if you don't mind serial console only and no working
battery status, but yes, it'll boot... :)
live well,
vagrant
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 227 bytes --]
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: Who has had success installing a Guix system on arm?
2020-11-04 16:44 Who has had success installing a Guix system on arm? Jesse Gibbons
` (2 preceding siblings ...)
2020-11-05 6:44 ` Jan Nieuwenhuizen
@ 2020-11-05 14:24 ` Timothy Sample
2020-11-05 14:43 ` Jesse Gibbons
2020-11-05 17:07 ` Vagrant Cascadian
2020-11-06 14:29 ` Simon South
2020-11-06 15:12 ` Tobias Geerinckx-Rice
5 siblings, 2 replies; 13+ messages in thread
From: Timothy Sample @ 2020-11-05 14:24 UTC (permalink / raw)
To: Jesse Gibbons; +Cc: help-guix
Hi Jesse,
Jesse Gibbons <jgibbons2357@gmail.com> writes:
> Has anyone in this mailing list successfully used the Guix system on
> an armhf or aarch64 computer?
I don’t have a lot of details for you, but I can confirm that I’ve used
Guix on three armhf boards: BeagleBone Black, veyron_speedy (ASUS C201),
and veyron_minnie (ASUS C100PA).
For the BeagleBone, it required using an older version of U-Boot.
Upstream U-Boot has stopped supporting it. Our package patches support
back in, but it didn’t work for me. I believe I’ve tried to use Guix on
it three times and only succeeded once. If you have a BeagleBone Black
and want to use Guix, let me know. I could track down my notes and see
if I can still produce a usable image.
For the Veyron boards, it is starting to work quite well. The current
version of U-Boot can boot these boards, but you can also boot U-Boot
from the stock firmware (which is Depthcharge). This is needed because
the Guix initial RAM disk is too big for Depthcharge to boot directly.
The point I’m trying to make is that Guix can be made to work on armhf,
but it is not at all smooth sailing. There are usually one or two
things that need fixing before it will work. IME, we are close to
having a decent experience, but we’re definitely not there yet. The
saving grace is that Guix makes working on these things pretty painless.
-- Tim
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: Who has had success installing a Guix system on arm?
2020-11-05 14:24 ` Timothy Sample
@ 2020-11-05 14:43 ` Jesse Gibbons
2020-11-05 17:07 ` Vagrant Cascadian
1 sibling, 0 replies; 13+ messages in thread
From: Jesse Gibbons @ 2020-11-05 14:43 UTC (permalink / raw)
To: Timothy Sample; +Cc: help-guix
On 11/5/20 7:24 AM, Timothy Sample wrote:
> Hi Jesse,
>
> Jesse Gibbons <jgibbons2357@gmail.com> writes:
>
>> Has anyone in this mailing list successfully used the Guix system on
>> an armhf or aarch64 computer?
> I don’t have a lot of details for you, but I can confirm that I’ve used
> Guix on three armhf boards: BeagleBone Black, veyron_speedy (ASUS C201),
> and veyron_minnie (ASUS C100PA).
>
> For the BeagleBone, it required using an older version of U-Boot.
> Upstream U-Boot has stopped supporting it. Our package patches support
> back in, but it didn’t work for me. I believe I’ve tried to use Guix on
> it three times and only succeeded once. If you have a BeagleBone Black
> and want to use Guix, let me know. I could track down my notes and see
> if I can still produce a usable image.
>
> For the Veyron boards, it is starting to work quite well. The current
> version of U-Boot can boot these boards, but you can also boot U-Boot
> from the stock firmware (which is Depthcharge). This is needed because
> the Guix initial RAM disk is too big for Depthcharge to boot directly.
>
> The point I’m trying to make is that Guix can be made to work on armhf,
> but it is not at all smooth sailing. There are usually one or two
> things that need fixing before it will work. IME, we are close to
> having a decent experience, but we’re definitely not there yet. The
> saving grace is that Guix makes working on these things pretty painless.
>
>
> -- Tim
Thank you for the response.
I am trying to install guix to a banana pi m2u. I know armbian isn't
officially supporting it, one of the two armbian images I found fails to
boot, and IINM there is no link from the manufacturer's website to an
operating system more recent than 2017. I'll see if I need to use an
older version of u-boot like you did for BeagleBone Black.
-Jesse
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: Who has had success installing a Guix system on arm?
2020-11-05 14:24 ` Timothy Sample
2020-11-05 14:43 ` Jesse Gibbons
@ 2020-11-05 17:07 ` Vagrant Cascadian
2020-11-05 19:20 ` Timothy Sample
1 sibling, 1 reply; 13+ messages in thread
From: Vagrant Cascadian @ 2020-11-05 17:07 UTC (permalink / raw)
To: Timothy Sample, Jesse Gibbons; +Cc: help-guix
[-- Attachment #1: Type: text/plain, Size: 3142 bytes --]
On 2020-11-05, Timothy Sample wrote:
> Jesse Gibbons <jgibbons2357@gmail.com> writes:
>
>> Has anyone in this mailing list successfully used the Guix system on
>> an armhf or aarch64 computer?
I'll also add that I have used Guix System on Pinebook Pro, Pinebook,
rock64, rockpro64, pine64+, veyron speedy (a.k.a. ASUS C201), wandboard
solo and overdrive1000... maybe others. :)
Most of these I have started by booting to another OS, installing the
guix binary distribution, and then using "guix system init" to install a
Guix System to another partition and/or device.
On some of them I've managed to install a single image that only
requires changing the bootloader, as they can share a common kernel.
It's possible, for sure, but not all of them support all features;
e.g. video acceleration is only recently being added for some of these
platforms and some only support a headless system with a serial
console...
I also tend to prefer the linux-libre-arm*-generic kernel variants, as
the "linux-libre" kernels usually require adding specific modules to the
initrd configuration in your config.scm, which can be time consuming and
difficult to track down when you can't boot the system, and for extra
fun, the exact set of modules needed sometimes changes between major
kernel versions.
> For the BeagleBone, it required using an older version of U-Boot.
> Upstream U-Boot has stopped supporting it. Our package patches support
> back in, but it didn’t work for me. I believe I’ve tried to use Guix on
> it three times and only succeeded once. If you have a BeagleBone Black
> and want to use Guix, let me know. I could track down my notes and see
> if I can still produce a usable image.
I haven't tested recently, but at the time I made those patches it did
boot. Also, the am335x_evm should boot, you just have to make sure your
first partition starts at 4MB+ rather than the typical 2M.
> For the Veyron boards, it is starting to work quite well. The current
> version of U-Boot can boot these boards, but you can also boot U-Boot
> from the stock firmware (which is Depthcharge). This is needed because
> the Guix initial RAM disk is too big for Depthcharge to boot directly.
Curious; I've never been able to get the U-Boot working on the veyron
speedy, but use an old libreboot to boot guix (but only linux-libre
versions < 5.5, 5.6+ gets stuck in some loop). The initrd size appears
to be a non-issue for me.
> The point I’m trying to make is that Guix can be made to work on armhf,
> but it is not at all smooth sailing. There are usually one or two
> things that need fixing before it will work. IME, we are close to
> having a decent experience, but we’re definitely not there yet.
Yes, I'll definitely agree that it is improving, but maybe not that it
is close. :)
Most of this is not specific to guix per se, it is generally a problem
with arm systems in general; there is much less consistancy across
platforms which requires fiddling with bootloaders and kernels more
often than some other platforms.
live well,
vagrant
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 227 bytes --]
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: Who has had success installing a Guix system on arm?
2020-11-05 17:07 ` Vagrant Cascadian
@ 2020-11-05 19:20 ` Timothy Sample
0 siblings, 0 replies; 13+ messages in thread
From: Timothy Sample @ 2020-11-05 19:20 UTC (permalink / raw)
To: Vagrant Cascadian; +Cc: help-guix, Jesse Gibbons
Hi Vagrant,
Vagrant Cascadian <vagrant@debian.org> writes:
> On 2020-11-05, Timothy Sample wrote:
>
>> For the Veyron boards, it is starting to work quite well. The current
>> version of U-Boot can boot these boards, but you can also boot U-Boot
>> from the stock firmware (which is Depthcharge). This is needed because
>> the Guix initial RAM disk is too big for Depthcharge to boot directly.
>
> Curious; I've never been able to get the U-Boot working on the veyron
> speedy,
AIUI, commit fffdf7290cee85232ee522e27c09c7f1178e6219 makes it work. It
looks like it was included in 2020.07. I was able to flash U-Boot onto
an ASUS C201 and now it boots nicely (and can be rolled back with a nice
little menu). (I was gearing up to debug U-Boot myself, and am very
relieved someone beat me to it!)
> but use an old libreboot to boot guix (but only linux-libre
> versions < 5.5, 5.6+ gets stuck in some loop). The initrd size appears
> to be a non-issue for me.
I have the same problem with the kernel, and am using 5.4 currently.
I tried with Libreboot and with stock Depthcharge and had no luck. I’m
pretty sure it’s a size issue, because every image I built bigger than
16M could not boot, but plenty of smaller ones could (if I made my own
initial RAM disk, say). IIRC, upstream Depthcharge bumped the size
limit from 16M to 32M and that version should be included in Libreboot.
However, it didn’t work for me in practice. Either way, I am much
happier using U-Boot.
>> The point I’m trying to make is that Guix can be made to work on armhf,
>> but it is not at all smooth sailing. There are usually one or two
>> things that need fixing before it will work. IME, we are close to
>> having a decent experience, but we’re definitely not there yet.
>
> Yes, I'll definitely agree that it is improving, but maybe not that it
> is close. :)
That’s fair! My glasses are a bit rosy right now because of my recent
success with U-Boot.
-- Tim
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: Who has had success installing a Guix system on arm?
2020-11-04 16:44 Who has had success installing a Guix system on arm? Jesse Gibbons
` (3 preceding siblings ...)
2020-11-05 14:24 ` Timothy Sample
@ 2020-11-06 14:29 ` Simon South
2020-11-06 15:12 ` Tobias Geerinckx-Rice
5 siblings, 0 replies; 13+ messages in thread
From: Simon South @ 2020-11-06 14:29 UTC (permalink / raw)
To: Jesse Gibbons; +Cc: help-guix
Jesse Gibbons <jgibbons2357@gmail.com> writes:
> Has anyone in this mailing list successfully used the Guix system on
> an armhf or aarch64 computer?
Yes; I'm currently running up-to-date versions of Guix System on a
ROCK64 and a Pinebook Pro, both AArch64 systems from PINE64
(https://pine64.org/).
I wrote at the time about my experience getting the ROCK64 up and
running, including a sample operating-system definition:
https://lists.gnu.org/archive/html/help-guix/2020-04/msg00153.html
This is still essentially current, except there is no need for the
ridiculous dance involving moving a jumper around; turns out U-Boot
offers a command that makes it easy to start up from one device but
finish booting from another.
As others have noted, AArch64 support in Guix is generally quite good
now, but a certain amount of patience is required.
--
Simon South
simon@simonsouth.net
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: Who has had success installing a Guix system on arm?
2020-11-04 16:44 Who has had success installing a Guix system on arm? Jesse Gibbons
` (4 preceding siblings ...)
2020-11-06 14:29 ` Simon South
@ 2020-11-06 15:12 ` Tobias Geerinckx-Rice
2020-11-06 17:39 ` Enrico Schwass via
5 siblings, 1 reply; 13+ messages in thread
From: Tobias Geerinckx-Rice @ 2020-11-06 15:12 UTC (permalink / raw)
To: Jesse Gibbons; +Cc: help-guix
[-- Attachment #1.1: Type: text/plain, Size: 1750 bytes --]
Jesse,
Jesse Gibbons 写道:
> Has anyone in this mailing list successfully used the Guix
> system
> on an armhf or aarch64 computer? If so would you mind sharing
> details, such as:
>
> -> Which board did you get working with guix system (banana pi
> m2u,
> novena, beaglebone black, pine64-plus, etc.)?
I'm not much of an ARM person but did have success installing Guix
System onto two Overdrives 1000 currently part of the Berlin build
farm. They aren't ‘boards’ but proper computers using UEFI, so
GRUB just works.
> -> Did you build natively or cross-build from a different
> system?
Both machines came with OpenSUSE installed, and were briefly
borged into Guix Systems simply by installing Guix (using the
official installer script) and running ‘guix system init /’.
That worked but didn't last long. I booted an aarch64 Fedora
installer image, installed Guix into the live environment using
the same installer script, wiped & repartitioned the drives, wrote
a basic system configuration and ran ‘guix system init /mnt’.
That's the system still running today.
It must have been easy or it would have been more memorable. :-)
I never (cross-)built anything custom.
> -> What version of guix did you use? (what did guix describe
> say?)
I don't remember. Whatever was master soon before Jul 24 2019.
> -> If the board you got working can boot from an internal (emmc)
> or
> external (microsd) drive, which one did you get working?
These machines have a 1TB 3.5" SATA drive.
> -> Would you mind sharing the operating-system definition that
> was
> successful?
It's probably not useful for ‘boards’, but sure.
Kind regards,
T G-R
[-- Attachment #1.2: system.scm --]
[-- Type: application/octet-stream, Size: 2869 bytes --]
(use-modules (gnu)
(guix))
(use-service-modules mcron
networking
ssh)
(use-package-modules linux)
(define %accounts
(list (user-account
(name "nckx")
(comment "Tobias Geerinckx-Rice")
(group "users")
(supplementary-groups (list "wheel" "kvm"))
(home-directory (string-append "/home/" name)))
(user-account
(name "hydra")
(comment "Hydra user")
(group "users")
(home-directory (string-append "/home/" name)))))
(define gc-job
;; Run 'guix gc' at 3AM every day.
#~(job '(next-hour '(3)) "guix gc -F 50G"))
(operating-system
(host-name "dmitri")
(timezone "Europe/Brussels")
(locale "en_GB.utf8")
(bootloader (bootloader-configuration
(bootloader grub-efi-bootloader)
(target "/boot/efi")
(timeout 3)))
(initrd-modules (cons* "xhci-pci" "ahci_platform" "sd_mod"
%base-initrd-modules))
(file-systems (cons* (file-system
(device (file-system-label "GNU"))
(mount-point "/")
(type "ext4"))
(file-system
(device (file-system-label "EFI"))
(mount-point "/boot/efi")
(type "vfat"))
%base-file-systems))
(swap-devices '("/dev/sda2"))
(users (append %accounts %base-user-accounts))
(services (cons* (service openssh-service-type)
(service dhcp-client-service-type)
(service mcron-service-type
(mcron-configuration
(jobs (list gc-job))))
(service agetty-service-type
(agetty-configuration
(tty "ttyAMA0")
(keep-baud? #t)
(term "vt220")
(baud-rate "115200,38400,9600")))
(service openntpd-service-type
(openntpd-configuration
(servers (list "0.pool.ntp.org" "1.pool.ntp.org"))
(constraints-from (list "www.openbsd.org"))))
(modify-services %base-services
(guix-service-type
config => (guix-configuration
(inherit config)
(use-substitutes? #f)
(max-silent-time 14400)
(authorized-keys
(list (local-file "/etc/guix/maintenance/hydra/keys/guix/berlin.guixsd.org-export.pub")))
(extra-options
'("--max-jobs=3" "--cores=2")))))))
(packages
(append
(map specification->package+output
(list "dstat"
"git"
"htop"
"picocom" ; to debug sibling (/dev/ttyACM0*)
"mosh"
"ncurses" ; reset
"nss-certs"
"openssh"))
%base-packages)))
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 247 bytes --]
^ permalink raw reply [flat|nested] 13+ messages in thread