Announcement

Collapse
No announcement yet.

Announcement

Collapse
No announcement yet.

How to compile your own kernel for rk3066 devices

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    How to compile your own kernel for rk3066 devices

    INTRODUCTION.

    First of all, some advice, we don't have full kernel sources from Rockchip, they must provide them to us cause linux is Open Source and they must provide the sources, but they didn't do it, we have some sources from developers like AndrewDB, Omegamoon or Alok. Thanks to them for share their work with us. Internal Wifi chipset are not supported in the most cases, but some people is working on it. So we hope we can have them working soon.

    The utility of compiling your kernel by yourself is the ability to decide what you need like filesystem, wifi drivers, webcam drivers, possibility of overclocking, etc... And the mos important for me, learn a lot Don´t expect to do it easy, is complicated to make it works, and some times your kernel will not boot, so if you don´t have a lot of patience i don´t suggest you to try that. And you must know how to flash your device, and restore it to a working state.

    You need to have some Linux basic knowledge, yes, android kernels need Linux to compile their kernel, if you don't have Linux installed in your pc and you don't want to install it in separate partition,you can use Virtualbox or another virtualization tool to install Linux in your windows pc. I have Ubuntu installed in my pc with windows 8 in dual boot. But it requires some knowledge about Linux and partitions so if you don't know about Linux i suggest to use Virtualbox, it is open source and with it you can run an OS inside other OS, the performance is low than non emulate systems, but is enough to test and learn to use an OS without problems about partitioning.
    I like to use windows for some things and Linux for another.

    Linux is Open source so its free, there are a lot of Linux distributions, but actually Ubuntu is the most extended distro, and for me the easy one to install and use.

    This is a long guide so i will explain it in some longs post and probably in various days. So a lot of patience is needed. Like I always like to tell you I am not a wise man, I am not an expertise and I can be wrong about some things, so any suggestions and corrections are welcome, I am going to explain everything I know and I will try to respond your asks, your contributions will make us learn together, and I expect to learn a lot from you too.

    To this guide i will use Virtualbox and Ubuntu, the process is similar with another Linux Distros. So lets start with it. I know a lot of people will say that i explain so obviuos things, but i prefer to explain it, step by step so if someone with 0 knowledge want to do it, he can do it. I will making this guide at same time that i install the virtual machine, i will compile the kernels at same time that i write this guide to ensure all procces works without problems.

    To make this, I must give thanks a lot of people. First thanks to AndrewDB, Omegamoon and alok for their work and share their kernel sources, deadhp1 in armtvtech gives a lot of good indications for the first kernel compilations, a lot of people in internet forums give me some clues when i get stuck, (search in the net is a good way to learn, if you have a problem, sure that anyone in the net had it before and solved it) and for me is better to search a lot before ask, read is the best way to learn
    Last edited by leolas; 04-11-2013, 11:33.
    REMEMBER, YOUR FEEDBACK IS VERY IMPORTANT TO US.
    My devices:
    Minix Neo X7; Minix Neo X8-H , Minix Neo Z64W & Z64 (Sponsored by Minix)
    MK902 & MK902II(Sponsored by RKM)
    Beelink M8B & Beelink R89 (Sponsored by Beelink)
    Tronsmart VEGA S89H (Sponsored by
    Gearbest.com)
    MELE-PCG03 (Sponsored by Gearbest.com) Discount Coupon:MPCG03
    Ainol Intel Z3735 MiniPC(Sponsored by Gearbest.com)
    Thanks to them I can try to support your devices http://freaktab.com/core/images/smilies/wink.png

    #2
    Setup an Ubuntu system in Virtualbox.

    Well if you have Linux installed in your computer you will found this usefulness. But for those people who don't have it it will save a lot of searches.

    First we need a Ubuntu ISO as virtualbox installed. Lets download them :

    Virtualbox for windows:http://download.virtualbox.org/virtu...-84105-Win.exe
    Ubuntu 12.10(x64): http://www.ubuntu.com/download/deskt...release=latest

    We must download both and install Virtual box. In Virtualbox installation it will ask about install some windows drivers, to emulate physical devices in your virtual OS. You must install them.

    Once installed we are going to setup a new virtual machine:
    Push new, a popup appears and we give a name to our instalation (ubuntu x64) Type: Linux and Version: Ubuntu (64bits) Then push next.
    Now memory size, i suggest 2048Mb. And next.
    Now the hard disk space. Create a virtual hard drive now. Then Create.
    Hard disk type: VDI . Next.
    Storage on physical hard drive: Dynamically allocated. Next.
    File location and size: You must enter where you want to install this virtual hard drive, it will grow when you install more things inside, and the maximum space that this virtual hard drive will grow, i suggest you at least 25Gb, it will not create a 25Gb file, it will start with 8Gb or so, but when you install more things inside your virtual machine it will grow until 25 Gb for maximum. Then create.

    Now we have our virtual machine created, now we will setup this.
    Push Setting.
    In General. Advanced. Shared clipboard: Bidirectional. Drag´n´drop:Bidirectional.
    In Display. Video. Video memory 128Mb and Enable 3D Acceleration checked.

    Ok now we have our virtual machine configured and ready to run. Lets push Start.

    Now the machine ask for select a start-up disk. We must provide the path to the Ubuntu iso we downloaded before.
    The machine will start and now we are going to install Ubuntu in our Virtual Machine.
    We select our language and push install Ubuntu
    Push Download updates while installing and Install this third-party software, then continue.
    Select Erase disk and install ubuntu.
    While Ubuntu is installed you must set your time zone, Keyboard layout, and username&pasword, when it finish installing the system it will ask about restart it.Restart.

    Now we have Our virtual machine installed and we need to setup some things in it.

    Lets Start Ubuntu for first time and setup it. First install Guest additions so we can drag and drop from Ubuntu to windows and windows to Ubuntu. it will fail and ask you to install linux header, then you have to open a terminal (press Dash Home in the launcher at right side and type terminal, push in the terminal icon)and write this:
    Code:
    uname -a
    Then it will swow something like:
    Code:
    leolas@leolas-VirtualBox:~$ uname -a
    Linux leolas-VirtualBox 3.5.0-27-generic #46-Ubuntu SMP Mon Mar 25 19:58:17 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
    leolas@leolas-VirtualBox:~$
    you will se the linux kernel that you have installed in my case is 3.5.0-27-generic
    So write:
    Code:
    sudo apt-get install linux-headers-3.5.0-27-generic
    then a package will be installed, and you can now install the guest additions properly.

    In the Ubuntu window, at the up, we have some options, push devices. And install Guest additions. A popup appears and we select run. It ask about our password and we write it. Once it finished we press return to go back our Ubuntu Desktop.

    In the left sidebar (Ubuntu launcher) we have direct access to some programs we don't need most of them so lets put them away. with the right mouse button we select them and remove from there all office links and Ubuntu music, Ubuntu one, amazon etc.... I left only Dash home, Firefox, home folder, system settings and software updater, we found we have a lot of updates to install so lets install them.

    Up in the launcher we have Dash home. Here we can search for all the programs installed in Ubuntu, lets add some programs access to the launcher. First we search for terminal in Dash home and we drag and drop to the launcher in the left side of the desktop.

    Well we finish it for today, we have our Ubuntu system ready and tomorrow we will set up the build environment, and install all we need for compile our Android kernels from Linux.

    EDIT: A very important thing is to install properly the guest additions, if not you will have a slow linux and you will not can to share files with the host machine.
    Last edited by leolas; 04-10-2013, 16:52.
    REMEMBER, YOUR FEEDBACK IS VERY IMPORTANT TO US.
    My devices:
    Minix Neo X7; Minix Neo X8-H , Minix Neo Z64W & Z64 (Sponsored by Minix)
    MK902 & MK902II(Sponsored by RKM)
    Beelink M8B & Beelink R89 (Sponsored by Beelink)
    Tronsmart VEGA S89H (Sponsored by
    Gearbest.com)
    MELE-PCG03 (Sponsored by Gearbest.com) Discount Coupon:MPCG03
    Ainol Intel Z3735 MiniPC(Sponsored by Gearbest.com)
    Thanks to them I can try to support your devices http://freaktab.com/core/images/smilies/wink.png

    Comment


      #3
      Now we have our linux ready we need to install some libraries and utilities to make our linux capable of compile.

      We must use the command line in Linux so we must open the terminal application and install some packages and their dependencies, in Ubuntu we must use apt-get, in other distros you must use the package manager on it. We will now to update the package data base, and upgrade it to install all updates in our system. And then we must install some packages, write it in terminal:
      Code:
      [COLOR=#2E8B57][FONT=Monaco]sudo apt-get update
      sudo apt-get upgrade 
      sudo apt-get install [/FONT][/COLOR][COLOR=#2E8B57][FONT=Monaco]build-essential curl git-core gperf bison gnupg flex sharutils [/FONT][/COLOR][COLOR=#2E8B57][FONT=Monaco]zip[/FONT][/COLOR][COLOR=#2E8B57][FONT=Monaco] lzop gnupg gcc-multilib [/FONT][/COLOR][COLOR=#2E8B57][FONT=Monaco]g++-multilib ia32-libs [/FONT][/COLOR][COLOR=#2E8B57][FONT=Monaco]lib32z1-dev [/FONT][/COLOR][COLOR=#2E8B57][FONT=Monaco]libncurses5-dev [/FONT][/COLOR][COLOR=#2E8B57][FONT=Monaco]lib32ncurses5-dev [/FONT][/COLOR][COLOR=#2E8B57][FONT=Monaco]zlib1g-dev [/FONT][/COLOR][COLOR=#2E8B57][FONT=Monaco]libsdl-dev [/FONT][/COLOR][COLOR=#2E8B57][FONT=Monaco]libesd0-dev libwxgtk2.8-dev[/FONT][/COLOR]
      Now time to drink a cup or coffee or tea (or beer ) while we wait those packages to be installed.
      Once they are installed time to download our kernel sources, I actually use 3 sources and a 4º that is a remix of some of them, the 4º source(mine) is not very stable and need some work before i release them and i need to learn more about github.
      well now we will make a directory structure who help us to maintain sorted our kernel buids (very important, if we cant maintain some order we will have a lot of headaches for stupid reasons, believe me i have a lot of them)

      There are 3 main sources for me AnrewDB (the first one and this sources are a little outdated) Alok for picuntu sources (here we can find some useful things like early mediatek drivers support, not embedded yet in kernel tree) and my favorites ones, Omegamoon github. i will give you all those sources, but in my explication i will use omegamoon sources. if you want to try other repository only need to download it and make some little changes. If you use this guide to compile for another platform we need to adapt this to your platform and sources.
      Lets go with it:
      We are in our home folder so we will create a folder structure:
      Code:
      mkdir android
      mkdir android/kernel
      mkdir android/rktools
      mkdir android/kernel/omegamoon
      mkdir  android/kernel/andrewDB
      mkdir  android/kernel/alok
      mkdir android/kernel/toolchain
      mkdir android/kernel/scripts
      now we have the kernel structure to make our kernels. Inside omegamoon kernel soorces we have some usefull scripts and a toolchain inserted, that save us to install aditional toolchains or android sdk, and he have too some rktools necesary to convert our kernels to rk format so it can be read for our devices. There are too some useful tools to flash from linux our sticks, but if we are from a virtualbox compilation we will have a lot of problems to flash from virtualbox.
      Code:
      cd android/kernel/omegamoon
      Now we will clone his github repository:
      Code:
      git clone git://github.com/omegamoon/rockchip-rk30xx-mk808
      Well now we have a new folder inside omegamon folder with the kernel sources.Lets take some useful tools from here:
      Code:
      cp -R rockchip-rk30xx-mk808/omegamoon/toolchain/*.* ../toolchain/
      cp rockchip-rk30xx-mk808/omegamoon/rk* ../../rktools/
      Ok now we have omegamon kernel sources installed, and the toolchain and rktools installed too. We can compile kernels for android in linux, but we need to say the system for what architecture are we building and what crosscompiler will be using, this can be made exporting a variable in system or better (for me at least) giving those parameters in the script file, so if we want to change the crosscompiler is so simple like change in the script the path to the new crosscompiler.
      Now lets clone the other sources:
      Code:
      cd ~/android/kernel/andrewDB/
      git clone git://github.com/AndrewDB/rk3066-kernel
      And alok sources:
      Code:
      cd ~/android/kernel/alok/
      git clone git://github.com/aloksinha2001/picuntu-3.0.8-alok.git
      All rk3066 sources cloned. Now lets prepare some scripts to copy them to each kernel sources and make us things easy. Lets download a small file, inside we have some basic scripts who makes the things easier and we will not to wrote a full encyclopedia to compile the kernel.

      we download this zip, it will be in Downloads folder, now we must copy it to our works folder:
      Code:
      cd ~/android/kernel/scripts
      cp ~/Downloads/scripts.zip ~/android/kernel/scripts/
      unzip scripts.zip
      rm scripts.zip
      Here we copy the file to our script folder and we uncompress it, then we delete the zip file.
      Now lets copy the scripts to our kernel sources:
      to omegamon kernel sources:
      Code:
      cp ~/android/kernel/scripts/* ~/android/kernel/omegamoon/rockchip-rk30xx-mk808/
      to andewDB kernel sources:
      Code:
      cp ~/android/kernel/scripts/* ~/android/kernel/andrewDB/rk3066-kernel/
      to alok sources:
      Code:
      cp ~/android/kernel/scripts/* ~/android/kernel/alok/picuntu-3.0.8-alok/
      Lets see what is inside those scripts:
      1mak
      Code:
      tch=~/android/kernel/toolchain/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin/arm-linux-androideabi-
      
      ARCH=arm CROSS_COMPILE=$tch make
      ARCH=arm CROSS_COMPILE=$tch make modules
      ARCH=arm CROSS_COMPILE=$tch make INSTALL_MOD_PATH=MODULES modules_install
      Some basics: to compile in linux we must wrote "make" this compile the things inside a file called Makefile, but we dont want to compile this kernel in linux, and for the machine that is runing linux in this moment, so that we use ARC=arm, with this we tell the architecture for the machine that will run the kernel. And we dont want to compile it with the embedded linux compiler we want to use the compiler in toolchain folder from android sdk so we use CROSS_COMPILE= to say what is the path to it. In this scripts we compile the kernel, compile the modules and install the modules in MODULES folder.
      Modules are the drivers in linux and android, when we compile the kernel we can choose to install in this kernel some functionality, but maybe other ones are not embedded inside this kernel, we choose them like modules and they are running outside of it. For example we want to use 2 different wifi cards, so we can compile them like modules and load the module of the card we are using in this moment, if we need the other card then we unload the first module and load the new one.
      2makimg
      Code:
      mkdir KERNEL
      ~/android/rktools/rkcrc -k ./arch/arm/boot/zImage ./KERNEL/kernel.img
      This time we create a directory and use rkcrc to make our compiled kernel compatible with our sticks, so our new kernel can be used by them. after this step we have a kernel.img inside KERNEL folder that can be flashable in our devices.
      3flashimg
      Code:
      sudo ~/android/rktools/rkflashtool w 0x00004000 0x00004000 < ./KERNEL/kernel.img
      sudo ~/android/rktools/rkflashtool b
      This one will flash directly in our devices the new kernel compiled, but if we are in virtualbox I dont know how make it works, so better use this script if you are runing linux in native mode, not in virtual mode. the second line reboot the device after it is flashed.
      4clean
      Code:
      make mrproper
      rm -R KERNEL
      rm -R MODULES
      This one clean the kernel tree, removing all the stuff compiled before and deleting KERNEL and MODULES folders.

      Well now we have all the stuff installed. Tomorrow we are going to configure and compile our first kernels.
      I know this post are so extensive and sometimes hard to read, for me its easier to give you some scripts and let them to make the work, but i want you understand well the process, if you understand it you will can resolve issues, if not, you will be stuck at the first issue.
      Last edited by leolas; 04-10-2013, 19:21.
      REMEMBER, YOUR FEEDBACK IS VERY IMPORTANT TO US.
      My devices:
      Minix Neo X7; Minix Neo X8-H , Minix Neo Z64W & Z64 (Sponsored by Minix)
      MK902 & MK902II(Sponsored by RKM)
      Beelink M8B & Beelink R89 (Sponsored by Beelink)
      Tronsmart VEGA S89H (Sponsored by
      Gearbest.com)
      MELE-PCG03 (Sponsored by Gearbest.com) Discount Coupon:MPCG03
      Ainol Intel Z3735 MiniPC(Sponsored by Gearbest.com)
      Thanks to them I can try to support your devices http://freaktab.com/core/images/smilies/wink.png

      Comment


        #4
        Now the fun parts arrives, we have our system setting ready to compile, and we have all the tools needed for that.

        All this rk3066 devices are very similar, but they have some different hardware components, WiFi chipsets usually are different and in this moment not suported in all devices (some people are working to supprt them), and some devices like X5 have some hardware extras like a Ethernet port or spdif audio out, in this sources we have some general device specifications with some general hardware inside those configs, for those devices we must take like our kernel config base one of them. I only have a mk808b stick so don't expect i know your device, there are some logs in our sticks that can help us to identify better our devices, like dmesg command. I suppose you have your device rooted and busybox installed, almost all custom roms have both conditions. So we need to install in our stick an app for market, Terminal emulator, this program gives us the possibility to use some linux commands, so we install it and wrote:
        Code:
        su
        dmesg>/mnt/sdcard/dmesg_original.txt
        With this commands we make root to the stick and then launch dmesg and redirect the output to a txt file in our sdcard dmesg_original.txt, this file can be shared with dropbox, or copied to an usb pen, etc... to our pc and inside this file the boot process is shown, inside we can see what is our wifi chipset, and a lot of things, like if we have Bluetooth support, etc.., this file can help us to identify some problems with our new kernel once it will be installed (if it boots properly). So is a good idea to save it and use for compile our kernel.
        Now we go to our kernel folder:
        Code:
        cd ~/android/kernel/omegamoon/rockchip-rk30xx-mk808
        First we must make the default config file for our devices. In mk808 we must choose: rk30_hotdog_degconfig, (this files are inside arch/arm/configs/) in all kernel sources this file is present, but in omegamoon kernel, we have a more specific file configuration with some general options enabled that will be useful for us. Those files are:
        mk808_defconfig
        mk808b_defconfig--->I don't recommend to use this file to configure the mk808b cause have some bad configurations.
        mk808-dvi-720p_defconfig--->this file select by default dvi and 720p in reslotion
        mk808-dvi-1080p_defconfig---> same that above but in 1080p
        mk808-hdmi-720p_defconfig--->The usuall choice ouput with hdmi and 720p in resolution
        mk808-hdmi-1080p_defconfig--->same that above but in 1080p
        We choose 720 file in our example:
        Code:
        make mk808-hdmi-720p_defconfig
        ok now we have our default system configured and copied to .config file (If you search for it in our kernel directory we didn't view it cause in linux . before a file name make this file hide)
        Now we can modify our kernel writing:
        Code:
        make menuconfig
        ok now we have a lot of options to modify inside this menu, tou can move with the keyboards arrows from here, and in this options you can choose:

        let it unmarked: This option is not compiled in kernel and will be not loadable like a module.
        Marked: if you push y in an option it will be compiled inside the kernel, so this function will be avaliable without user intervention.
        Mark it like a M: If you push m, this option will be compiled like a module and you will have to load a module to make it work.
        some basic indications:

        in General setup we have some general options, please dont forguet to mark her: select y to Kernel .config support and enable access to .config though /proc/config.gz this make our stick write in the file config.gz inside proc folder the actual kernel basic config, this compressed file gives us a .config file that can be exported to our pc for future compilations with some options additions and no need to start the kernel configuration from scratch. And help future developers to use your kernel like a config_base.

        In system type we can specific what is our exact device, ram speed, some processors features, etc...
        Here is an error in other sources that make our kernel stop to compile, nor in omegamoon sources, yes in other sources like andrewDB and alok, is VPU (Video Processing Unit) service driver in kernel, usually is marked like a module, and some .c files are missed so in other sources different of omegamoon deselect this option to compile the kernel, push n in this option. I omegamoon sources you must let it marked like a module.

        In Device drivers comes the most options interesting for us like compile additional modules for some drivers like WiFi or Ethernet cards, support for some touch input devices, sound cards, xbox controlers, etc.. In staging driver, we have support for a some usual devices.
        In Device Drivers we can choose the resolution, inside Graphic support/Display device support LCD Panel Select we can choose 1080p or 720p

        There are hundreds of options and i didn't test all, some of them will make our kernel not be able to compile and give us error, there are dependencies between some of those options (Remember we don't have complete sources, thanks to rockchip again)

        Ok, now we have our kernel options selected we exit of menuconfig and select to save the new config, please remember that if you change more options without know what are you doing you will have more opportunities that the kernel fails to compile, or will not boot, we must have selected the basic options at least for our kernel boots, for example, if you don't select a properly output for the device the device can boot, but not output avaliable, if you don't select the appropriated device or other basic configuration the kernel will not boot, etc... I suggest you to compile the first kernel near of the base-configuration to test that it works, and then you can add some more options each time.

        Advice again: for the moment rk903 wifi chipset don't works, nor mediatek wifi chipsets, the only chipsets I know that works is rk901 present in mk808 "original"

        To read about what features has each source visit the author web page or read his comments in the github.

        Now we are going to compile our kernel with the options we select, do you remmemder those scripts we setup before?, well lets make use of them:
        Code:
        ./1mak
        This make the kernel compilation with the correct crosscompilator and architecture, then make the modules and install them in MODULES folder. You can take a compilation error, so maybe we have some problems with some options, maybe we miss some steps, etc... If you have some problems compiling, post them here, and I will try to help, some warning are displayed in the kernel compilation about unused variables or more thigs, Its normal.
        After that and if we dont have errors, we must have our kernel compiled in 2 files: Image and zImage in arch/arm/boot/, the first is the kernel and the second one is the same kernel compressed, we can use any of them, but remember we have a partition where the kernel is installed, if the new kernel is bigger than the partition size we have a problem, so I suggest to use always zImage, like our next script use:
        Code:
        ./2makimg
        with this we make a file called kernel.img inside the folder KERNEL/

        Now time to pass the new kernel and install it in the stick.
        I recommend you to have cwm recovery installed and make a backup of your current rom, ensure that you are able to flash your device, you can need to do that if your new kernel fails to boot. Some devices didn't have a reset button, please be sure you can restore your device if flash process or boot fails. I am teaching you how to make that, and i tested it in my stick mk808b a lot of times, but I have not responsibility if you brick your devices, flash always involves a risk and flash a kernel augment this risk, in mk808 sticks with reset button the risk is low, (at least in my situation) I made it 15 or 20 in a day and no problems with it, if the kernel doesn't boot, only need to push the reset button to enter in cwm recovery and select advanced restore and select my old working kernel, in 2 minutes the stick is working fine again.

        Usually i have the stick away of my computer, so i made a cwm script to flash the new kernel in the device:

        Inside this zip fine there is a empty kernel.img dont flash it directly cause an empty kernel will be flashed. Open, don't unzip it, and drop your new kernel inside, then when you close the compress file manager, copy your new kernel.zip file in a microsd, insert it to the device and from cwm recovery install this file.

        Don´t forget that inside MODULES/ you have your new modules that you select to compile, if you want to use some of them, you must copy the .ko file to the stick in /system/lib/modules/ and give it permissions rw- r-- r-- then install it with insmod and remove it with rmmod. If you need some firmware file too, copy them to /system/etc/firmware/ and give them rw- r-- r-- permissions too. Some times work, and some time not.

        Well tomorrow i will give you some tips about trying to compile external drivers.

        Some tricks:
        the ./ is needed to execute the file if it is not in the system path, someone link their scripts to /sbin and then not have to wrote ./ i don't do that cause i made some times new scripts for different sources and I want to have them localized in each kernel source, but there are this possibility.
        In linux people use a very long names for the files , more text in the file name more posibilities of explain what makes the file or what is inside the folder, you can use the tab to complete names. For example:
        you have a folder called esternocleidomastoideo, wow strange name for a folder, then you must write:

        "cd esternocleidomastoideo" to enter this folder? don't worry, not necessary to do that you can write "cd ester" and press tab key now the name is completed by system and shows you in the screen the complete name
        In the same way you can need to write "./2makimg" you can write "./2" and press the tab
        Last edited by leolas; 04-11-2013, 11:32.
        REMEMBER, YOUR FEEDBACK IS VERY IMPORTANT TO US.
        My devices:
        Minix Neo X7; Minix Neo X8-H , Minix Neo Z64W & Z64 (Sponsored by Minix)
        MK902 & MK902II(Sponsored by RKM)
        Beelink M8B & Beelink R89 (Sponsored by Beelink)
        Tronsmart VEGA S89H (Sponsored by
        Gearbest.com)
        MELE-PCG03 (Sponsored by Gearbest.com) Discount Coupon:MPCG03
        Ainol Intel Z3735 MiniPC(Sponsored by Gearbest.com)
        Thanks to them I can try to support your devices http://freaktab.com/core/images/smilies/wink.png

        Comment


          #5
          Reserved 4
          REMEMBER, YOUR FEEDBACK IS VERY IMPORTANT TO US.
          My devices:
          Minix Neo X7; Minix Neo X8-H , Minix Neo Z64W & Z64 (Sponsored by Minix)
          MK902 & MK902II(Sponsored by RKM)
          Beelink M8B & Beelink R89 (Sponsored by Beelink)
          Tronsmart VEGA S89H (Sponsored by
          Gearbest.com)
          MELE-PCG03 (Sponsored by Gearbest.com) Discount Coupon:MPCG03
          Ainol Intel Z3735 MiniPC(Sponsored by Gearbest.com)
          Thanks to them I can try to support your devices http://freaktab.com/core/images/smilies/wink.png

          Comment


            #6
            Hey leolas,

            you are coming up with a topic I like, because I'm doing my first steps with compiling a rom for rk2918. Possible you have seen it. Maybe I need some work to do on the kernel and I have never done it before. With your 'how to' I could learn it perhaps. I assume that there are not so much differences between the kernel work for rk2918 and rk3066?

            Lets see how to do the trick.
            JDfense

            Comment


              #7
              Good WriteUP

              Thanks a Lot for Sharing this Information.

              Neomode

              Comment


                #8
                Originally posted by JDfense View Post
                Hey leolas,

                you are coming up with a topic I like, because I'm doing my first steps with compiling a rom for rk2918. Possible you have seen it. Maybe I need some work to do on the kernel and I have never done it before. With your 'how to' I could learn it perhaps. I assume that there are not so much differences between the kernel work for rk2918 and rk3066?

                Lets see how to do the trick.
                JDfense
                Sure we both will learn a lot with it, there are good kernel sources for your device. I thinks more completes ones than rk3066 devices have actually. And you need only to change the githubs to clone, the use of toolchain and the scripts I will give can be useful for you too.

                Originally posted by neomode View Post
                Good WriteUP

                Thanks a Lot for Sharing this Information.

                Neomode
                thanks you all developers team here in freaktab, i learned and I am learning a lot here from you
                REMEMBER, YOUR FEEDBACK IS VERY IMPORTANT TO US.
                My devices:
                Minix Neo X7; Minix Neo X8-H , Minix Neo Z64W & Z64 (Sponsored by Minix)
                MK902 & MK902II(Sponsored by RKM)
                Beelink M8B & Beelink R89 (Sponsored by Beelink)
                Tronsmart VEGA S89H (Sponsored by
                Gearbest.com)
                MELE-PCG03 (Sponsored by Gearbest.com) Discount Coupon:MPCG03
                Ainol Intel Z3735 MiniPC(Sponsored by Gearbest.com)
                Thanks to them I can try to support your devices http://freaktab.com/core/images/smilies/wink.png

                Comment


                  #9
                  Well done Leolas!

                  Well done Leolas, we look forward to the rest!

                  Originally posted by leolas View Post
                  INTRODUCTION.

                  First of all, some advice, we don't have full kernel sources from Rockchip, they must provide them to us cause linux is Open Source and they must provide the sources, but they didn't do it, we have some sources from developers like AndrewDB, Omegamoon or Alok. Thanks to them for share their work with us. Internal Wifi chipset are not supported in the most cases, but some people is working on it. So we hope we can have them working soon.

                  To this guide i will use Virtualbox and Ubuntu, the process is similar with another Linux Distros. So lets start with it.

                  Comment


                    #10
                    I'm sure i wont have time to do all this, but there will probably be others who have the time, so that would still mean more kernels for more devices! I've already used a few of your threads to get the right info i needed, like CWM and SD-card flashing. Thanks!
                    - UG007-II with Finless iMito MX1/2 1.7a ROM and UG802 2Dark4U 1080p overclock kernel and USB WIFI dongle.
                    - MK808 with Finless MK808 1.7c ROM and 2Dark4U 1.4 MK808 1080p overclock kernel.
                    - MK908-II: XBMC full 1080p playback with a 1080p kernel HERE

                    Comment


                      #11
                      Originally posted by Abducted View Post
                      I'm sure i wont have time to do all this, but there will probably be others who have the time, so that would still mean more kernels for more devices! I've already used a few of your threads to get the right info i needed, like CWM and SD-card flashing. Thanks!
                      thanks.
                      REMEMBER, YOUR FEEDBACK IS VERY IMPORTANT TO US.
                      My devices:
                      Minix Neo X7; Minix Neo X8-H , Minix Neo Z64W & Z64 (Sponsored by Minix)
                      MK902 & MK902II(Sponsored by RKM)
                      Beelink M8B & Beelink R89 (Sponsored by Beelink)
                      Tronsmart VEGA S89H (Sponsored by
                      Gearbest.com)
                      MELE-PCG03 (Sponsored by Gearbest.com) Discount Coupon:MPCG03
                      Ainol Intel Z3735 MiniPC(Sponsored by Gearbest.com)
                      Thanks to them I can try to support your devices http://freaktab.com/core/images/smilies/wink.png

                      Comment


                        #12
                        Going to try this out this weekend. Thanks for the write-up leolas.

                        Comment


                          #13
                          Uh , my head is cruising. Very good explained in detail

                          A lot to learn for me, but first I have another compiling job. Lets see how good the moage kernel is for 4.2.x
                          JDfense

                          Comment


                            #14
                            Re: How to compile your own kernel for rk3066 devices

                            Originally posted by JDfense View Post
                            Uh , my head is cruising. Very good explained in detail

                            A lot to learn for me, but first I have another compiling job. Lets see how good the moage kernel is for 4.2.x
                            JDfense
                            The Basics are the same in any android kernel. If I can help, only tell me.
                            REMEMBER, YOUR FEEDBACK IS VERY IMPORTANT TO US.
                            My devices:
                            Minix Neo X7; Minix Neo X8-H , Minix Neo Z64W & Z64 (Sponsored by Minix)
                            MK902 & MK902II(Sponsored by RKM)
                            Beelink M8B & Beelink R89 (Sponsored by Beelink)
                            Tronsmart VEGA S89H (Sponsored by
                            Gearbest.com)
                            MELE-PCG03 (Sponsored by Gearbest.com) Discount Coupon:MPCG03
                            Ainol Intel Z3735 MiniPC(Sponsored by Gearbest.com)
                            Thanks to them I can try to support your devices http://freaktab.com/core/images/smilies/wink.png

                            Comment


                              #15
                              Tried a compiled kernel with the Finless 2.1 rom for the MK808b and there were display problems (although the android booted up and showed the launcher selection screen.

                              Triend again with Finless 1.6 and it booted up properly with working display. No bluetooth and wifi.

                              Comment

                              Working...
                              X