Debian GNU/Linux 13 (Trixie) on A64-Olinuxino

Started by Gast-2026-04-08, April 08, 2026, 05:01:39 PM

Previous topic - Next topic

Gast-2026-04-08

In case anyone is interested, here is a summary of how to bring Debian GNU/Linux 13.4.0 on A64-Olinuxino (Rev. H). Don't get your expectations too high, there remain two problems (Ethernet and graphics-performance, I guess), but maybe these ring a bell for someone, and maybe this someone can give a solution. Furthermore, everything I don't need is untested (GPIO, for example).

I may be a litte bit too detailed for some of you, but it may help others (some hints would have saved me some time; I started the first Olinuxino less than two weeks ago). At the end of this text, there are two references to the Debian-intallation-guide; in case you are new and want some context for trying to understand what we are doing here.

For the preparation, we (obviously) don't work on the A64-Olinuxino, but on another GNU/Linux-computer ("other computer", in the following).



*** Other computer ***

We need the following files (you may choose a different mirror-server for the first three, of course):

The net-installation (netboot/netinst) didn't run through due to a problem with Ethernet (see below), so I used this way.

Put the debian-13.4.0-arm64-DVD-1.iso on an USB-stick with ext4 (format and copy the file, no need for transfer the file with dd).

Generate the complete installation-image for the SD-card (you are welcome to use something else than dd):

zcat firmware.a64-olinuxino.img.gz partition.img.gz > hd-media.img
dd if=hd-media.img of=/dev/<SD-card> bs=8K status=progress
sync



*** A64-Olinuxino ***

Put the SD-card in your A64-Olinuxino, attach the installation-USB-stick and another USB-stick and power the device. Install the operating-system onto the other USB-stick.



*** Other computer ***

After installation, put the SD-card into the other computer. Now put the pure (without installer) U-Boot onto the SD-card (this will erase 1 GB of the SD-card, so no confusing remains of the hd-media.img in hexdump):

dd if=/dev/zero of=/dev/<SD-card> bs=1M count=1K status=progress
sync
gunzip a64-olinuxino.img.gz
dd if=a64-olinuxino.img of=/dev/<SD-card>
sync

(If you installed the operating-sytem onto the SD-card, you will need to adapt the previous step to not overwrite the partition-table and filesystem; for that, skip the first dd and append "seek=1 skip=1 bs=8K" to the second dd.)

Take the SD-card out and put it in again (so that the partition-table gets recognised). We put a filesystem onto the partition that is on the SD-card (the a64-olinuxino.img included a partition-table), so that we can later alter the U-Boot-configuration and save these changes:

mkfs.vfat /dev/<SD-card>1     # Don't forget the partition-number 1
sync

(If you installed the operating-sytem onto the SD-card, you should skip the previous step.)



*** A64-Olinuxino ***

Put the SD-card in your A64-Olinuxino, remove the installation-USB-stick (the other USB-stick remains; the one with your operating system) and power the device. Interrupt the boot-process. In the U-Boot-console, enter:

setenv bootargs console=tty1
setenv bootcmd run bootcmd_usb0
saveenv
reset

Omitting the first command may lead to no output via HDMI.

(If you installed the operating-sytem onto the SD-card, adapt the second setenv accordingly.)

The system should boot. During the first boot, you may encouter a message about Apparmor. Stay calm, it will vanish (at least here it did, after a few minutes).

We are finished.



There are, as initially written, (at least) two problems:

First, the GUI feels a bit slow (more than a bit). This is just a wild guess, but top reports a high cpu-load for Xorg, so maybe a missing driver. (I may be terribly wrong with this.)

The second problem is the Ethernet-connection. After the first few megabytes, the throughput drops to less than 100 KB/s. And stays that way. It does not stop, it just gets really slow. I encountered the same phenomenon when I first tried to install via netboot/netinst. During installation, the first operations went through (getting the package-lists and getting the first packages), but then it turned incredibly slow. The system did not hang, it responded normally. But the Ethernet-connection appeared to be slow (but no timeout).



I don't plan to look any further into this (at least not at the moment); Olimex released a new version of Olimage, based on Debian 12 (Bookworm), three days ago, so the end of support for Debian 11 (Bullseye) in August 2026 is not a problem any more.



In case you are wondering, why not just use the U-Boot-file a64-olinuxino.img.gz (instead of the hd-media.img), transfer the debian-13.4.0-arm64-DVD-1.iso with dd (not just copy in a filesystem) to an USB-stick and install from that USB-stick: I cannot say for sure, maybe I ran into the problem of a black screen during the start of GNU/Linux, which could be solved with "setenv bootargs console=tty1" in dem U-Boot, but I discovered that later, and I didn't try it again.

Helpful may also be
https://wiki.debian.org/InstallingDebianOn/Allwinner

You may also want to take a look at section 3.6.2 in
https://www.debian.org/releases/stable/armhf/ch03s06en.html
and section 5.1.5 in
https://www.debian.org/releases/stable/armhf/ch05s01en.html
(the description is missing in the intallation-guide for arm64, so look in the one for armhf).



Appendix (2026-04-10, original post was 2026-04-08):

In the meantime, I realised that the problem with the slow GUI may not be graphics-related, but simply a problem with the reading-performance of SD-cards (even with not the cheapest). I had the problem with slow GUI too with the Olimage based on Bookworm, and after olinuxino-sd-to-emmc it improved drastically, so maybe this will also help with the way described above.

Hint: After olinuxino-so-to-emmc, you have to remove the SD-card, otherwise GNU/Linux will boot from the SD-card. At least I didn't manage to convince the U-Boot to start GNU/Linux from the internal flash-memory. (As I'm writing this, maybe "run bootcmd_mmc1" would be the solution; I looked at a totally different place for a solution.) Removing the SD-card may seem obvious; yes, it is, if you think of it. But you may not think of it. I didn't in the first place.

LubOlimex

About hte part that you need to remove the SD card - I think it is the only way (or have corrupted or card that doesn't have valid image to boot from). It is related to the priority of boot in the eGON bootloder:

https://linux-sunxi.org/BROM#A10.2FA20
Technical support and documentation manager at Olimex