Orion O6 Debug Party Invitation

From measurements it looks like 64K L2 for the A520. We’ll see soon. Developer samples are on their way :slight_smile:

I hope to publish findings with RTL8126 prior to tuesday (then O6 is expected to arrive here).

Correct me if I understand the kernel wrong about the kernel:

  • We can run mainline kernel for example via official debian/fedora/opensuse arm64 iso
  • Drivers of vpu/gpu/npu missing in mainline kernel is installed via extra dkms packages

I am curious also. Are the NPU drivers available at launch? Are there any details about the NPU?

Working with the NPU under Rockchip has been a challenge, so interested to understand how we will work with the NPU on this board. Nothing on the CIX website that I can find either.

Edit: Anyone able to share a dmesg output?

  • We can run mainline kernel for example via official debian/fedora/opensuse arm64 iso

Yes, the official debian 12 image has been tested in UEFI ACPI mode.

  • Drivers of vpu/gpu/npu missing in mainline kernel is installed via extra dkms packages

These drivers do not exist upstream and Cix has not started upstreaming them. So DKMS or kernel patches are needed for now.

1 Like

I’ve tried installing some distributions.
(Please keep in mind that this was done using current hardware and software.)

debian-12.9.0-arm64-DVD-1.iso

Select “Graphical install”.

No Ethernet card was detected.

You need to install GRUB this way.

The desktop environment has started.

There are several ways to use the NIC (RTL8126), but here I will explain how to use a new kernel from backports.

  1. Add bookworm-backports to /etc/apt/sources.list and run apt update
  2. Install linux-image-X.Y.Z+bpo-arm64 and firmware-realtek from bookworm-backports
    apt install -t bookworm-backports linux-image-6.12.9+bpo-arm64 firmware-realtek
  3. (Only for linux-image-6.12.9+bpo-arm64) Edit /etc/defaults/grub, enable GRUB_TERMINAL=console, and run grub-mkconfig -o /boot/grub/grub.cfg
  4. reboot
3 Likes

Fedora-Workstation-41-1.4.aarch64.raw.xz

Turn on the power and wait for a while until the setup program starts.

Just configure a few items and you’re done.

3 Likes

Fedora-Server-dvd-aarch64-41-1.4.iso

Launch the installer.

An error will occur during the bootloader installation, but you can continue anyway.

When the installation is complete, Fedora Server will start.

2 Likes

Rocky-9.5-aarch64-dvd.iso

Same as Fedora Server.

2 Likes

could you also test Arch Linux ARM?

So far the installation has failed:

  • Manjaro ARM 23.02
  • openSUSE Leap 15.6
  • openSUSE Tumbleweed
  • Ubuntu Server 24.04.1
  • Ubuntu Server 24.10
1 Like

Hi all!

I see that EDKII sources have appeared on Github, but the repo references external submodules on gitlab.vamrs.org - which doesn’t resolve for me. Any luck anyone accessing it?

Would be great to start understanding the SoC a bit more: so far the information has been pretty scarce (even with the schematics published). There are binary releases in the repo, but starting at decompiled binaries is much less fun than at sources :slight_smile:

2 Likes

Linux kernel in that tarball doesn’t work. Userland in that tarball works with Linux 6.13.0 compiled by myself.

If you think it’s working, then it’s working.

EDIT:

After I updated kernel package (and others) by pacman -Syu, I could boot latest kernel from alarm.

[alarm@alarm ~]$ uname -a
Linux alarm 6.13.0-2-aarch64-ARCH #1 SMP PREEMPT_DYNAMIC Wed Jan 22 07:01:59 MST 2025 aarch64 GNU/Linux

So I think it’s working.

3 Likes

looks good, cant wait to get mine asap :grin:

ubuntu failed at grub install, which is nvram related.
opensuse failed at kernel load, I guess there are missing kernel configs.
I also tried debian weekly build iso, which failed at installer when choosing keyboard.

The EFI runtime is not available, so you cannot use the RTC in ACPI mode.

I also tried the official NixOS ISO a few weeks back with 6.6 kernel and it booted into the shell. A locally built ISO with 6.12 didn’t though.

Here are the steps I took to install Arch Linux.

This is intended to be used by developers who are familiar with their system, and can set up the necessary boot functionality on their own.

Prepare your favorite Linux distribution and install the necessary packages. I used Fedora Workstation.

$ sudo dnf install gdisk bsdtar

The installation destination is NVMe SSD (/dev/nvme0n1).

