MichaIng / DietPi

Lightweight justice for your single-board computer!
https://dietpi.com/
GNU General Public License v2.0
4.9k stars 499 forks source link

Support for Orange Pi 5 Pro #7255

Open adshrc opened 1 month ago

adshrc commented 1 month ago

Creating an image request

Formal device information

Is the SBC officially supported by the Debian installer?

If not, is a reliable 3rd party Debian image available for this SBC?

If not, are there install instructions for Debian available?

MichaIng commented 1 month ago

Our Orange Pi 5 image should support the Pro variant as well, or does this not work anymore?

adshrc commented 1 month ago

I suspected that it's not supported because there is no HW_MODEL entry in .build/images/dietpi-build. But I can try it of course - will report back in a couple days.

MichaIng commented 4 weeks ago

There is no dedicated hardware ID for it, because it supports (did support) both. Similarly, we have no dedicated Odroid N2+ image, as the Odroid N2 image works fine with it. Please test it, and report back if anything does not work.

MichaIng commented 2 weeks ago

This should make the fact clear 🙂 https://github.com/MichaIng/DietPi-Website/commit/e8d8804 However, let me know if it does not work, or does not support all features of the Pro variant.

Seb-tech77 commented 2 weeks ago

Hi, I tried to boot on the orange pi 5 image with my orange pi 5 pro but the card doesn’t boot. I tried to make the image with rufus and balenaetcher but nothing to do. I tried to do a bootloader update via the official orangepi image but it didn’t change anything. Could you help me? Sincerely

MichaIng commented 2 weeks ago

Just to assure @Seb-tech77 you tried to boot with SD card? Then the SPI flash/bootloader does not come into play, but the one we ship with the SD card it used.

How do you recognise that it does not boot? Do you have an HDMI attacked, or is it just that it did not come online?

Do you have a USB-UART adapter to check serial console output? Our image ships with device trees for both variants, and I assume U-Boot to pick the right one automatically (it did before), and even if it does not, the Orange Pi 5 Pro should boot with non-Pro device tree, just with e.g. WiFi non-functional. But just in case it somehow the bootloader does pick the wrong device tree and also fails to boot with it, do you have another Linux system where you can attach the SD card to, mount the 1st partition (ext4) and add the following to /boot/dietpiEnv.txt?

fdtfile=rockchip/rk3588s-orangepi-5-pro.dtb
Seb-tech77 commented 2 weeks ago

Hello, thank you for your reply. Indeed I try to boot from a sd card, armbian and orangepi image works but not dietpi. There is simply no activity, the led remains red, no activity on the Ethernet port, no HDMI output.

I've also tried running the dietpi installer script directly from armbian, but when I reboot once the script has finished, the card won't start. Unfortunately, I don't have a usb UART.

I'll try to modify the boot file, and I'll keep you posted. Thank you for your help

MichaIng commented 2 weeks ago

Then indeed the device very likely seems to be the problem. Armbian defines it explicitly, other than that, kernel and bootloader are from same sources.

A shame, as we need to provide another dedicated time than. I'll check bootloader sources, maybe there is a way to fix automatic device tree selection.

MichaIng commented 2 weeks ago

Okay, indeed I could not find any automatic device tree selection for Orange Pi 5 family boards at all, neither in Armbian/Radxa U-Boot sources, nor mainline, nor Xunlong themselves, nor via patch. Probably I mixed it also up with Orange Pi 5B, which is as well with onboard WiFi. For those however, I also just found two issues on our forum, where I suggested as well to assign the device tree explicitly, but did not get a reply so far. Looks like we need to create dedicated images for all of them.

But would be great if you could test it first. Can be done quickly in our installer then, with new images ready in an hour.

Seb-tech77 commented 2 weeks ago

Good news, the card booted successfully by modifying the boot file. I've just got a small error on startup, but I don't know if it's very important. Thanks in any case, that's good for me.

Seb-tech77 commented 2 weeks ago

17310885074384188592729479842012 Well, I tried to do a reboot but it doesn't seem to reboot.

Seb-tech77 commented 2 weeks ago

17310887213236768894412732225293 I have the impression that the image isn't very stable.

Seb-tech77 commented 2 weeks ago

I've tried redoing the image several times, but I always get lots of errors. 17311458705446101794618542630928

MichaIng commented 3 days ago

I added dedicated support for this SBC, with separate bootloader. Please someone test this first testing image: https://dietpi.com/downloads/images/testing/

LinuxguruJesse commented 3 days ago

I added dedicated support for this SBC, with separate bootloader. Please someone test this first testing image: https://dietpi.com/downloads/images/testing/

What do you need here? Test if it works or ?????

Joulinar commented 3 days ago

Yes download the image from testing and check if it is working.

