Rockchip RK3188 Linux Source Code is Now Available

Good news! I’ve just read Rockchip RK3188 Linux source code has just been released via Rikomagic, and Alok Sinha, the main maintainer of RK3066 source code, has already imported into github, and we should soon see a PicUntu image for RK3188 mini PCs.

RK3188_menuconfig

Let’s have a look:


[Update: you may have to run “sudo apt-get install libc6-i386” before running make_kernel_ruikemei.sh below, as mkkrnlimg is a 32-bit binary]

Usually, I immediately look into arch/arm/configs, but this time, there’s a “funny” script called make_kernel_ruikemei.sh, and .config already have some CONFIG_RK3188, so let’s run it:


After just over a minute, success!:


This kernel image is for Android only, and there’s a little work to modify it as a “pure” Linux kernel, so that it can be used to boot PicUnutu for RK3188.

Let’s go back to arch/arm/configs, and we’ll find several RK3188 configs:

  • rk3168_86v_defconfig
  • rk3188_dongle_defconfig
  • rk3188_ds1006h_defconfig
  • rk3188_ds1006h_v1_0_defconfig
  • rk3188_hotdog_defconfig
  • rk3188_LR097_defconfig
  • rk3188_magicwand_defconfig
  • rk3188_steak_defconfig

However, in arch/arm/mach, there are only board files for rk3188-box and rk3188-ds1006h.

Share this:
FacebookTwitterHacker NewsSlashdotRedditLinkedInPinterestFlipboardMeWeLineEmailShare

Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress

ROCK Pi 4C Plus

