The Khadas VIM (http://khadas.com/vim/) is an arm64 DIY Set-Top-Box based on Amlogic P212 reference board that use S905X SoC.

As Odroid-C2 (based on S905 SoC) is in the mainline U-boot, it should be possible to adapt it for the Khadas VIM (of course a lot of work are needed!). It's also possible to try using the Amlogic code found in the 2015.01 version of U-Boot.

Also, Khadas VIM is supported in the mainline kernel, so when we will have a working U-Boot, installation and boot of openSUSE Tumbleweed with EFI should be possible.

The upgrade version, the VIM2, is based on an Amlogic S912 SoC, which is an upgraded version of the S905X SoC. Both are now supported in mainstream Linux Kernel (4.12 for Khadas VIM and next 4.14 for Khadas VIM2).

For me, the goal of this project is to better understand how U-boot and Amlogic SoCs are working (and also others boards!).

I'm pretty sure that my U-Boot version will not not work at the end of the week, but I hope that my knowledge of it will be improved!

Goal for HackWeek 19: - Refresh my U-Boot knowledge (didn't had enough spare time since the last HackWeek...) - Try to add openSUSE wiki page for AML-S805X-AC (first quick tests shown that TW is not booting, need to check why) - Try to work on ROC-RK3328-CC support (U-Boot and TW) - Help on packaging official BL31 ATF firmware for GXL (GXM supported?)

Goal for HackWeek 18: - Fix the USB U-Boot issue on VIM2 board (EDIT: done upstream) - Add other ARM64 boards: work on ROC-RK3328-CC (EDIT: still lot of issues...)

Update of 14 February 2020: - Patches to add ROC-RK3328-CC support in U-Boot done! Latest TW version doesn't boot correctly, I need to check why - Some tests has been done with AML-S805X-AC board: TW kernel boots but there are some kernel oops/panic on version 5.4. Bug created and I need to test later with kernel 5.5

Update of 13 July 2018: - Khadas VIM is working well with latest U-Boot version (a patch is still needed for USB boot) and latest openSUSE TW. Wikipage as been created for it and also for another SBC with pretty much the same hardware, the Libretech-CC. - My work will now focus on Khadas VIM2 board: U-boot is working with patches from BayLibre (apart USB), I found an issue with MMU initialization in U-Boot and I was able to fix it. Patch has been sent to Neil Armstrong of BayLibre for inclusion in his VIM2 patches.

Update for July 2018: - Board is working with official U-Boot and openSUSE TW. I will try to create add u-boot support for that board for TW and create and wiki page for openSUSE during HackWeek 17.

Update of 24 Octobre 2017: - Minimal U-Boot is booting on VIM board and EFI boot works, as openSUSE TW installation iso boots. I need to add needed modules to be able to install it.

Update of 12 October 2017: - U-Boot support is on a good way for P212 board, see https://patchwork.ozlabs.org/cover/825135/. Thanks to BayLibre guys! So I will use these patches to see if VIM can boot. First I will have a look at the code to better understand U-boot :)

Looking for hackers with the skills:

khadas vim aarch64 arm64 arm u-boot uboot kernel

This project is part of:

Hack Week 16 Hack Week 17 Hack Week 18 Hack Week 19

Activity

  • about 1 year ago: aplanas liked this project.
  • almost 2 years ago: acho liked this project.
  • almost 3 years ago: pgonin liked this project.
  • almost 3 years ago: dmdiss liked this project.
  • over 3 years ago: michals liked this project.
  • over 3 years ago: a_faerber liked this project.
  • over 3 years ago: mbrugger liked this project.
  • over 3 years ago: ldevulder disliked this project.
  • over 3 years ago: ldevulder liked this project.
  • over 3 years ago: ldevulder added keyword "khadas" to this project.
  • All Activity

    Comments

    • a_faerber
      almost 2 years ago by a_faerber | Reply

      AFAIK we're still lacking an Open Source toolchain to build a bootable image for VIM (gxl) and VIM2 (gxm?). Maybe you could contribute to extending my meson-tools to allow more people to contribute to and benefit from your efforts?

      Also, you might want to help package and test the new upstream BL31 in arm-trusted-firmware.

      • ldevulder
        over 1 year ago by ldevulder | Reply

        Thx, I will try to work on BL31 packaging for HackWeek 19.

    • ldevulder
      over 1 year ago by ldevulder | Reply

      Remi Pommarel also created a toolchain for gxl/gxm called gxlimg.

      As for upstream BL31 I tested it and yes I could try to help packaging it, could be for the next HackWeek 19 :-)

    Similar Projects

    One of couple of Python projects by mcepl

    There are couple of projects I work on, which n...


    Language Server Protocol implementation for Salt States by cbosdonnat

    [Language Server Protocol](https://microsoft.gi...


    bare metal openQA for arm boards by mbrugger

    [comment]: # (Please use the project descriptio...


    work on sunxi a64 cpufreq driver (for teres-1, pine64) by mbrugger

    With the teres-1 [1] laptop we have a first arm...


    Upstream support for RPi4 CM4 and Pi400 by nsaenzjulienne

    [comment]: # (Please use the project descriptio...


    work on sunxi a64 cpufreq driver (for teres-1, pine64) by mbrugger

    With the teres-1 [1] laptop we have a first arm...


    bare metal openQA for arm boards by mbrugger

    [comment]: # (Please use the project descriptio...


    RISC-V boot deep dive (Boot FLOW from 0 to Linux Kernel) by clin

    RISC-V boot deep dive (Boot FLOW from 0 to ...


    DRM driver for USB-based SiS graphics cards by tdz

    Back in the late 90s to early 2000s, SiS graphi...


    Test mainline kernel on an older Qualcomm SOC (msm89xx), explore current Qualcomm mainlining kernel effort by pvorel

    Project Description

    Qualcomm concentrate ...


    work on sunxi a64 cpufreq driver (for teres-1, pine64) by mbrugger

    With the teres-1 [1] laptop we have a first arm...


    Separate kernel module signature to a independent file by joeyli

    [comment]: # (Please use the project descriptio...