Hardkernel Odroid-M1 Rocky Linux 8 / 9 / 10

Using Rocky Linux 9/10 on the Hardkernel SBC Odroid M1 with alternative firmware from https://forum.odroid.com/viewtopic.php?f=217&t=47351.

readme_rocky_odroidm_1_nvme_build_v_9_0_0

Rocky Odroid-M1 NVMe Build Script

Version: 9.0.0
Base: 9.0.0
Target Hardware: Odroid-M1 (RK3568)
Architecture: aarch64
Supported OS: Rocky Linux 8 / Rocky Linux 9 / Rocky Linux 10
**BuildSystem Fedora 42


Overview

rocky_odroidm1_nvme_build.v9.0.0.sh creates a fully bootable Rocky Linux image for:

  • NVMe
  • eMMC
  • SD card

The script:

  • Creates GPT partition layout
  • Installs Rocky Linux root filesystem
  • Installs CBS kernel (Odroid-compatible DTB support)
  • Configures U-Boot/extlinux bootloader
  • Supports Kernel version override
  • Supports full CBS URL override
  • Performs kernel/userspace compatibility validation
  • Generates build metadata

Integrated Features

1. Rocky Version Selection

--rocky-version 8
--rocky-version 9
--rocky-version 10

Controls:

  • RootFS source
  • Repository configuration
  • Default kernel release (1.el8 / 1.el9 / 1.el10)

2. CBS Kernel Integration (Required for Odroid-M1)

Stock Rocky kernels do not include RK3568 DTB support.

This script installs CentOS CBS kernels which provide:

  • RK3568 DTB
  • Odroid-M1 compatibility

Installed packages:

  • kernel
  • kernel-core
  • kernel-modules

3. Kernel Version Override

--kernel <version>

Example:

--kernel 6.19.3

Controls:

  • kernel package version
  • kernel-core
  • kernel-modules

4. Kernel Release Override (Optional)

--kernel-rel 1.el8
--kernel-rel 1.el9
--kernel-rel 1.el10

Overrides automatic release detection.

Default behavior:

  • Rocky 8 → 1.el8
  • Rocky 9 → 1.el9
  • Rocky 10 → 1.el10

Is there a problem? I’m trying to understand why this has been posted on the forum with very little explanation? As all it seems to be is copy/paste of the Codeberg README.md

I wanted to say that there are alternatives to the usual OS on Odroid. 2. It’s my repo on codeberg. I don’t have a question, I just wanted to share my work with the community, maybe someone will find it useful. If you were expecting a question, I’m afraid I have to disappoint you, sorry. A cool question would have been how I came up with this crazy idea.The background to my work was that I was tired of having to work on the Odroid-M1 with Debian/Ubuntu and I didn’t feel like building an image from two operating systems; I wanted something from a single source. I found the U-Boot firmware for the Odroid and used it to install Fedora 42, but I come from the CentOS camp, so the idea was to build an el9 or 10. At work, I provisioned LXC containers for Alma8 and Alma10 using Hashicorp Packer. The idea was to take a rootFS from the container and build a bootable image like for a Raspi, only one that you can customize yourself.

1 Like

Ah ok, it could have probably done with a better introduction in the initial post. Had you put a lot of what you just wrote in that first post it would have been a lot clearly. Without it, we didn’t know if someone had a question after trying to use the above repo or not.

No problem. I wanted to show people who were annoyed like me that it is possible, albeit via a detour, to install Fedora aarch64 on the Odroid, or, as I did, in qemu, or on a Raspi with el8/9/10 fc42/43.

Nice. I have an RPI4 but I thought about getting some alternatives to mess around with. I run Fedora on mine though.

1 Like

My image, or rather the script that creates the image, is for the Odroid-M1 from Hardkernel. An alternative to the Pi, SSD-sata3 NVME M.2, Pcie 3.0, eMMC, and MicroSD. The Odroid uses original petitboot, now u-boot efi stub. a little bit better as the pi