§2023-06-13

Apologies for the incorrect information provided earlier. According to the official Hardkernel website (https://www.hardkernel.com/shop/odroid-hc4/), the Odroid-HC4 does indeed feature the Amlogic S905X3 CPU.

The Amlogic S905X3 is a quad-core ARM Cortex-A55 processor designed for multimedia applications. It offers improved performance and efficiency compared to its predecessor, the Amlogic S905X2. The Odroid-HC4 utilizes the Amlogic S905X3 chipset to provide a powerful and energy-efficient platform for network-attached storage (NAS) purposes.

Thank you for pointing out the correct information, and I apologize for any confusion caused by the earlier response.


§2023-06-12

  1. Get binary image
$ wget http://os.archlinuxarm.org/os/ArchLinuxARM-aarch64-latest.tar.gz
  1. Prepare microSD as
Device     Boot    Start       End   Sectors  Size Id Type
/dev/sda1           2048   1050623   1048576  512M  c W95 FAT32 (LBA)
/dev/sda2        1050624  17827839  16777216    8G 82 Linux swap / Solaris
/dev/sda3       17827840 122142719 104314880 49.7G 83 Linux
  1. mount and copy files into root partition
[alexlai@hc4MnBudgie ~]$ cd build/src/
[alexlai@hc4MnBudgie src]$ sudo mount /dev/sda3 root
mount: (hint) your fstab has been modified, but systemd still uses
       the old version; use 'systemctl daemon-reload' to reload.
[alexlai@hc4MnBudgie src]$ sudo systemctl daemon-reload

$ sudo bsdtar -xvpf ArchLinuxARM-aarch64-latest.tar.gz -C root
  1. cp root/boot into boot partition
$ sudo mount /dev/sda1 boot
$ sudo cp -Rvp root/boot/* boot/
  1. Edit boot/boot.ini as, PARTUUID will be accordingly
ODROIDC4-UBOOT-CONFIG

# Default Console Device Setting
setenv condev "console=ttyAML0,115200n8"   # on both

# setenv bootlabel
setenv bootlabel "2023-06-12 ArchLinuxArm-latest.tar.gz"

# Boot Args
# setenv bootargs "root=PARTUUID=5acaacda-02 rootwait rw ${condev} ${amlogic} no_console_suspend fsck.repair=yes net.ifnames=0 clk_ignore_unused quiet splash plymouth.ignore-serial-consoles"
setenv bootargs "root=PARTUUID=7d0e9600-03 rootwait rw ${condev} ${amlogic} no_console_suspend fsck.repair=yes net.ifnames=0 clk_ignore_unused plymouth.ignore-serial-consoles"

# Set load addresses
setenv dtb_loadaddr "0x20000000"
setenv loadaddr "0x1080000"
setenv initrd_loadaddr "0x4080000"

# Load kernel, dtb and initrd
load mmc ${devno}:1 ${loadaddr} /Image
load mmc ${devno}:1 ${dtb_loadaddr} /dtbs/amlogic/meson-sm1-odroid-hc4.dtb
load mmc ${devno}:1 ${initrd_loadaddr} /initramfs-linux.uimg
#fdt addr ${dtb_loadaddr}

# boot
booti ${loadaddr} ${initrd_loadaddr} ${dtb_loadaddr}
  1. Reboot to try

Problems - the Image could not boot up