24 Replies to “Rockchip RK3188 Linux Source Code is Now Available”

  1. The RK3168 boards (along with the latest for RK3066) are located in arch/arm/mach-rk30
    I guess this is due to their also being a dual-core.

  2. How did you get the screen of the installer or what ever it’s called.

    I did this on my MK808 that has picuntu on it. I love it to run on the MK908 or RK3188 what they call it.

    Here what my command lines look like:

    “root@small4:~/Linux3188# ./make_kernel_ruikemei.sh
    *************
    rm logo_linux_clut224
    *************
    ***********************
    copy logo_linux_clut224.ppm
    ***********************
    ***********************
    make kernel.img
    ***********************
    HOSTCC scripts/basic/fixdep
    HOSTCC scripts/kconfig/conf.o
    HOSTCC scripts/kconfig/zconf.tab.o
    HOSTLD scripts/kconfig/conf
    scripts/kconfig/conf –silentoldconfig Kconfig
    CHK include/linux/version.h
    UPD include/linux/version.h
    HOSTCC scripts/kallsyms
    HOSTCC scripts/bmptologo
    HOSTCC scripts/conmakehash
    CC scripts/mod/empty.o
    HOSTCC scripts/mod/mk_elfconfig
    scripts/bmptologo.c: In function âwrite_footerâ:
    scripts/bmptologo.c:247:3: warning: format â%ldâ expects argument of type âlong intâ, but argument 4 has type âunsigned intâ [-Wformat]
    MKELF scripts/mod/elfconfig.h
    HOSTCC scripts/mod/file2alias.o
    HOSTCC scripts/mod/modpost.o
    HOSTCC scripts/bin2c
    CHK include/generated/utsrelease.h
    UPD include/generated/utsrelease.h
    Generating include/generated/mach-types.h
    HOSTCC scripts/mod/sumversion.o
    CC kernel/bounds.s
    GEN include/generated/bounds.h
    CC arch/arm/kernel/asm-offsets.s
    GEN include/generated/asm-offsets.h
    CALL scripts/checksyscalls.sh
    HOSTLD scripts/mod/modpost
    CC init/main.o
    CHK include/generated/compile.h
    HOSTCC usr/gen_init_cpio
    CC arch/arm/vfp/vfpmodule.o
    UPD include/generated/compile.h
    AS arch/arm/vfp/entry.o
    CC arch/arm/kernel/elf.o
    AS arch/arm/kernel/entry-armv.o
    AS arch/arm/vfp/vfphw.o
    AS arch/arm/kernel/entry-common.o
    CC arch/arm/vfp/vfpsingle.o
    CC arch/arm/kernel/irq.o
    /root/Linux3188/scripts/gen_initramfs_list.sh: Cannot open ‘../initramfs/initramfs.cpio’
    make[1]: *** [usr/initramfs_data.cpio.gz] Error 1
    make: *** [usr] Error 2
    make: *** Waiting for unfinished jobs….
    CC init/do_mounts.o
    CC arch/arm/vfp/vfpdouble.o
    CC arch/arm/kernel/process.o
    CC init/do_mounts_initrd.o
    CC arch/arm/kernel/ptrace.o
    CC init/initramfs.o
    CC init/calibrate.o
    LD arch/arm/vfp/vfp.o
    LD arch/arm/vfp/built-in.o
    CC arch/arm/kernel/return_address.o
    CC init/version.o
    arch/arm/kernel/return_address.c:62:2: warning: #warning “TODO: return_address should use unwind tables” [-Wcpp]
    CC arch/arm/kernel/setup.o
    CC arch/arm/kernel/signal.o
    LD init/mounts.o
    CC arch/arm/kernel/sys_arm.o
    LD init/built-in.o
    CC arch/arm/kernel/stacktrace.o
    CC arch/arm/kernel/time.o
    CC arch/arm/kernel/traps.o
    CC arch/arm/kernel/armksyms.o
    CC arch/arm/kernel/module.o
    AS arch/arm/kernel/sleep.o
    CC arch/arm/kernel/sched_clock.o
    CC arch/arm/kernel/smp.o
    CC arch/arm/kernel/smp_tlb.o
    CC arch/arm/kernel/smp_scu.o
    CC arch/arm/kernel/sys_oabi-compat.o
    CC arch/arm/kernel/unwind.o
    CC arch/arm/kernel/swp_emulate.o
    CC arch/arm/kernel/pmu.o
    CC arch/arm/kernel/io.o
    AS arch/arm/kernel/head.o
    CC arch/arm/kernel/init_task.o
    LDS arch/arm/kernel/vmlinux.lds
    LD arch/arm/kernel/built-in.o
    root@small4:~/Linux3188# ls
    arch drivers Kconfig mkkrnlimg scripts
    block firmware kehu_ruikemei mm security
    config fs kernel net sound
    COPYING include lib README tools
    CREDITS init MAINTAINERS README.md usr
    crypto ipc Makefile REPORTING-BUGS virt
    Documentation Kbuild make_kernel_ruikemei.sh samples
    root@small4:~/Linux3188# cd arch
    root@small4:~/Linux3188/arch# ls
    alpha cris Kconfig mips s390 tile xtensa
    arm frv m32r mn10300 score um
    avr32 h8300 m68k parisc sh unicore32
    blackfin ia64 microblaze powerpc sparc x86
    root@small4:~/Linux3188/arch# cd ..
    root@small4:~/Linux3188# ls
    arch drivers Kconfig mkkrnlimg scripts
    block firmware kehu_ruikemei mm security
    config fs kernel net sound
    COPYING include lib README tools
    CREDITS init MAINTAINERS README.md usr
    crypto ipc Makefile REPORTING-BUGS virt
    Documentation Kbuild make_kernel_ruikemei.sh samples
    root@small4:~/Linux3188#”

    Don’t get what to do now?

    I guess some how put it on the 16GB SD card I have to reboot to recovery?

    -Raymond Day

  3. @Raymond Day
    You’d have to check what causes:
    “/root/Linux3188/scripts/gen_initramfs_list.sh: Cannot open ‘../initramfs/initramfs.cpio’”

    But if you just want to install Linux on RK3188, you don’t need to build it yourself unless you want to.
    http://www.cnx-software.com/2013/06/15/ubuntu-12-04-now-boots-on-rockchip-rk3188-mini-pcs-t428-mk908-rikomagic-mk802-iv/

    Yet, this is still working in progress, and AFAIK a Pictuntu RK3188 image has not been released yet.

  4. drink@alexander:~/Software/src/Linux3188$ ./make_kernel_ruikemei.sh
    *************
    rm logo_linux_clut224
    *************
    ***********************
    copy logo_linux_clut224.ppm
    ***********************
    ***********************
    make kernel.img
    ***********************
    CHK include/linux/version.h
    CHK include/generated/utsrelease.h
    make[1]: `include/generated/mach-types.h’ is up to date.
    CALL scripts/checksyscalls.sh
    CHK include/generated/compile.h
    /opt/src/Linux3188/scripts/gen_initramfs_list.sh: Cannot open ‘../initramfs/initramfs.cpio’
    make[1]: *** [usr/initramfs_data.cpio.gz] Error 1
    make: *** [usr] Error 2
    make: *** Waiting for unfinished jobs….

  5. Hey guys, what went wrong, if the output is like that:

    LD vmlinux
    SYSMAP System.map
    SYSMAP .tmp_System.map
    OBJCOPY arch/arm/boot/Image
    Kernel: arch/arm/boot/Image is ready
    make: *** [kernel.img] Fehler 127

    I have a Neo x7 and would like to compile a wheezy.

  6. @cnxsoft

    Hi cnxsoft, thank you for the fast reply.

    Can I use the instructions for the raxda rock also for me neo x7? I’m not familiar with with kernel compiling and image construction. Do you know a good tutorial for building images for neo x7?

    The last lines of my make command, doesnt show error:

    LD [M] sound/core/seq/snd-seq.ko
    CC sound/usb/misc/snd-ua101.mod.o
    LD [M] sound/usb/misc/snd-ua101.ko
    HOSTCC firmware/ihex2fw
    IHEX2FW firmware/emi26/loader.fw
    IHEX2FW firmware/emi26/firmware.fw
    IHEX2FW firmware/emi26/bitstream.fw
    IHEX2FW firmware/emi62/loader.fw
    IHEX2FW firmware/emi62/bitstream.fw
    IHEX2FW firmware/emi62/spdif.fw
    IHEX2FW firmware/emi62/midi.fw
    IHEX firmware/ti_3410.fw
    IHEX firmware/ti_5052.fw
    IHEX firmware/mts_cdma.fw
    IHEX firmware/mts_gsm.fw
    IHEX firmware/mts_edge.fw
    H16TOFW firmware/edgeport/boot.fw
    H16TOFW firmware/edgeport/boot2.fw
    H16TOFW firmware/edgeport/down.fw
    H16TOFW firmware/edgeport/down2.fw
    IHEX firmware/edgeport/down3.bin
    root@note-linux:/home/neo_kernel/Linux3188#

  7. @thehid
    So the build managed to complete….

    Yes, the instructions for Radxa Rock and Neo X7 will be very similar because they both use RK3188, but you need to use the minix SDK (they’ve released it for the UI competition) to build the kernel (and boot.img), and the rest should be about the same.

  8. I get this error at the end when I compile the kernel. Could you please update me.
    SYSMAP .tmp_System.map
    OBJCOPY arch/arm/boot/Image
    Kernel: arch/arm/boot/Image is ready
    /mkkrnlimg: cannot execute binary file
    make: *** [kernel.img] Error 126

  9. @dhruv
    mkkrnimg cannot run… Are you building the kernel an x86/x86-64 machine or directly in a RK3188 development board ?
    The instructions above are for cross-compiling in a Linux PC.

Leave a Reply

Your email address will not be published. Required fields are marked *

Khadas VIM4 SBC
Khadas VIM4 SBC