Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Image | Quartz64: Testers required! #4649

Closed
ravenclaw900 opened this issue Aug 16, 2021 · 8 comments
Closed

Image | Quartz64: Testers required! #4649

ravenclaw900 opened this issue Aug 16, 2021 · 8 comments
Labels
Milestone

Comments

@ravenclaw900
Copy link
Collaborator

ravenclaw900 commented Aug 16, 2021

ADMIN EDIT

Images for all three variants are ready for testing: https://dietpi.com/downloads/images/

Creating an image request

Formal device information

Is the SBC officially supported by the Debian installer?

  • No

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

  • No

If not, are there install instructions for Debian available?

  • Not yet, all probably due to new chipset (RK3566)

Obviously we'll have to wait a bit for a reliable image before building DietPi for it, just wanted to put the request out there.

@MichaIng
Copy link
Owner

Also the Debian arm64 kernel does not contain a device tree for that SoC yet. I'm currently downloading the Manjaro Linux image, probably we can take something from there for a testing image 😛.

@MichaIng
Copy link
Owner

It has a dedicated bootloader and a dedicated boot/EFI partition. Theoretically we could use them untouched and move/dd them into a debootstraped arm64 image 🙊. The kernel can also be found here: https://mirrors.dotsrc.org/manjaro/arm-unstable/core/aarch64/

@MichaIng
Copy link
Owner

MichaIng commented Feb 12, 2022

Today a nice surprise from @pine64 arrived, many thanks for this 👍😃❤️:

20220212_142607

From left to right, we have:

More information about all products can be found on the wiki: https://wiki.pine64.org/wiki/Quartz64

As can be seen, any OS development is in very early stage, also Armbian has leaked that there is an unreleased image, but far away from being ready for publishing to end users. There is a repository with a CI pipeline for producing Debian installer images for the different boards, which also does regular releases: https://gitlab.com/pgwipeout/quartz64_ci/-/jobs
I'll see whether this gets us bootstrapped, whether we can adapt it for our own image build script, how well a single image can run on the different board variants (given all device trees are present, of course) etc. Will be much fun to start tinkering with these boards, and probably we can be one of the distros which provide stable (though likely not with all hardware features fully supported at start) image for the Quartz64 family.


NB: The milestone doesn't mean that there will be an image ready with DietPi v8.2, but it's more for me to keep an overview what I aim to work on.

@MichaIng MichaIng added this to the v8.2 milestone Feb 12, 2022
@MichaIng MichaIng modified the milestones: v8.2, v8.3 Mar 2, 2022
@MichaIng MichaIng modified the milestones: v8.3, v8.4 Apr 2, 2022
@MichaIng
Copy link
Owner

MichaIng commented Apr 9, 2022

