Discussion:
Enabling arm64 live image builds
(too old to reply)
Emanuele Rocca
2023-09-25 11:00:01 UTC
Permalink
Hi!

Live images are currently only being built for x86 machines as far as I
can see on [1] and [2].

I've tried building them on arm64 too, and everything worked perfectly
fine. I'm thus wondering whether it would be possible to build official
images for arm64 as well?

Here's the commands I've used:

$ lb config --distribution sid --updates false --bootloaders grub-efi --archive-areas 'main non-free-firmware'
$ echo task-gnome-desktop > config/package-lists/desktop.list.chroot
$ sudo lb build

The resulting image can be tested with qemu on a x86 host.

For example:

$ ISO=/var/tmp/live-image-arm64.hybrid.iso
$ cp /usr/share/AAVMF/AAVMF_VARS.fd /tmp
$ qemu-system-aarch64 -machine virt -cpu max,pauth-impdef=on -smp `nproc` -m 4G \
-device qemu-xhci -device usb-kbd -device ramfb -device usb-tablet \
-drive file=$ISO,format=raw,if=none,id=thumb -device usb-storage,drive=thumb,bootindex=1 \
-drive file=/usr/share/AAVMF/AAVMF_CODE.fd,if=pflash,readonly=true \
-drive file=/tmp/AAVMF_VARS.fd,format=raw,if=pflash \
-netdev user,id=net0 -device virtio-net-pci,netdev=net0

Click on View -> serial0 to follow the boot process, and switch back to
ramfb after gdm has started.

Thanks!
Emanuele

[1] https://www.debian.org/CD/live/
[2] https://cdimage.debian.org/debian-cd/current-live/
Steve McIntyre
2023-09-25 12:00:01 UTC
Permalink
Hey Emanuele!
Post by Emanuele Rocca
Live images are currently only being built for x86 machines as far as I
can see on [1] and [2].
Yup.
Post by Emanuele Rocca
I've tried building them on arm64 too, and everything worked perfectly
fine. I'm thus wondering whether it would be possible to build official
images for arm64 as well?
It should be, but may need some extra build setup work. All the
official installer and live images are built on casulana, our big
amd64 build machine. We have some infra for doing builds in qemu VMs
if needed, but I suspect that's going to be very slow. Meh, we can
work our a solution for that at some point
Post by Emanuele Rocca
$ lb config --distribution sid --updates false --bootloaders grub-efi --archive-areas 'main non-free-firmware'
$ echo task-gnome-desktop > config/package-lists/desktop.list.chroot
$ sudo lb build
The resulting image can be tested with qemu on a x86 host.
$ ISO=/var/tmp/live-image-arm64.hybrid.iso
$ cp /usr/share/AAVMF/AAVMF_VARS.fd /tmp
$ qemu-system-aarch64 -machine virt -cpu max,pauth-impdef=on -smp `nproc` -m 4G \
-device qemu-xhci -device usb-kbd -device ramfb -device usb-tablet \
-drive file=$ISO,format=raw,if=none,id=thumb -device usb-storage,drive=thumb,bootindex=1 \
-drive file=/usr/share/AAVMF/AAVMF_CODE.fd,if=pflash,readonly=true \
-drive file=/tmp/AAVMF_VARS.fd,format=raw,if=pflash \
-netdev user,id=net0 -device virtio-net-pci,netdev=net0
Click on View -> serial0 to follow the boot process, and switch back to
ramfb after gdm has started.
OK. However, do we expect the image to be usable on any real machines
as-is?
--
Steve McIntyre, Cambridge, UK. ***@einval.com
Welcome my son, welcome to the machine.
Emanuele Rocca
2023-09-25 14:20:01 UTC
Permalink
Hi Steve!
Post by Steve McIntyre
However, do we expect the image to be usable on any real machines
as-is?
Ah yes, reality. :-)

I've tested a live image on my RPi 3 B+ with Tianocore firmware and it
works well (lxde, gnome takes too long to start and I suspect 1G of
total memory is really not enough for it these days!)

Currently I'm trying to get the right combo of modules in the initrd to
get it booting on the X13s as well.

I suspect most SystemReady certified systems should work too, but I
haven't tried.

Emanuele

Loading...