From: "pelzflorian (Florian Pelz)" <pelzflorian@pelzflorian.de>
To: Andreas Bauer <andreas.wolfgang.bauer@gmail.com>
Cc: help-guix@gnu.org
Subject: Re: getting crazy with arm build
Date: Wed, 8 Dec 2021 12:48:00 +0100 [thread overview]
Message-ID: <20211208114800.6s2x2inenpptake4@pelzflorian.localdomain> (raw)
In-Reply-To: <CADMsvoCg5PuWqj7SB+YTBn09kOm5kZ9Mh4+k+hibE5j6=yHXyA@mail.gmail.com>
On Mon, Dec 06, 2021 at 11:53:45PM +0100, Andreas Bauer wrote:
> Hi Everyone!
>
> I am having a hard time getting guix os running on a rock-pro (arm) board.
For other readers, this thread is very similar to
<https://lists.gnu.org/archive/html/bug-guix/2021-12/msg00031.html>.
> So this is what I dont understand:
>
> Using cross compilation with "--target=aarch64-linux-gnu" the build fails,
> as soon as I add anythign as simple as an ssh server.
Maybe also pass --system=aarch64-linux for QEMU emulation? I see that
the Guix repo’s gnu/platforms/arm.scm does both
--target=aarch64-linux-gnu and --system=aarch64-linux. No idea if it
helps. Eventually Guix should not require --system though, I think.
> Normlally it fails because of "meson build system" or "perl modules". I
> read that meson-build is cross-compilation compatible, so
> thats the first thing that I dont understand.
In the core-updates-frozen branch, there is Meson cross-compilation
support since July 14 <https://issues.guix.gnu.org/49025> commit
8456581375cf03c46005d00907f8fdd1f5615f1e. Either wait until it lands
in Guix proper (somewhat soon), or try the core-updates-frozen branch.
However, for me that failed at cross-compiling dosfstools (with
--target only, no --system).
> With qemu compilation, "--system=aarch64-linux" it is cmpiling forever. I
> had to stop after 2 days trying to build my system.
Yes, I think it takes that long.
> What I dont understand here is this:
>
> 1. arm substitutes should be available via bordeaux substitute server
> (since bordeaux has arm build farm I thought that this should be happening).
> It seems that I do not get any substitutes this way. I understand that
> certain exotic packages have to be build on my machine, but something as
> basic as the kernel? How can this be?
Is bordeaux enabled? See:
https://guix.gnu.org/blog/2021/substitutes-now-also-available-from-bordeauxguixgnuorg/
> 2. qemu builds only on one core. I have set "--cores=6", but this seems
> not to matter.
Which package specifically?
This is when you run `guix build --system=aarch64-linux …`?
> 3. It see multiple different kernel versions getting compiled. This is very
> confusing. I didnt add any extra packages in this regard.
>
> The cookbook mentions a way to build an installer image for arm; but
> building the installer image has a lot of packages, so since my small
> images dont build in days, I dont think the installer would build in a
> week.I know that I saw arm binaries for download at some point on the
> guix website. So I wonder why they are no longer there. A binary download
> for an installer to me seems to be quite important. But I dont
> find anyone asking for it. Am I missing something here?
There are PinebookPro images:
https://guix.gnu.org/en/download/latest/
But I don’t know if there are rockpro64 images; probably not, since
there is no image in the guix repo nor cookbook.
> 4. I finally was successful in building an image to get started, and it
> would only work when I did add zero packages to the os-image,
> and when I have removed all the services except for a shell login. This
> image is runnign now, and what I dont understand is, that
> this image has to have the kernel inside, otherwise how would it run. It
> all came via the cross-compilation. So the substitutes for the kernel
> have to be available then! mWhy dont they appear in the qemu build then?
>
> 5. The way I am now setting up my rock-pro board is first, I get an image
> that only allows me to boot, and login to the shell. Then I add
> some bootstrap files to it via etc-service-type with (local-file ...)..
> Essentially I add a manifest and an extended os image definiition to it,
> and then start building that
> on the rock-pro board.
Yes, this is faster.
> Now it would be perfect to add an entire directory
> of scripts and batch files to a folder into the image. But the local-file
> only allows me
> to add one file per line. Is there any option where I could add an entire
> folder to the image that gets build? This would help a lot in my
> bootstrapping process.
There is (local-file "…" #:recursive #t) and similar for other kinds
of file.
Cannot answer the rest.
Regards,
Florian Pelz
next prev parent reply other threads:[~2021-12-08 11:48 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-12-06 22:53 getting crazy with arm build Andreas Bauer
2021-12-08 11:48 ` pelzflorian (Florian Pelz) [this message]
2021-12-08 14:15 ` Ricardo Wurmus
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
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20211208114800.6s2x2inenpptake4@pelzflorian.localdomain \
--to=pelzflorian@pelzflorian.de \
--cc=andreas.wolfgang.bauer@gmail.com \
--cc=help-guix@gnu.org \
/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 external index
https://git.savannah.gnu.org/cgit/guix.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.