Tested with the latest pgwipeout images:

  • On Quartz64 A, dtb and mainline U-Boot images boot, but no HDMI output is produced. First I thought as of the pending upstream kernel patch (https://patchwork.kernel.org/project/linux-rockchip/list/?series=630407), but pgwipeout uses a patched kernel and the screen actually gets an image, it shows a static underscore, but it looks like that console is not used for kernel/boot outputs. LEDs indicate boot and operation state. Sadly I toasted my USB-UART adapter. New one ordered, arriving next week. I hope it's not the 2A PSU being insufficient. Generally booting from SD card and eMMC works, but not from USB. Not sure whether this is a hardware/ROM limitation, or probably insufficient PSU. The USB flash isn't powered (LEDs) at all when the board is powered.
  • For Quartz64 B, I needed to order a 3.5mm/1.35mm power cable first. USB power inputs would have made things easier, but there will be reasons.

So more on that end next Tuesday. I hope get UART output and probably video output is a question if the kernel command-line only. Else even without HDMI (for now), with DietPi SSH server starting OOTB that wouldn't be such an issue.
EDIT: Ah, just found the extlinux config, and indeed only ttyS2 (default UART debug console) is used. I'll try to adjust that, so probably no need to wait for the UART adapter.

I'll also try to debootstrap DietPi and install/flash pgwipeout kernel/U-Boot, and Manjaro Linux to verify that my PSU is not the issue and that/how the boards fully boot.

@MichaIng
Copy link
Owner

MichaIng commented Apr 9, 2022

Nice, it was really just the missing local console output, HDMI works pretty well, no issues with 2A PSU. Added console=tty1 to kernel command-line and was able to boot into buildroot recovery and Debian installer. The installer is for whatever reason Debian Buster, and installs the generic Debian arm64 4.19 kernel, and no bootloader. However, I installed it on the free space of the same SD card and configured extlinux to use the new partition as root. Worked well, now DietPi-PREP is running, doing the Bullseye upgrade as well.

While it would be possible to ship a DietPi image like this, with GPT partitioning, dedicated bootloader, boot env and EFI partitions, I'd actually prefer to ship with a simple MBR partition table with a single ext4 partition. I'll try it via flashing U-Boot to the raw block device manually.

However, working so far 🙂:

root@Quartz64A:~# cat /var/lib/dietpi/dietpi-benchmark/results
BENCH_VERSION=2
BENCH_HW_MODEL=22
BENCH_CPU='10.70'
BENCH_ROOTFS_WRITE='34'
BENCH_ROOTFS_READ='59'
BENCH_RAM_WRITE='401'
BENCH_RAM_READ='1351'
BENCH_CUSTOMFS_WRITE='Not tested'
BENCH_CUSTOMFS_READ='Not tested'
BENCH_CPU_TEMP_START='44'
BENCH_CPU_TEMP_END='59'
BENCH_NET_LAN_SPEED='Not tested'
root@Quartz64A:~# cpu

 ─────────────────────────────────────────────────────
 DietPi CPU Info
 Use dietpi-config to change CPU / performance options
 ─────────────────────────────────────────────────────
 Architecture |     aarch64
 Temperature  |     46 °C / 114 °F : Optimal temperature
 Governor     |     schedutil

                 Current Freq    Min Freq   Max Freq
 CPU0         |      1416 MHz      408 MHz    1800 MHz
 CPU1         |      1416 MHz      408 MHz    1800 MHz
 CPU2         |      1416 MHz      408 MHz    1800 MHz
 CPU3         |      1416 MHz      408 MHz    1800 MHz

[ INFO ] DietPi-CPU_info | CPU current frequency, may be affected by this script, due to the processing required to run it.

root@Quartz64A:~# free -m
               total        used        free      shared  buff/cache   available
Mem:            7687          74        7516          48          96        7458
Swap:              0           0           0
root@Quartz64A:~# cat /proc/device-tree/model
Pine64 RK3566 Quartz64-A
root@Quartz64A:~# uname -a
Linux Quartz64A 5.17.0 #1 SMP PREEMPT Thu Apr 7 13:38:56 UTC 2022 aarch64 GNU/Linux

This SoC is not as powerful as expected, like Odroid XU4/Exynos5, Odroid C4/Amlogic S905X3, Allwinner H6. For the last two, it is not so unexpected as the CPU cores are similar:

  • Amlogic S905X3: Quad-Core Cortex-A55 @ 2.0 GHz
  • Allwinner H6: Quad-Core Cortex-A53 @ 1.8GHz (probably 2 GHz with Armbian kernel)
  • Rockchip RK3566: Quad-Core Cortex-A55 @ 1.8GHz

The RK3566 is meant as successor for the RK3288 (ASUS Tinker Board, which is interestingly faster in our CPU benchmarks), while the RK3399 is still the Hexa-Core flagship with two Cortex-A72 on top of the four Cortex-A53 cores.

RAM speed is also in a similar area. Further kernel tuning may of course increase performance.

Ethernet MAC address changes on every boot. We know that from some other SBCs already. Can be fixed via kernel command-line, udev rules or ifupdown config. We want to add this to dietpi-config network options for a long time 😉.

Sadly I don't have the optional WiFi module. But it's built into model B (PSU arriving Tuesday) and SOQuartz.

Next step is trying to forge an MBR single-partition image.

@MichaIng MichaIng modified the milestones: v8.4, v8.5 Apr 30, 2022
@MichaIng MichaIng modified the milestones: v8.5, v8.6 May 28, 2022
@MichaIng
Copy link
Owner

MichaIng commented Jun 6, 2022

DietPi images for the three variants are available for testing: https://dietpi.com/downloads/images/
Okay, model A boots fine, but model B (and I guess SOQuartz) seem to require the non-mainline U-Boot image, currently it hangs in a boot loop with final error after some attempts in bootloader stage. Redoing those images.

@MichaIng
Copy link
Owner

MichaIng commented Jun 26, 2022

Wasted several hours debugging on all 3 models why they deny to boot (from Samsung EVO Plus MB-MC128HA/EU SD card), before realising that when testing it successfully some days ago, I used the other SD card Samsung PRO Endurance MB-MJ128KA, which still works fine. So somehow it's a bid picky about the SD card 🤔.

Also, while model A and SOQuartz boot fine, model B does not, waiting for root filesystem in systemd boot stage. I think it is because of my bad power adapter cable. 3W PSU, but bought a fitting USB-DC cable with probably bad quality. Also HDMI doesn't work on this model (on both others it does), which is another indicator for a power/voltage issue.

If someone has a model B and time to test, that would be great. And I'll evaluate in the meantime whether I buy a better cable, or the original PSU from PINE64.

@MichaIng MichaIng pinned this issue Jun 26, 2022
@MichaIng MichaIng changed the title Image | Quartz64 Image | Quartz64: Testers required! Jun 26, 2022
@MichaIng
Copy link
Owner

MichaIng commented Jul 2, 2022

WireGuard module is missing: https://gitlab.com/pgwipeout/quartz64_ci/-/blob/main/quartz64_defconfig
I'll open a MR and rebuild with some other possible enhancements (e.g. bumping Linux to v5.19, a related branch exists already).

However, otherwise it works fine.

@MichaIng MichaIng closed this as completed Jul 2, 2022
@MichaIng MichaIng unpinned this issue Jul 2, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants