#921547 u-boot: Please consider making u-boot-sunxi arch:all

#921547#5
Date:
2019-02-06 18:01:48 UTC
From:
To:
The u-boot-sunxi package contains a bunch of u-boot images which can be
written to SD cards or sent over USB to the device via sunxi-fel.
There's no binary which actually runs under Linux. As such I think it's
appropriate to switch to arch:all, allowing it's installation on other
machines which are creating the SD image or remotely debugging the sunxi
device.

#921547#10
Date:
2019-02-06 20:31:08 UTC
From:
To:
Interesting timing... yesterday I worked on updating Ivo De Decker's
work on cross-building u-boot images for multiple architectures and
building an arch:all u-boot-qemu package:

https://bugs.debian.org/907573

Which demonstrates that in theory it would be possible to make almost
all of the u-boot packages arch:all... essentially any architecture with
working cross-compilers for amd64.


On the other hand, people went through a lot of trouble to make
multi-arch a reality, and you can also install u-boot-sunxi packages
using multi-arch.


I'm not sure what all of the implications are for building more u-boot
packages as arch:all ... some that come to mind:

All of the u-boot-sunxi platforms for both armhf and arm64 would end up
in a single package, which might be unfortunate on some
resource-constrained systems...

Ideally for the end-user, there would be one package per u-boot target,
but I've thus far only broken it up by rough approximations of SoC
families to mitigate the proliferation of many small packages and
getting stuck in NEW for every new platform added.

Being able to do development on a faster platform (e.g. amd64) would be
nice, although in most cases u-boot is already fairly cross-buildable
for any target where this would be feasible, so that seems a mixed
argument.


One thought would be to build a single arch:all package with all of the
cross-buildable targets, and appropriate Provides and Conflicts on other
u-boot-* packages, while still building natively as well... maybe a
little redundant essentially having the same u-boot images in two
places.


Certainly too late for buster, of course, but an interesting idea to
mull over for bullseye...


live well,
  vagrant

#921547#15
Date:
2019-02-07 16:50:01 UTC
From:
To:
Hmmmm. And that discussion raises the issue of a lack in our
infrastructure; the resulting package is arch:all but it needs to be
built on a specific arch (i.e. arm, in this case) or using a cross
compiler. For ARM that isn't a problem as the cross compiler exists in
the archive, but I'm not sure that's true for all of the u-boot targets?

multi-arch is great, but I don't think it's applicable here. The
u-boot-sunxi package contains ARM binaries, but they do not run under
the Debian (or Linux) system. Effectively where I'm coming from is that
any host that can install sunxi-tools may potentially want u-boot-sunxi
to be available, as the image to send via USB. (I'll note, in passing,
that I was pleased to discover the wide range of support in the u-boot
package.)

…

I think we need a way to say "This produces an arch:all package, but
needs to build on arch:arm (or whatever)" and I don't think we have
that. Which means it's not just the simple change I'd hoped it would be.
I'll leave it in your capable hands to think about.

J.

#921547#20
Date:
2020-11-25 04:51:52 UTC
From:
To:
$random_device/$random_architecture.

This is very useful for exactly the same situations where using
`debootstrap --foreign` is.  Say if one has a desktop already running
proper Debian and a target device which needs to get U-Boot.

As such let me suggest this should also be considered for all of the
u-boot-* packages.