$ sudo gdisk /dev/nvme0n1
GPT fdisk (gdisk) version 1.0.10

Partition table scan:
  MBR: not present
  BSD: not present
  APM: not present
  GPT: not present

Creating new GPT entries in memory.

Command (? for help): n
Partition number (1-128, default 1): 
First sector (34-250069646, default = 2048) or {+-}size{KMGTP}: 
Last sector (2048-250069646, default = 250068991) or {+-}size{KMGTP}: +1G
Current type is 8300 (Linux filesystem)
Hex code or GUID (L to show codes, Enter = 8300): ef00
Changed type of partition to 'EFI system partition'

Command (? for help): n
Partition number (2-128, default 2): 
First sector (34-250069646, default = 2099200) or {+-}size{KMGTP}: 
Last sector (2099200-250069646, default = 250068991) or {+-}size{KMGTP}: 
Current type is 8300 (Linux filesystem)
Hex code or GUID (L to show codes, Enter = 8300): 
Changed type of partition to 'Linux filesystem'

Command (? for help): p
Disk /dev/nvme0n1: 250069680 sectors, 119.2 GiB
Model: WTPCIe-SSD-128GB                        
Sector size (logical/physical): 512/512 bytes
Disk identifier (GUID): 01F7CCA7-411D-4EC9-8D55-BFB0B08EACF1
Partition table holds up to 128 entries
Main partition table begins at sector 2 and ends at sector 33
First usable sector is 34, last usable sector is 250069646
Partitions will be aligned on 2048-sector boundaries
Total free space is 2669 sectors (1.3 MiB)

Number  Start (sector)    End (sector)  Size       Code  Name
   1            2048         2099199   1024.0 MiB  EF00  EFI system partition
   2         2099200       250068991   118.2 GiB   8300  Linux filesystem

Command (? for help): w

Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!

Do you want to proceed? (Y/N): y
OK; writing new GUID partition table (GPT) to /dev/nvme0n1.
The operation has completed successfully.

$ sudo mkfs.fat -v /dev/nvme0n1p1
$ sudo mkfs.ext4 -v /dev/nvme0n1p2

$ sudo mount /dev/nvme0n1p2 /mnt
$ sudo mkdir -p /mnt/boot
$ sudo mount /dev/nvme0n1p1 /mnt/boot

$ sudo -i

# curl -JOL http://os.archlinuxarm.org/os/ArchLinuxARM-aarch64-latest.tar.gz
# bsdtar -xpf ArchLinuxARM-aarch64-latest.tar.gz -C /mnt

# ls -l /dev/disk/by-uuid/ | grep nvme0n1p2
lrwxrwxrwx. 1 root root 15 Jan 25 23:40 xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx -> ../../nvme0n1p2
# echo UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx / ext4 defaults 0 1 >> /mnt/etc/fstab 

# ls -l /dev/disk/by-uuid/ | grep nvme0n1p1
lrwxrwxrwx. 1 root root 15 Jan 25 23:40 XXXX-XXXX -> ../../nvme0n1p1
# echo UUID=XXXX-XXXX /boot vfat defaults 0 1 >> /mnt/etc/fstab

# echo orion-o6 > /mnt/etc/hostname

# vi /mnt/etc/pacman.d/mirrorlist

# exit

Inside the chroot environment, update packages and configure the boot loader.

$ sudo mount -t devtmpfs devtmpfs /mnt/dev
$ sudo mount -t devpts devpts /mnt/dev/pts
$ sudo mount -t proc proc /mnt/proc
$ sudo mount -t tmpfs tmpfs /mnt/run
$ sudo mount -t sysfs sysfs /mnt/sys
$ sudo rm /mnt/etc/resolv.conf
$ sudo cp /etc/resolv.conf /mnt/etc/
$ sudo chroot /mnt

# pacman-key --init
# pacman-key --populate
# pacman -Syu
# pacman -Scc

# bootctl install
# echo default arch.conf >> /boot/loader/loader.conf
# vi /boot/loader/entries/arch.conf
----
title Arch Linux
linux /Image
initrd  /initramfs-linux.img
options root=UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx rw efi=noruntime
----

# exit

That’s all.

3 Likes

The Linux 6.8 kernel in Ubuntu Server 24.04.1 has an issue where it does not recognize the RTL8126. This will be resolved in the Linux 6.11 kernel in Ubuntu Server 24.04.2 (however, installation via the installer will fail).

It is possible to install Ubuntu using commands just like Arch Linux.

NVIDIA GeForce GT 1030

It doesn’t work on UEFI.