Support for Mango Pi MQ Pro (riscv with Allwinner D1)?

I had been trying dietpi on several of my SBC with excellent experience, including bunch of nanopi running H3, H5, 4418, 6818, rk3399, and Rockpi 5A & 5B.

I recently grab a mangopi which is similar to Raspberry Pi zero but on riscv.
I want to give it a try it with dietpi, however, everytime when I try to install the through the script, the wifi connection would drop and stop the process. Itโ€™s frustrating.

I wonder if there is some successful case for installing dietpi on this board here?

What about local installation with keyboard and monitor, after that you can config the network and switch back to wifi.

Due to the high number of available SBCs, we are not able to support everything and every device. The install script only offers a possibility but does not provide a guarantee. This is especially true for SBCs that we do not support. For riscv we have only recently added support. Since the number of riscv SBCs is still rather small, it is quite possible that some of them do not work yet. Perhaps @MichaIng has an idea.

The problem is not so much RISC-V in general, but that every vendor adds its own kernel and firmware with non-standard package names, or even unpackaged just with the files thrown somewhere onto the image.

To have a DietPi image โ€œdietโ€, we mark only a number of known required packages to stay, and purge everything else. We cannot reasonably maintain a list of each vendorโ€™s own package naming conventions, also since they change all the time, so we only keep those with well known standard kernel/dtb/bootloader/firmware package names. If now e.g. the WiFi chip used by this SBC is now yet supported by Debianโ€™s firmware packages, and the vendor uses some own random package name, or an old version string, they are purged and with this WiFi functionality lost.

Basically you would need to check e.g. via dpkg -l which the kernel, bootloader and firmware packages are named, or otherwise where/how those files are stored, to then edit the script to have them preserved.

Thanks for your suggestion. Actually Iโ€™ve been using various distribution images, most of them armbian, with wifi and usb-ethernet adaptor. However, every time they end with wifi/network failureโ€ฆ

I really appreciate the dietpi team and I understand that it is impossible for the team to support all the SBCs in the market. So I was trying hard to install dietpi through the easy to use installation scripts, which help me to install dietpi on Rock 5A :slight_smile:

:smiley: esโ€ฆ riscv chips support were usually not well supportedโ€ฆ just thought it would give a direct comparison with raspberry pi zero and all other SBC with the dietpi benchmark so we can know the real speed of these riscv chip :slight_smile:

I was using the armbian image for the mangopi with minimal installation, connected through wifi /usb-ethernet adaptor and access through serial debug-port which tell me the wifi/ethernet were dropped in the middle of the installation, leaving only the loop-back lo in ifconfig. So I doubt if itโ€™s purging away the networking package of riscvโ€ฆ

Anyway thanks Michalng for your hardwork in maintaining this lovely distro, which I really enjoy to use!:smiley:

1 Like

can you share the log taken from serial console?

Right, if you use an Armbian image as basis, and if that one had WiFi working, than it should still work after the DietPi installation, as they use standard package names which our installer preserves. Take care to select โ€œGeneric Deviceโ€ in this case.

sure, which log you would like me to capture?

yes, Iโ€™ve chosen teh generic device in the installation script but I still lost connectivity during the script running. It said failure to reach armbian source in apt in the error which remind me to check for network. However, i can use the script with nanopi 3 fire and rock 5a armbian image, which made me puzzlingโ€ฆ

By the way, the dietpi is actually running smoothly with rock 5a! :smiley: :+1:

1 Like

If possible the whole log from running the DietPi install script

where can I get such log file? I will get it tonight when I back to home!

Is it possible to copy directly from console or SSH terminal?

