NetBSD-Users archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: some general questions concerning cross-compiling pkg for armv7 and armv6
void <void%f-m.fm@localhost> writes:
> I'm new to netbsd but old to freebsd so am exploring the
> netbsd way of doing things. I was wondering if the following was
> possible or feasible:
Welcome!
> 1. netbsd on amd64 building packages for arm6/7 [a]
There is crossbuild support, but my impression is that a lot of packages
are not ok with it.
> 2. if some packages like rust cannot be built using the method above
Surely some, really not sure which. Note RUST_TYPE=bin if you want to
just run a rust bianry.
> 3. if it is 'better' to build on arm7 for arm6 instead of amd64 for arm7/6
If cross works, ought to be ok. But it's the harder, higher risk, more
things likely not ok path.
> How frequently are packages built for arm7 and arm6 on the public builders?
You can subscribe to pkgsrc-bulk, but what's built are quarterly stable
branches, and after a few weeks the builds tend to be pretty up to date,
for some value of up to date of a few weeks. Maybe it's better than
that. Likely that's well more than good enough.
> These arm machines are used mainly to facilitate console access to other boxes
> which are not usually equipped with an iLo or equivalent. The v7 machines
> run split horizon unbound instances. So they at most need maybe 30 primary
> packages that need regular building. The armv6 machine needs a lot less,
> just tmux, fping, a few others. I'm wondering if a custom pbulk is a
> better way of organising this
> on one machine that the others can access for updates
Doing your own builds is totally feasible. A few hints:
building on arm7 for arm6, in a chroot presumably, I think is pretty
normal. It's also normal to build for 32-bit arm on aarch64. That's
not cross, because the compiler etc. runs in the chroot.
While you can set up pbulk and I don't want to discourage you, you can
also just build packages on one machine, and then create a summary,
and then use pkgin on otheer machines.
You probably can run armv6 code on armv7-capable RPIs. Probably that
doesn't hurt much (from not using the v7 only instructions). Then the
native build on the v7-actually v6-targetted compiler will run on
both.
> The destination machines are all rpis (rpi1b+, 2b+ v1.2). Machines available
> for pbulk are amd64 and armv7. I'd like to avoid armv6 for compiling if I can
If you only need a few normal packages and they are in the public binary
package sets, then you might as well just use those, unless it's fun or
better for some other reason to build your own. You can of course
start out that way and switch.
I build my own packages for many version/cpu combinations (7?). I
don't use pbulk even though I should. I have scripts to fetch "pkgin
sk" output, more or less, and merge it, finding missing/extra on the
build machine, so that my package set will work on all my clients.
Home |
Main Index |
Thread Index |
Old Index