Odroid-C4 - Which base install to use?

This forum is for topics dealing with problems with software specifically in the AArch64 repo.

Odroid-C4 - Which base install to use?

Postby iamGavinJ » Fri Oct 28, 2022 9:08 pm

Hi,

When I look in http://os.archlinuxarm.org/os/ there are three('ish) possible variants of the base image I could use. Specifically:
$this->bbcode_list('1')
  • ArchLinuxARM-aarch64-latest.tar.gz
  • ArchLinuxARM-odroid-latest.tar.gz
  • ArchLinuxARM-odroid-c2-latest.tar.gz

  • Would someone be able to tell me the difference beteen these variants, and which one would be the most appropriate?

    Thanks.
    iamGavinJ
     
    Posts: 1
    Joined: Fri Oct 28, 2022 8:57 pm

    Re: Odroid-C4 - Which base install to use?

    Postby moonman » Sat Oct 29, 2022 8:22 am

    Odroid-C4 isn't officially supported. I'm not sure if mainline kernel has support for C4 or if everything works in, even if it does, you will need to get uboot (bootloader) elsewhere.

    There is also this https://archdroid.org/en/images/odroidc4/ AFAIK it uses alarm repositories and just fills in specific C4 support gap.
    Pogoplug V4 | GoFlex Home | Raspberry Pi 4 4GB | CuBox-i4 Pro | ClearFog | BeagleBone Black | Odroid U2 | Odroid C1 | Odroid XU4
    -----------------------------------------------------------------------------------------------------------------------
    [armv5] Updated U-Boot | [armv5] NAND Rescue System
    moonman
    Developer
     
    Posts: 3388
    Joined: Sat Jan 15, 2011 3:36 am

    Re: Odroid-C4 - Which base install to use?

    Postby JakeTri » Fri Nov 04, 2022 1:06 am

    I've been using alarm on my Odroid C4 since early 2021... Initial setup used 5.10.x kernel and was working fine at that time. I had various issue from network no working to full system freeze while booting with newer kernels (including 5.19.8) .. for now my C4 is stuck using 5.10.16.

    As it was already mentioned the board is not officially supported so you are on your own for the setup (and any further maintenance).

    For my initial setup I used the generic aarch64 image ArchLinuxARM-aarch64-latest.tar.gz from http://os.archlinuxarm.org/os/. The only thing that I needed to bring was uboot specific for Odroid C4. I did not have much success with the official old uboot from HardKernel (v2015.01) but the mainline version available on Manjaro worked fine.
    Obviously, the uboot setup was 100% manual.
    You can get the latest package with mainline uboot for Odroid C4 from any Manjaro mirror https://mirrors.manjaro.org/repo/arm-stable/core/aarch64/uboot-odroid-c4-mainline-2021.07-1-aarch64.pkg.tar.zst
    I did not want to install the Manjaro package so I unpacked it and manually flashed the uboot to the SD card.

    The old 5.10.16 kernel is still available on the archive server here: http://tardis.tiny-vps.com/aarm/packages/l/linux-aarch64/linux-aarch64-5.10.16-1-aarch64.pkg.tar.xz

    In a nutshell I did the following for the initial ALARM setup for Odroid C4:- I used a SD to USB adapter to access the SD card
    - Create 2 partitions on the SD card. A small 256M /boot partition using fat32 using label SD_BOOT and second ext4 partition using rest of SD card for / and use label SD_ROOT.
    - Make sure you reserve enough space for uboot before first partition on SD card! On my case I started first partition at sector 4096 (instead of default 2048 value) to reserve 2M for uboot!
    - format and mount / and /boot on a temp location then unpack ArchLinuxARM-aarch64-latest.tar.gz to the temp location
    - flash to the SD card /dev/sdX the u-boot.bin from Manjaro package using dd:
    $this->bbcode_second_pass_code('', 'dd if=u-boot.bin of=/dev/sdX conv=fsync,notrunc bs=512 seek=1')
    - created /boot/extlinux/extlinux.conf file for uboot to load the alarm kernel+initramfs
    $this->bbcode_second_pass_code('', 'LABEL ALARM
    LINUX /Image
    INITRD /initramfs-linux.img
    FDT /dtbs/amlogic/meson-sm1-odroid-c4.dtb
    APPEND root=LABEL=SD_ROOT rw rootwait console=tty1 console=ttyAML0,115200n8
    ')

    Most likely you do not have the old ArchLinuxARM-aarch64-latest.tar.gz image from the beginning of 2021 which had kernel 5.10.x so for the current version you need to patch in the old 5.10.x kernel ... For that you can use any alarm aarch64 system where you mount both / and /boot from SD card then chroot to SD card /  and use pacman -U to install the old kernel from a local package downloaded from archive site.

    You should be able to boot from the SD card on your Odroid C4.
    JakeTri
     
    Posts: 4
    Joined: Sun Jul 04, 2021 6:01 pm


    Return to ARMv8

    Who is online

    Users browsing this forum: No registered users and 16 guests