| IP: 192.168.3.95 | Use up/down buttons to scroll textโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚ APT update
โ”‚  - Command: apt-get -y -eany update
โ”‚  - Exit code: 100
โ”‚  - DietPi version: v8.20.1 (MichaIng/master) | HW_MODEL: 22 | HW_ARCH: 11 |
โ”‚ DISTRO: 7
โ”‚  - Error log:
โ”‚ Get:1 https://deb.debian.org/debian-ports sid InRelease [93.6 kB]
โ”‚ Get:2 https://deb.debian.org/debian-ports unreleased InRelease [62.9 kB]
โ”‚ Err:1 https://deb.debian.org/debian-ports sid InRelease
โ”‚   The following signatures couldn't be verified because the public key is
โ”‚ not available: NO_PUBKEY B523E5F3FC4E5F2C NO_PUBKEY 8D69674688B6CB36
โ”‚ Err:2 https://deb.debian.org/debian-ports unreleased InRelease
โ”‚   The following signatures couldn't be verified because the public key is
โ”‚ not available: NO_PUBKEY B523E5F3FC4E5F2C NO_PUBKEY 8D69674688B6CB36
โ”‚ Reading package lists...
โ”‚
โ”‚     Retry          : Re-run the last command that failed                โ†‘
โ”‚     Open subshell  : Open a subshell to investigate or solve the issue  โ–ฎ
โ”‚
โ”‚
โ”‚                     <Ok>                         <Exit>
โ”‚                                                                              โ”‚

 | IP: 192.168.3.95





โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค DietPi-Installer โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                                                                              โ”‚
โ”‚ A bash subshell will now open which allows you to investigate and/or fix the โ”‚
โ”‚ issue.                                                                       โ”‚
โ”‚                                                                              โ”‚
โ”‚ Please use the "exit" command when you are finished, to return to this error โ”‚
โ”‚ handler menu.                                                                โ”‚
โ”‚                                                                              โ”‚
โ”‚                                    <Ok>                                      โ”‚
โ”‚                                                                              โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜





                B523E5F3FC4E5F2C 8D69674688B6CB36                                                       sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys B523E5F3FC4E5F2C NO_PUBKEY 8D69674688B6CB36
Warning: apt-key is deprecated. Manage keyring files in trusted.gpg.d instead (see apt-key(8)).
Executing: /tmp/apt-key-gpghome.m5klmU6JUs/gpg.1.sh --keyserver keyserver.ubuntu.com --recv-keys B523E5F3FC4E5F2C 8D69674688B6CB36
gpg: key 8D69674688B6CB36: public key "Debian Ports Archive Automatic Signing Key (2024) <ftpmaster@ports-master.debian.org>" imported
gpg: key B523E5F3FC4E5F2C: public key "Debian Ports Archive Automatic Signing Key (2023) <ftpmaster@ports-master.debian.org>" imported
gpg: Total number processed: 2
gpg:               imported: 2
root@nezha:/tmp/DietPi-Installer# exit
exit

 | IP: 192.168.3.95 | Use up/down buttons to scroll textโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚ APT update
โ”‚  - Command: apt-get -y -eany update
โ”‚  - Exit code: 100
โ”‚  - DietPi version: v8.20.1 (MichaIng/master) | HW_MODEL: 22 | HW_ARCH: 11 |
โ”‚ DISTRO: 7
โ”‚  - Error log:
โ”‚ Get:1 https://deb.debian.org/debian-ports sid InRelease [93.6 kB]
โ”‚ Get:2 https://deb.debian.org/debian-ports unreleased InRelease [62.9 kB]
โ”‚ Err:1 https://deb.debian.org/debian-ports sid InRelease
โ”‚   The following signatures couldn't be verified because the public key is
โ”‚ not available: NO_PUBKEY B523E5F3FC4E5F2C NO_PUBKEY 8D69674688B6CB36
โ”‚ Err:2 https://deb.debian.org/debian-ports unreleased InRelease
โ”‚   The following signatures couldn't be verified because the public key is
โ”‚ not available: NO_PUBKEY B523E5F3FC4E5F2C NO_PUBKEY 8D69674688B6CB36
โ”‚ Reading package lists...
โ”‚
โ”‚     Retry          : Re-run the last command that failed                โ†‘
โ”‚     Open subshell  : Open a subshell to investigate or solve the issue  โ–ฎ
โ”‚
โ”‚
โ”‚                     <Ok>                         <Exit>
โ”‚                                                                              โ”‚
[ INFO ] DietPi-Installer | APT update, please wait...
Get:1 https://deb.debian.org/debian-ports sid InRelease [93.6 kB]
Get:2 https://deb.debian.org/debian-ports unreleased InRelease [62.9 kB]
Get:3 https://deb.debian.org/debian-ports sid/main riscv64 Packages [16.1 MB]
Get:4 https://deb.debian.org/debian-ports sid/contrib riscv64 Packages [49.1 kB]
Get:5 https://deb.debian.org/debian-ports sid/non-free-firmware riscv64 Packages [23.9 kB]
Get:6 https://deb.debian.org/debian-ports sid/non-free riscv64 Packages [62.4 kB]
Get:7 https://deb.debian.org/debian-ports unreleased/main riscv64 Packages [18.2 kB]
Fetched 16.4 MB in 29s (566 kB/s)
Reading package lists...
W: https://deb.debian.org/debian-ports/dists/sid/InRelease: Key is stored in legacy trusted.gpg keyring (/etc/apt/trusted.gpg), see the DEPRECATION section in apt-key(8) for details.
W: https://deb.debian.org/debian-ports/dists/unreleased/InRelease: Key is stored in legacy trusted.gpg keyring (/etc/apt/trusted.gpg), see the DEPRECATION section in apt-key(8) for details.
[  OK  ] DietPi-Installer | APT update
[ INFO ] DietPi-Installer | APT purge usrmerge, please wait...
Reading package lists...
Building dependency tree...
Reading state information...
The following additional packages will be installed:
  init-system-helpers usr-is-merged
