BeagleY-AI customizing debian

Hi all,

got mine BeagleY-AI :grin:
What is the recommended way to customize the “standard” XFCE debian? I’d like to start from a headless minimal configuration and extend it on the way. I probably have also have to update the BMI160 kernel driver later :roll_eyes: but that’s a different topic.

For customizing the debian:

  1. Shall I just start with the “standard” XFCE debian and uninstall the not used packages to get to the headless minimal?
  2. How to disable XFCE/GUI easily?
  3. Is there a minimal debian available for the BeagleY-AI?

Thanks

$sudo systemctl disable lightdm

Make sure you have either debug port access or known working ssh connection before doing this.

$sudo systemctl enable lightdm

To turn it back on.

Highly suggest just turning it off, its bad business to start deleting packages. It could lead to what ever could go wrong, and to make things worse, random and not easily triggered. Besides, you might need desktop tools to debug and just restart the service.

1 Like

Until BB releases one or a yocto build is created no.
We have an AI-64 in production and it uses a factory image, with lightdm disabled. Its been in service for months, maybe a year or so. The issues encountered were resolved by shutting down lightdm and running headless using the factory supplied image.

@foxsquirrel Thanks a lot!

1 Like

BeagleY-AI images are generated with: BeagleBoard.org / image-builder · GitLab

I have setup 3 example images, Xfce, Cinnamon and minimal.

Xfce: configs/bb.org-debian-bookworm-xfce-v6.1-ti-arm64-k3-j722s.conf · master · BeagleBoard.org / image-builder · GitLab

./RootStock-NG.sh -c bb.org-debian-bookworm-xfce-v6.1-ti-arm64-k3-j722s

minimal: configs/bb.org-debian-bookworm-minimal-v6.1-ti-arm64-k3-j722s.conf · master · BeagleBoard.org / image-builder · GitLab

./RootStock-NG.sh -c bb.org-debian-bookworm-minimal-v6.1-ti-arm64-k3-j722s

Cinnamon: configs/bb.org-debian-bookworm-cinnamon-v6.1-ti-arm64-k3-j722s.conf · master · BeagleBoard.org / image-builder · GitLab

./RootStock-NG.sh -c bb.org-debian-bookworm-cinnamon-v6.1-ti-arm64-k3-j722s

Weekly builds of all 3:
xfce: Index of /rootfs/debian-arm64-12-bookworm-xfce-v6.1-ti
minimal: Index of /rootfs/debian-arm64-12-bookworm-minimal-v6.1-ti
cinnamon: Index of /rootfs/debian-arm64-12-bookworm-cinnamon-v6.1-ti

These can all be flashed with bb-imager…

Final *.img creation is created with:

sudo ./setup_sdcard.sh --img-${filesize} beagley-ai-${export_filename} --dtb beagley-ai-swap

Regards,

2 Likes

Wow!! :grinning: Thanks. I’d say this is worth mentioning somewhere on the BeagleY-AI pages!

Thank you ! can we add Qt 5.15 in the image ? what about cross-compilation ?

qt5 get’s pulled in by apps that need it…

voodoo@BeagleBone:~$ dpkg --list | grep qt5
ii  libqt5core5a:arm64                            5.15.8+dfsg-11+deb12u2                               arm64        Qt 5 core module
ii  libqt5dbus5:arm64                             5.15.8+dfsg-11+deb12u2                               arm64        Qt 5 D-Bus module
ii  libqt5gui5:arm64                              5.15.8+dfsg-11+deb12u2                               arm64        Qt 5 GUI module
ii  libqt5network5:arm64                          5.15.8+dfsg-11+deb12u2                               arm64        Qt 5 network module
ii  libqt5opengl5:arm64                           5.15.8+dfsg-11+deb12u2                               arm64        Qt 5 OpenGL module
ii  libqt5qml5:arm64                              5.15.8+dfsg-3                                        arm64        Qt 5 QML module
ii  libqt5qmlmodels5:arm64                        5.15.8+dfsg-3                                        arm64        Qt 5 QML Models library
ii  libqt5quick5:arm64                            5.15.8+dfsg-3                                        arm64        Qt 5 Quick library
ii  libqt5svg5:arm64                              5.15.8-3                                             arm64        Qt 5 SVG module
ii  libqt5test5:arm64                             5.15.8+dfsg-11+deb12u2                               arm64        Qt 5 test module
ii  libqt5waylandclient5:arm64                    5.15.8-2                                             arm64        QtWayland client library
ii  libqt5waylandcompositor5:arm64                5.15.8-2                                             arm64        QtWayland compositor library
ii  libqt5widgets5:arm64                          5.15.8+dfsg-11+deb12u2                               arm64        Qt 5 widgets module
ii  libqt5x11extras5:arm64                        5.15.8-2                                             arm64        Qt 5 X11 extras
ii  qt5-gtk-platformtheme:arm64                   5.15.8+dfsg-11+deb12u2                               arm64        Qt 5 GTK+ 3 platform theme
ii  qt5ct                                         1.5-1+b4                                             arm64        Qt5 Configuration Utility

Cross-Compiling, it’s recommend to just use Debian 12.x for you cross-compiling journey. If you need a helper, i have a docker image BeagleBoard.org / ci-docker-images · GitLab with most pre-installed:

image: robertcnelson/beagle-devscripts-kernel-debian-12-amd64:latest

underneath it’s just debian:bookworm-slim with a few defaults: docker/beagle-devscripts-kernel-debian-12-amd64/Dockerfile · main · BeagleBoard.org / ci-docker-images · GitLab

Regards,

I have not done this on the beagley, do use it on other boards. The Y board has plenty of horse power to run a desktop so use 2 boards. Setup one board with NVMe and load it up with your tools and build on it. Send the code to your target and run it. Cross compiling this stuff for graphics/device tree specifics and other stuff is a nightmare, and doing arm64 to arm64 / same target to target builds will make your life much simpler.