Debian Images for Duo256/DuoS

Using the latest image i managed to install on the DuoS

  1. Logitech Media Server to connect to my NAS and access my music (nfs).
  2. Squeezeplayer to play the music (apt install squeezelite)
  3. Install bluez-alsa to connect my duoS BT to my BT headphone.
  4. Set the output device to bluealsa. : $ squeezelite -o bluealsa

Ace in the hole! Interface working snappy, no lagging, music sounds good.
My battery pack can play 20 hours and more. Nice.
This is a work in progress. What i like to do further is
a. add LDAC en Aptx to the BT codec.
b. make startup scripts to start LMS server and SQplayer on boot.
c. Move squeezelite to the RTOS core.
d. use an USB DAC dongle on USB-A port instead of the BT.
(e. use I2s to connect a HAT to the duoS)

4 Likes

One question (since I’m looking for this functionality specifically) - have you dropped camera and video processing to maximize available memory or there is some problems with compiling relevant kernel modules ?

(by your advice in other discussions here I’ve looked in sg200x-branches of relevant sophgo’s (not milk ones) github repositories and got under impression that something might prevent kernel and sdk sources compilation)

1 Like

Short answer: it’s complicated.

  1. I don’t own any camera to test with.
  2. the middleware libraries for the sensors/ISP link to two utility libraries (a JSON library and a Config file library afaik) that they didn’t provide the source for. As they use MUSL as the libc in their buildroot, it’s incompatible with glibc in Debian.

No 2 should be easily solvable for someone with adequate experience - just update their middleware to build against the OSS version of the json/config libraries)

2 Likes

Hoi again. I try to use the USB-A port, but not quite getting there.

I disabled all the gadgets, rebooted, used usb-switch, rebooted.
lsusb shows my usb drive, lsblk only the ssd card. See pastebin
dmesg shows that i canchange the usb drive.
( i get debian@duos:~$ sudo modprobe usb-storage
modprobe: FATAL: Module usb-storage not found in directory /lib/modules/5.10.4-20240329-1+, should usb-storage be installed?)
(I use fstab, should i mount it there? How do id the drive dev/sda doenst show up anywhere?? usb-devices gives a driver=(None) ? )

1 Like

I’m building new images that should fix this… should be available soonish (look for 1.3 release or grab a test image from the github actions artifact screen)

2 Likes

1.3 i can see! Thanks again,. Will grab it tomorrow. Isthe usb-storage error important? See above…

1 Like

Thanks, is there a way to fix this without reinstalling?

Edit: never mind, I already tried installing the provided debs only and broke the system.

Quick Update:
I’ve just released a new version (1.4) that supports DuoS with EMMC.

Next Release will be focusing on mainline support with Kernel 6.10-rc plus proposed patches - meaning that it it will likely be a bit unstable or lots of churn as new patches are posted.

7 Likes

the next release (with mainline) will have some fixes to allow kernel upgrades. (Debain doesn’t like your /boot partition being a FAT partition, and thus when upgrading kernels, it breaks - I’ll copy the rpikernelhack “hack” that raspberrypi uses to get around that).

6 Likes

Using the 1.4 now and having great fun with it. Made an audio streamer by installing/compiling Spotify Connect to it, ( cargo install spotifyd) , then bluezalsa to output to alsa to bluetooth on my receiver. Sounds great. Also a USB dac dongle works great on the USB-A port. Thanks for effort sofar, appreciated!

4 Likes

Is there a way to utilize the remaining space in the EMMC version as there is not much available space

1 Like

It should be fully utilized.

1 Like

Duo64 Ubuntu 22.0x

5 Likes

wg

我的 duo 256M 内核支持 wireguard

MilkV Duo 256M 升级内核 支持WireGuard 内网穿透做稳定文件服务器

2 Likes

Firstly, thanks heaps to @Fishwaldo for a great debian image. I copied it to microsd and was able to connect it to the network and update and install using apt-get.


My desktop using fvwm and vnc to log in over the network :grinning:

Just wondering how hard it would be to enable the MIPI display functionality?
Would like have the desktop straight to screen.

4 Likes

I do plan to work on the MPI DSI display support eventually. When I have some free time.

(The way MIPi DSI is handled in the buildroot is a bit unorthodox so making it work on the Debian image requires some work)

3 Likes

Thanks for nice Debian Images!

I am new to RISC-V and embedded Linux in general. I would like to port a drm kernel module to the duo256 to drive a display over SPI, is this currently possible with these Debian images?

Make is complaining:

scripts/Makefile.build:44: arch/riscv/kernel/vdso/Makefile: No such file or directory

I can build the driver fine on armhf boards (pi zero w, pi 2)

If someone could point me in the right direction I would really appreciate it. Thanks!

1 Like

Thank you very much for this beautiful project. Is there any way to run your project with arm boot?

2 Likes

I have the following error when running in docker, how should I solve it:

make BOARD=duo256 image
Board: duo256
Storage: sd
Image Addons: "usb-gadget"
Packages: ca-certificates debian-archive-keyring dosfstools binutils file tree sudo bash-completion u-boot-menu openssh-server network-manager dnsmasq-base libpam-systemd ppp libengine-pkcs11-openssl iptables systemd-timesyncd vim usbutils parted exfatprogs systemd-sysv i2c-tools net-tools ethtool avahi-utils sudo gnupg rsync gpiod u-boot-tools libubootenv-tool duo-pinmux

Preparing Image for duo256

rm: cannot remove '/build//usb-gadget-stamp': No such file or directory
make: [Makefile:198: /build//image-prepare-stamp] Error 1 (ignored)
Warning: apt-key is deprecated. Manage keyring files in trusted.gpg.d instead (see apt-key(8)).
gpg: no valid OpenPGP data found.
1 Like

I am not so well versed in the Linux kernel but does anyone know which mainline Linux version is likely to have Duo S support? Would we be able to drop in the new kernel into this debian?

1 Like