The following packages will be REMOVED:
  usrmerge*
The following NEW packages will be installed:
  usr-is-merged
The following packages will be upgraded:
  init-system-helpers
1 upgraded, 1 newly installed, 1 to remove and 281 not upgraded.
Need to get 54.6 kB of archives.
After this operation, 188 kB disk space will be freed.
Get:1 https://deb.debian.org/debian-ports sid/main riscv64 usr-is-merged all 35 [4832 B]
Get:2 https://deb.debian.org/debian-ports sid/main riscv64 init-system-helpers all 1.65.2 [49.8 kB]
Fetched 54.6 kB in 2s (28.5 kB/s)
                                 Selecting previously unselected package usr-is-merged.
(..    g database ... 22895 files and directories currently installed.)
Preparing to unpack .../usr-is-merged_35_all.deb ...
Unpacking usr-is-merged (35) ...
Setting up usr-is-merged (35) ...
(Reading database ... 22898 files and directories currently installed.)
Preparing to unpack .../init-system-helpers_1.65.2_all.deb ...
Unpacking init-system-helpers (1.65.2) over (1.65.2) ...
Setting up init-system-helpers (1.65.2) ...
(Reading database ... 22897 files and directories currently installed.)
Removing usrmerge (33ubuntu1) ...
[  OK  ] DietPi-Installer | APT purge usrmerge
[ INFO ] DietPi-Installer | Marking all packages as auto-installed first, to allow effective autoremove afterwards
[      ] DietPi-Installer | apt-mark auto adduser apt apt-utils armbian-bsp-cli-nezha-grub armbian-firmware 
armbian-plymouth-theme base-files base-passwd bash bc bsdutils btrfs-progs busybox-initramfs bzip2 ca-certificates 
chrony cloud-initramfs-growroot console-setup console-setup-linux coreutils cpio cracklib-runtime cron cron-daemon-common 
curl dash dbus dbus-bin dbus-daemon dbus-session-bus-common dbus-system-bus-common dbus-user-session debconf 
debconf-utils debianutils device-tree-compiler dialog diffutils dirmngr dmsetup dpkg e2fsprogs efibootmgr 
efivar fake-hwclock fdisk figlet findutils fping gcc-13-base gnupg gnupg-l10n gnupg-utils gpg gpg-agent gpg-wks-client 
gpg-wks-server gpgconf gpgsm gpgv grep grub-efi-riscv64 grub-efi-riscv64-bin gzip hostapd hostname htop i2c-tools 
ifupdown init init-system-helpers initramfs-tools initramfs-tools-bin initramfs-tools-core iozone3 iproute2 iputils-ping
isc-dhcp-client jq kbd keyboard-configuration klibc-utils kmod less libacl1 libapparmor1 libapt-pkg6.0 libargon2-1 
libassuan0 libatomic1 libattr1 libaudit-common libaudit1 libblkid1 libbpf1 libbsd0 libbz2-1.0 libc-bin libc6 libcap-ng0 
libcap2 libcap2-bin libcom-err2 libcrack2 libcrypt1 libcryptsetup12 libdb5.3 libdbus-1-3 libdebconfclient0 libdevmapper1.02.1
libelf1 libestr0 libexpat1 libext2fs2 libfastjson4 libfdisk1 libffi8 libgcc-s1 libgcrypt20 libgmp10 libgnutls30 libgpg-error0 
libgssapi-krb5-2 libhogweed6 libidn2-0 libip4tc2 libjson-c5 libk5crypto3 libkeyutils1 libklibc libkmod2 libkrb5-3 
libkrb5support0 libksba8 libldap2 liblocale-gettext-perl liblz4-1 liblzma5 liblzo2-2 libmd0 libmnl0 libmount1 
libncursesw6 libnettle8 libnewt0.52 libnpth0 libp11-kit0 libpam-modules libpam-modules-bin libpam-runtime 
libpam-systemd libpam0g libpcre2-8-0 libpopt0 libproc2-0 libreadline8 libsasl2-2 libsasl2-modules-db libseccomp2 
libselinux1 libsemanage-common libsemanage2 libsepol2 libslang2 libsmartcols1 libsqlite3-0 libss2 libssl3 libstdc++6 
libsystemd-shared libsystemd0 libtasn1-6 libtinfo6 libtirpc-common libtirpc3 libudev1 libunistring2 libuuid1 libxtables12 
libxxhash0 libzstd1 linux-base linux-image-current-d1 linux-u-boot-nezha-current locales login logrotate logsave lsb-base lsof 
mawk mc mmc-utils mount nano ncurses-base ncurses-bin ncurses-term neofetch net-tools netbase netcat-openbsd 
netplan.io network-manager network-manager-openvpn openssh-server openssl os-prober parted passwd perl-base 
pinentry-curses procps psmisc python3-apt readline-common rsync rsyslog sed sensible-utils smartmontools 
sudo sysfsutils sysstat systemd systemd-resolved systemd-sysv sysvinit-utils tar toilet tzdata u-boot-tools ubuntu-keyring 
ucf udev usbutils util-linux util-linux-extra wget whiptail wireguard-tools wireless-regdb wireless-tools wpasupplicant xkb-data zlib1g
[  OK  ] DietPi-Installer | apt-mark auto adduser apt apt-utils armbian-bsp-cli-nezha-grub armbian-firmware 
armbian-plymouth-theme base-files base-passwd bash bc bsdutils btrfs-progs busybox-initramfs bzip2 ca-certificates 
chrony cloud-initramfs-growroot console-setup console-setup-linux coreutils cpio cracklib-runtime cron cron-daemon-common 
curl dash dbus dbus-bin dbus-daemon dbus-session-bus-common dbus-system-bus-common dbus-user-session debconf 
debconf-utils debianutils device-tree-compiler dialog diffutils dirmngr dmsetup dpkg e2fsprogs efibootmgr 
efivar fake-hwclock fdisk figlet findutils fping gcc-13-base gnupg gnupg-l10n gnupg-utils gpg gpg-agent gpg-wks-client 
gpg-wks-server gpgconf gpgsm gpgv grep grub-efi-riscv64 grub-efi-riscv64-bin gzip hostapd hostname htop i2c-tools 
ifupdown init init-system-helpers initramfs-tools initramfs-tools-bin initramfs-tools-core iozone3 iproute2 iputils-ping
isc-dhcp-client jq kbd keyboard-configuration klibc-utils kmod less libacl1 libapparmor1 libapt-pkg6.0 libargon2-1 
libassuan0 libatomic1 libattr1 libaudit-common libaudit1 libblkid1 libbpf1 libbsd0 libbz2-1.0 libc-bin libc6 libcap-ng0 
libcap2 libcap2-bin libcom-err2 libcrack2 libcrypt1 libcryptsetup12 libdb5.3 libdbus-1-3 libdebconfclient0 libdevmapper1.02.1
libelf1 libestr0 libexpat1 libext2fs2 libfastjson4 libfdisk1 libffi8 libgcc-s1 libgcrypt20 libgmp10 libgnutls30 libgpg-error0 
libgssapi-krb5-2 libhogweed6 libidn2-0 libip4tc2 libjson-c5 libk5crypto3 libkeyutils1 libklibc libkmod2 libkrb5-3 
libkrb5support0 libksba8 libldap2 liblocale-gettext-perl liblz4-1 liblzma5 liblzo2-2 libmd0 libmnl0 libmount1 
libncursesw6 libnettle8 libnewt0.52 libnpth0 libp11-kit0 libpam-modules libpam-modules-bin libpam-runtime 
libpam-systemd libpam0g libpcre2-8-0 libpopt0 libproc2-0 libreadline8 libsasl2-2 libsasl2-modules-db libseccomp2 
libselinux1 libsemanage-common libsemanage2 libsepol2 libslang2 libsmartcols1 libsqlite3-0 libss2 libssl3 libstdc++6 
libsystemd-shared libsystemd0 libtasn1-6 libtinfo6 libtirpc-common libtirpc3 libudev1 libunistring2 libuuid1 libxtables12 
libxxhash0 libzstd1 linux-base linux-image-current-d1 linux-u-boot-nezha-current locales login logrotate logsave lsb-base lsof 
mawk mc mmc-utils mount nano ncurses-base ncurses-bin ncurses-term neofetch net-tools netbase netcat-openbsd 
netplan.io network-manager network-manager-openvpn openssh-server openssl os-prober parted passwd perl-base 
pinentry-curses procps psmisc python3-apt readline-common rsync rsyslog sed sensible-utils smartmontools 
sudo sysfsutils sysstat systemd systemd-resolved systemd-sysv sysvinit-utils tar toilet tzdata u-boot-tools ubuntu-keyring 
ucf udev usbutils util-linux util-linux-extra wget whiptail wireguard-tools wireless-regdb wireless-tools wpasupplicant xkb-data zlib1g
[ INFO ] DietPi-Installer | Armbian package detected and added: linux-image-current-d1
[FAILED] DietPi-Installer | eval curl -sSfL 'https://apt.armbian.com/armbian.key' | gpg --dearmor -o /etc/apt/trusted.gpg.d/dietpi-armbian.gpg --yes

and the script stopped

root@nezha:/tmp/DietPi-Installer# ping https://apt.armbian.com/
ping: https://apt.armbian.com/: System error
root@nezha:/tmp/DietPi-Installer# ifconfig
lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 52  bytes 3832 (3.8 KB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 52  bytes 3832 (3.8 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

root@nezha:/tmp/DietPi-Installer# dmesg | grep wlan0
[   60.381130] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
root@nezha:/tmp/DietPi-Installer# iwlist wlan0 scanning
wlan0     Interface doesn't support scanning.

root@nezha:/tmp/DietPi-Installer# lsusb
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
root@nezha:/tmp/DietPi-Installer# lsmod
Module                  Size  Used by
rfkill                 32768  1
lz4hc                  16384  0
lz4hc_compress         32768  1 lz4hc
lz4                    16384  0
lz4_compress           49152  1 lz4
leds_sun50i_a100       24576  0
binfmt_misc            28672  1
vfat                   28672  1
fat                   126976  1 vfat
fuse                  184320  1
ip_tables              40960  0
root@nezha:/tmp/DietPi-Installer# ping 192.168.3.1
ping: connect: Network is unreachable

hmm this looks like a source file configuration for sid unstable distribution Debian -- The unstable distribution ("sid")

Would it be possible to share the original source file before starting the install process?

for i in /etc/apt/sources.list{,.d/*.list}; do echo "$i:"; cat "$i"; done

You donโ€™t support devices. That is done by kernel developers.

root@nezha:~# for i in /etc/apt/sources.list{,.d/*.list}; do echo "$i:"; cat "$i"; done
/etc/apt/sources.list:
deb http://ports.ubuntu.com/ lunar main restricted universe multiverse
#deb-src http://ports.ubuntu.com/ lunar main restricted universe multiverse

deb http://ports.ubuntu.com/ lunar-security main restricted universe multiverse
#deb-src http://ports.ubuntu.com/ lunar-security main restricted universe multiverse

deb http://ports.ubuntu.com/ lunar-updates main restricted universe multiverse
#deb-src http://ports.ubuntu.com/ lunar-updates main restricted universe multiverse

deb http://ports.ubuntu.com/ lunar-backports main restricted universe multiverse
#deb-src http://ports.ubuntu.com/ lunar-backports main restricted universe multiverse
/etc/apt/sources.list.d/*.list:
cat: '/etc/apt/sources.list.d/*.list': No such file or directory

It looks strange, the original sources were pointing to lunar instead of sidโ€ฆ
it would be the installation script that changed the source file?

AHH this is a Ubuntu image? Because we donโ€™t support Ubuntu at all. It would need to be a Debian image you need to use.