Up to date guide to get an OS for a RK3188?!?!

Started by hzg_it, July 19, 2019, 07:01:08 PM

Previous topic - Next topic


Hi everyone,
today I received a RK3188-SOM-EVB. (https://www.olimex.com/Products/SOM/RK3188/RK3188-SOM-EVB/)

Now I am trying to get it working, however, the Wiki (https://www.olimex.com/wiki/RK3188-SOM) seems to be somewhat out of date - the torrent links for the prebuilt Debian images apparently have no peers from where I could download the ima (both, the v1 and the v2), the Link for the prebuilt Ubuntu image is also no longer pointing to an image (and the image mentioned is for 14.10, not the freshest Ubuntu...) - whe whole folder structure is not as written in the wiki, so I am a little bit confused on where to get prebuilt images.  :-\

Then I tried to compile my own image - but again, the wiki is not "compatible" with my current Ubuntu 18.04:
- instead of gcc-4.7-arm-linux-gnueabihf, I had to install gcc-8-arm-linux-gnueabihf
- instead of uboot-mkimage, I had to use u-boot-tools

So far, so good (or that´s what I thought).

Then I created the .config file for make with
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- olimex_rk3188_defconfig, apparently successful.
According to the wiki, I now should be able to build the kernel by running make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j4 kernel.img - which fails.  :(

The make command could not find a command called arm-linux-gnueabihf-gcc.
Google pointed me to https://packages.ubuntu.com/de/xenial/gcc-arm-linux-gnueabihf, so I did sudo apt install gcc-arm-linux-gnueabihf.

Yay, one step further! Now the make error looks different:
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j4 kernel.img
  CHK     include/linux/version.h
  CHK     include/generated/utsrelease.h
  HOSTCC  scripts/bmptologo
  CC      scripts/mod/empty.o
make[1]: 'include/generated/mach-types.h' is up to date.
  HOSTCC  scripts/conmakehash
  CC      kernel/bounds.s
  HOSTCC  scripts/mod/mk_elfconfig
In file included from include/linux/compiler.h:48:0,
                 from include/linux/stddef.h:4,
                 from include/linux/posix_types.h:4,
                 from include/linux/types.h:17,
                 from include/linux/page-flags.h:8,
                 from kernel/bounds.c:9:
include/linux/compiler-gcc.h:99:1: fatal error: linux/compiler-gcc7.h: No such file or directory
#include gcc_header(__GNUC__)
compilation terminated.
./Kbuild:35: recipe for target 'kernel/bounds.s' failed
make[1]: *** [kernel/bounds.s] Error 1
Makefile:999: recipe for target 'prepare0' failed
make: *** [prepare0] Error 2
make: *** Waiting for unfinished jobs....
scripts/bmptologo.c:63:27: warning: 'clut_vga16' defined but not used [-Wunused-const-variable=]
static const struct color clut_vga16[16] = {
  MKELF   scripts/mod/elfconfig.h
  HOSTCC  scripts/mod/modpost.o
  HOSTCC  scripts/mod/file2alias.o
  HOSTCC  scripts/mod/sumversion.o
  HOSTLD  scripts/mod/modpost

As far, as I understand the things google tries to tell me when I ask about the above error, I am using a newer gcc than the toolchain is intended for...

For now, I am using this post to document stuff I am doing/trying but if anyone has any enlightening ideas on what am I doing wrong or what I could do to get a Linux (Debian or Ubuntu, I don´t care) running on my RK3188 faster (or a working link to an image), I would be grateful!



Get the archive with the latest image directly from here: ftp://staging.olimex.com/Lub-clients/RK3188_debian_3.0.36_SD_release2.img.7z

Compiling with newer compiler would be nearly impossible. If you wish to build our image you have to use the same tools.
Technical support and documentation manager at Olimex


Hi LubOlimex,

thank you very much, the download link worked like a charm and the RK3188 is now running Debian 7! :)