LinuxguruJesse commented 3 days ago

As I've just received my OPi 5 Pro today i've been trying to get the other images to work. Found this issue and tried it, no go... Here is a bug report reference number#: 188c0392-c6cc-44b5-b10c-aa44ab7d44c4 Wacked out at the package update.

Joulinar commented 3 days ago

ok but the image seems to be booting. Issue is with our Cloudflare cache. Somehow Packages.xz has different size for some users.

E: Failed to fetch https://dietpi.com/apt/dists/bookworm/main/binary-arm64/Packages.xz  File has unexpected size (2300 != 2172). Mirror sync in progress? [IP: 2606:4700:3034::ac43:c1b7 443]
   Hashes of expected file:
    - Filesize:2172 [weak]
    - SHA256:aa1df998374cafc8b442f90522c050764bf915a07bc3bb1f49e8063f3fbdd81a
   Release file created at: Sat, 12 Oct 2024 14:44:36 +0000

@MichaIng as we discussed yesterday, we might need to disable Cloudflare cache for these files.

MichaIng commented 3 days ago

I disabled the clash for the InRelease files now, which is the one with the outdated cache entry in this case. Let's see whether the Packages.xz files can have outdated entries as well. I'll check back with Cloudflare community, which reasons can be for cache entries to remain in some edge servers, despite ordering their removal via Cloudflare API: https://community.cloudflare.com/t/739737

Joulinar commented 3 days ago

@MichaIng but issue is with Packages.xz File has unexpected size (2300 != 2172), isn't it?

MichaIng commented 3 days ago

Yes, but 2300 is the expected size, while the InRelease file is the outdated one, containing the wrong old size of 2172 bytes.

Also you see the very old date of the Release file from October, while it should be from yesterday.

Joulinar commented 3 days ago

ah got it.

LinuxguruJesse commented 3 days ago

Okay to whom it may concern, AWESOME.... It's booting and doing what Dietpi should be doing on my Orange Pi 5 Pro. I have rebooted and am installing more software will reboot again just for giggles. Now can you point me to transferring this to my 256Gb NVME drive or is this a simple dd with a "switch" to flip in Dietpi-Config? Thank you ever so much for Dietpi, I use this over Ubuntu for all my IoT/home automation. I just have 1 Ubuntu server doing Docker with some essential services. My daily driver is MX 23. If i can be of more help shot me a message and I'm there.

MichaIng commented 2 days ago

Great, and interesting that the new kernel, which caused issues with the non-Pro and Plus variants, does work with the Pro. Maybe the underlying issue as been solved in the meantime. I'll test that.

Now can you point me to transferring this to my 256Gb NVME drive or is this a simple dd with a "switch" to flip in Dietpi-Config?

First of all, I guess you need to update the SPI bootloader. Does the related block device exist?

ls -l /dev/mtdblock0

You could use dd to clone the SD card image onto the NVMe, but it would be faster to flash a fresh image. Also take care to remove the SD card then, before booting from NVMe, as both drives will have identical partition and filesystem identifiers.

LinuxguruJesse commented 1 day ago

I did an lsblk and only found my micro SD card, so I guess either I have an M.2 SATA or somethings not right. Am I correct that an NVME M.2 SSD and NVME M.2 SATA SSD are two different, distinct animals as far as SBC boards go? You did say that you use Armbians base? Yes? Would I be able to boot from USB Flash drive easy or go EMMC route? I picked my setup as a speed boost for a combo calendar/weather/home automation/ home assistant stuff. My Pi 4B was just getting to bogged down.

LinuxguruJesse commented 1 day ago

Hate to be a pest but the same file mismatch has occurred. Reference code: f17f100e-0063-43a5-9260-a04a8e994e95 Submitting a bug report now.

MichaIng commented 1 day ago

Yeah this time it was my mistake: I triggered the U-Boot package import, but forgot to enter GPG passphrase for signing the Release file. The script did continue after input timeout, hence the InRelease files really was outdated server-side now. I adjusted it to exit at this point.

When you faced the error earlier, the InRelease file however really was wrong in the Cloudflare cache only (which is not disabled), hence two dedicated reasons 😉.

About M.2 SSD: As the U-Boot package contains builds for NVMe and SATA both, I guess the hardware generally supports both. But I am not sure about the kernel. ... there seem to be overlays to switch to SATA for Orange Pi 5 and 5 Plus, but not for Pro yet:

image

I'll check their source code, maybe it can be derived about how to do for Orange Pi 5 Pro.

MichaIng commented 1 day ago

@LinuxguruJesse So it is about enabling an sata node, and disabling a pcie2 one. Can you paste the device tree symbols, please:

ls -l /proc/device-tree/__symbols__