[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Armbian



On Sun, Feb 2, 2020 at 5:51 PM Phil Endecott wrote:

> What do you know about Armbian?  What do you think?

Only what I see on their site and derivatives census page:

https://www.armbian.com/
https://wiki.debian.org/Derivatives/Census/Armbian

I think they are a useful source of workarounds for devices that are
not yet supported in the mainline versions of bootloaders, the Linux
kernel or in Debian itself.

> Is there any overlap between the Debain ARM people on this list
> and the Armbian developers?

AFAICT, the Armbian folks don't post on this mailing list.

> Installation involves downloading an SD card (or similar)
> image which boots directly into a functioning system (with only
> a few first-boot steps like initial user/password setting and
> possibly resizing the filesystem to fill the device).  This
> reminds me more of how the Debian cloud images work than
> Debian Installer.  On devices like the ODROID-HC1 where you
> are very likely to have a large disk as well as the boot
> device, there is a script to move everything over.

Image-based installation methods are currently very hacky. After
installing packages, you will have system-specific files created (like
/etc/machine-id or OpenSSH private keys). The Debian live/cloud images
have to workaround that by deleting the files after the install is
created. Probably that set of deletions needs to be synced between
Debian live/cloud and any future ARM images (not sure if they are
synced yet). The correct way to do this would be for packages to have
a "generically installed" state in dpkg/apt, which would prevent them
from creating system-specific files. More info about this is in the
linked discussions:

https://wiki.debian.org/ReproducibleInstalls
https://wiki.debian.org/SystemBuildTools#Discussions

The other problem with image-based installation methods is that there
are a ridiculous number of devices, so you have to either limit your
device support, produce a prohibitively large amount of
device-specific images, or figure out how to create one image that
works on all devices (which won't be possible due to bootloader
diversity on ARM), or a compromise of a limited number of images that
each work on a range of devices. Limiting the number of images is also
complicated by some devices not having mainline Linux kernel support,
so you need to then install multiple versions of Linux and somehow
have the bootloader figure out which one to install, which also bloats
the size of the images.

> Once installed, the system is almost but not quite regular
> Debian.  For example, there are obvious things like a verbose
> motd that reports the CPU temperature and more subtle differences
> like /var/log being on a RAM disk.  I have been gradually
> trying to make the system more "vanilla" but it's not always
> clear if there will be side effects from e.g. removing or
> disabling these Armbian things.

cruft/cruft-ng might be useful to figure out which parts of the system
are shipped in Armbian but aren't from packages.

> Debian on ARM does suffer a bit, IMHO, from a lack of
> "official" installation support on many of the popular
> boards.  So we end up with things like Raspian.  Unlike
> Raspian, Armbian has NOT rebuilt the package archive; it
> uses official Debain ARM packages.

The Debian Installer supports various boards, but probably will never
be able to support the range of boards Armbian does, simply because
not all boards have support in bootloaders/Linux upstream and not all
boards can run without blobs of some kind. This situation is unlikely
to change until board manufacturers decide to upstream their patches
before selling their boards. The Linux kernel community (especially
Linaro) is working on changing that though.

> Anyway, this all makes me wonder if there could or should
> be closer collaboration here.  For example, should Debian ARM
> be actively steering people towards Armbian as a way to get
> Debian onto their ARM boards?  Could, perhaps, we have some
> way to launch regular Debian Installer and get a regular
> Debian system, after bootstrapping using Armbian?

The collaboration should mainly happen upstream in the bootloader and
Linux kernel communities and then Debian and other ARM based Linux
distros will inherit that work.

You can certainly boot Armbian, debootstrap a new Debian install, copy
over the Armbian versions of the bootloader and Linux kernel and any
other needed customisations.

You can probably also repack the Debian Installer ISO/initramfs files
to include the Armbian versions of bootloaders/Linux.

--
bye,
pabs

https://wiki.debian.org/PaulWise


Reply to: