Announcement

Collapse
No announcement yet.

Announcement

Collapse
No announcement yet.

FULL sources (system and kernel) for KitKat on Rockchip

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

    #16
    I decided to start from scratch, this time with a 64-bit kernel.
    • Installed Ubuntu 13.10 amd64
    • Got all the required libraries and toolchain
      • sudo apt-get install git-core gnupg flex bison gperf libsdl-dev libesd0-dev libwxgtk2.8-dev build-essential zip curl libncurses5-dev zlib1g-dev gcc-multilib g++-multilib sharutils lzop gcc-arm-linux-gnueabi
    • copied the kernel sources to ~\android\kernel
    • renamed the suppiled kernel to kernel.img.orig
    • Make the kernel creating app executable
      • chmod 755 mkkrnlimg
    • ran make clean
    • ran "make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- kernel.img
    Which results in ... the ipt_ecn header error.

    Copy ipt_ecn.h, xt_dspc.h & xt_ecn.h locally
    I edit ipt_ecn.c to point to a local copy of the header.
    I edit ipt_ech.h to point to a local copy of xt_ecn.h
    I edit xt_ecn.h to point to a local copy of xt_dspc.h

    I execute the make command again and I get successful compile and kernel creation.

    But I do a binary compare of the original kernel and the one I just built and just about every byte is different
    • cmp -l kernel.img kernel.img.orig

    kernel doesn't boot.
    Measy U4B (=Tronsmart T428) used by my kids!
    Onda v975m - M802 - Bought from Banggood.com
    Pipo M8HD 3G - RK3188 - don't buy from pipo-store
    Tronsmart S89 Vega -S802 (sponsored by Geekbuying)
    CX921b -RK3188T (sponsored by AndroidTV)
    Cube U30GT2 - RK3188 (part sponsored by Geekbuying)
    RKM MK902 - RK3188 (sponsored by RKM)



    Donate to Finless

    Comment


      #17
      Originally posted by 900supersport View Post
      Great post, that toolchain seems to make the difference on my system. I now have a compiled kernel.

      Now I just need to understand what I'm doing and then look at compiling for a tablet.

      Thanks again
      But does it boot? I can't seem to make bootable kernels!!!

      Is there a step I'm missing? What error am I making?
      Measy U4B (=Tronsmart T428) used by my kids!
      Onda v975m - M802 - Bought from Banggood.com
      Pipo M8HD 3G - RK3188 - don't buy from pipo-store
      Tronsmart S89 Vega -S802 (sponsored by Geekbuying)
      CX921b -RK3188T (sponsored by AndroidTV)
      Cube U30GT2 - RK3188 (part sponsored by Geekbuying)
      RKM MK902 - RK3188 (sponsored by RKM)



      Donate to Finless

      Comment


        #18
        No idea if it boots, I have nothing to test it on. If I can sort out building kitkat from sources then I can start researching how I might build a kernel for the cube u30gt2.

        What system and boot are you using with the kernel?
        900Supersport

        900supersports FreakTab rkROMkitchen

        900supersports guide to working-RK-ROMs

        Under Construction 900supersports guide to working MediaTek ROMS

        Struggling for time at the moment, but will try and drop by when I can.

        If you would like to support my ROM development then please visit my Google site donate page where you can make a paypal donation

        freaktab developer

        Proof that you're never to old to learn. Sometimes too old to remember though.

        Comment


          #19
          Originally posted by darrellr View Post
          • Make the kernel creating app executable
            • chmod 755 mkkrnlimg
          ...

          Which results in ... the ipt_ecn header error.


          Copy ipt_ecn.h, xt_dspc.h & xt_ecn.h locally
          I edit ipt_ecn.c to point to a local copy of the header.
          I edit ipt_ech.h to point to a local copy of xt_ecn.h
          I edit xt_ecn.h to point to a local copy of xt_dspc.h
          These issues were caused because I downloaded in Windows and copied across. When I deleted everything and downloaded the .tar.gz to linux these disappeared and the kernel compiles without issue

          However, still is not bootable.

          I've spent a whole weekend on this and am extremely frustrated that I can't make a bootable kernel when others can.

          If anyone has the foggiest why I'm incompetent please provide a pointer.
          Last edited by d33; 05 January 2014, 23:15.
          Measy U4B (=Tronsmart T428) used by my kids!
          Onda v975m - M802 - Bought from Banggood.com
          Pipo M8HD 3G - RK3188 - don't buy from pipo-store
          Tronsmart S89 Vega -S802 (sponsored by Geekbuying)
          CX921b -RK3188T (sponsored by AndroidTV)
          Cube U30GT2 - RK3188 (part sponsored by Geekbuying)
          RKM MK902 - RK3188 (sponsored by RKM)



          Donate to Finless

          Comment


            #20
            darrellr,
            maybe it has something to do with the loading procedure not beeing ok with this kernel ?

            once you get the kernel.img file built, what do you do next to make the device boot it ?

            Comment


              #21
              .config

              to those who managed to compile,
              I guess you did not use "make prproper; make kernel.img" but used "mkkrnlimg" instead.
              Using the fisrt option,
              I was blocked by a question regarding
              EXPANDED_GPIO_NUM below that I was unable to answer, forcing me to abort the process for now.

              tks
              edit : mylog...
              Code:
              https://github.com/thesawolf/android_kernel_rockchip_rk3188.gitraxy@ubuntu:/host/workfiles/android-kernel-kitchen/kernelkitkathdmistick$ make kernel.img
              scripts/kconfig/conf --silentoldconfig Kconfig
              .config:2645:warning: symbol value '' invalid for EXPANDED_GPIO_NUM
              .config:2646:warning: symbol value '' invalid for EXPANDED_GPIO_IRQ_NUM
              .config:4221:warning: USB_AUDIO creates inconsistent choice state
              .config:4229:warning: USB_MIDI_GADGET creates inconsistent choice state
              .config:4232:warning: USB_G_NOKIA creates inconsistent choice state
              .config:4236:warning: USB_G_WEBCAM creates inconsistent choice state
              warning: (SND_SOC_ALL_CODECS) selects SND_SOC_RK616 which has unmet direct dependencies (SOUND && !M68K && SND && SND_SOC && MFD_RK616)
              warning: (SND_SOC_ALL_CODECS) selects SND_SOC_RK610 which has unmet direct dependencies (SOUND && !M68K && SND && SND_SOC && MFD_RK610)
              warning: (SND_SOC_ALL_CODECS) selects SND_SOC_ES8323_PCM which has unmet direct dependencies (SOUND && !M68K && SND && SND_SOC && SND_RK29_SOC)
              *
              * Restart config...
              *
              *
              * GPIO Support
              *
              GPIO Support (GPIOLIB) [Y/n/?] y
                Debug GPIO calls (DEBUG_GPIO) [N/y/?] n
                /sys/class/gpio/... (sysfs interface) (GPIO_SYSFS) [Y/n/?] y
                *
                * Memory mapped GPIO drivers:
                *
                Basic memory-mapped GPIO controllers support (GPIO_BASIC_MMIO) [N/m/y/?] n
                IT8761E GPIO support (GPIO_IT8761E) [M/n/y/?] m
                PrimeCell PL061 GPIO support (GPIO_PL061) [N/y/?] n
                VIA VX855/VX875 GPIO (GPIO_VX855) [M/n/y/?] m
                *
                * I2C GPIO expanders:
                *
                Maxim MAX7300 GPIO expander (GPIO_MAX7300) [M/n/y/?] m
                MAX7319, MAX7320-7327 I2C Port Expanders (GPIO_MAX732X) [M/n/y/?] m
                PCA953x, PCA955x, TCA64xx, and MAX7310 I/O ports (GPIO_PCA953X) [M/n/y/?] m
                PCF857x, PCA{85,96}7x, and MAX732[89] I2C GPIO expanders (GPIO_PCF857X) [M/n/y/?] m
                Semtech SX150x I2C GPIO expander (GPIO_SX150X) [Y/n/?] y
                STMPE GPIOs (GPIO_STMPE) [Y/n/?] y
                TC3589X GPIOs (GPIO_TC3589X) [Y/n/?] y
                TI TPS65912 GPIO (GPIO_TPS65912) [M/n/y/?] m
                WM831x GPIOs (GPIO_WM831X) [M/n/y/?] m
                WM8350 GPIOs (GPIO_WM8350) [M/n/y/?] m
                WM8994 GPIOs (GPIO_WM8994) [M/n/y/?] m
                GPIO Support for ADP5520 PMIC (GPIO_ADP5520) [M/n/y/?] m
                ADP5588 I2C GPIO expander (GPIO_ADP5588) [M/n/y/?] m
                *
                * PCI GPIO expanders:
                *
                OKI SEMICONDUCTOR ML7213 IOH GPIO support (GPIO_ML_IOH) [M/n/y/?] m
                Support for timberdale GPIO IP (GPIO_TIMBERDALE) [Y/n/?] y
                RDC R-321x GPIO support (GPIO_RDC321X) [M/n/y/?] m
                *
                * SPI GPIO expanders:
                *
                Maxim MAX7301 GPIO expander (GPIO_MAX7301) [M/n/y/?] m
                Microchip MCP23Sxx I/O expander (GPIO_MCP23S08) [M/n/y/?] m
                Freescale MC33880 high-side/low-side switch (GPIO_MC33880) [M/n/y/?] m
                74x164 serial-in/parallel-out 8-bits shift register (GPIO_74X164) [M/n/y/?] m
                *
                * AC97 GPIO expanders:
                *
                Philips UCB1400 GPIO (GPIO_UCB1400) [Y/n/?] y
                GPIO EXPANDER PCA9554 (GPIO_PCA9554) [N/y/?] n
                ROCKCHIP TCA6424 CONTROL (IOEXTEND_TCA6424) [N/y/?] n
                setting the amount of expanded gpios (EXPANDED_GPIO_NUM) [] (NEW)
              What does it want ?

              Last edited by raxy; 06 January 2014, 22:53.

              Comment


                #22
                Steps for compilation:

                1. Install all libs
                2. Install arm toolchain
                3. run make clean
                4. run make rk3188_sdk_android-4.4-defconfig
                5. run make kernel.img

                Should build a generic rk3188 bootable kernel suitable for a ministick

                From that point we need to alter the kernel config (.config) and source to build a tablet kernel.
                Measy U4B (=Tronsmart T428) used by my kids!
                Onda v975m - M802 - Bought from Banggood.com
                Pipo M8HD 3G - RK3188 - don't buy from pipo-store
                Tronsmart S89 Vega -S802 (sponsored by Geekbuying)
                CX921b -RK3188T (sponsored by AndroidTV)
                Cube U30GT2 - RK3188 (part sponsored by Geekbuying)
                RKM MK902 - RK3188 (sponsored by RKM)



                Donate to Finless

                Comment


                  #23
                  Thanks a lot darr,
                  I missed that make defconfig step,
                  I've understood that later and while i as rebuilding from other sources
                  Do i find that defconfig file in arc/arm/configs ?

                  Comment


                    #24
                    FULL sources (system and kernel) for KitKat on Rockchip

                    Yes, but you don't need to copy it, just run the make cmd


                    Sent from my iPhone using Tapatalk
                    Last edited by d33; 09 January 2014, 14:08.
                    Measy U4B (=Tronsmart T428) used by my kids!
                    Onda v975m - M802 - Bought from Banggood.com
                    Pipo M8HD 3G - RK3188 - don't buy from pipo-store
                    Tronsmart S89 Vega -S802 (sponsored by Geekbuying)
                    CX921b -RK3188T (sponsored by AndroidTV)
                    Cube U30GT2 - RK3188 (part sponsored by Geekbuying)
                    RKM MK902 - RK3188 (sponsored by RKM)



                    Donate to Finless

                    Comment


                      #25
                      mixing

                      Hi,
                      Does it make sense if I try to mix the kernel (3.0.36 based I assume) I could build with these sources with a jellybean Riley ROM ?
                      I try to proceed step by step and get a kernel built by me before even going further with kitkat...

                      tks.

                      Comment


                        #26
                        FULL sources (system and kernel) for KitKat on Rockchip

                        There are 4.2.2 sources available if you want to build JB

                        New kernel is very different according to Finless


                        Sent from my iPhone using Tapatalk
                        Measy U4B (=Tronsmart T428) used by my kids!
                        Onda v975m - M802 - Bought from Banggood.com
                        Pipo M8HD 3G - RK3188 - don't buy from pipo-store
                        Tronsmart S89 Vega -S802 (sponsored by Geekbuying)
                        CX921b -RK3188T (sponsored by AndroidTV)
                        Cube U30GT2 - RK3188 (part sponsored by Geekbuying)
                        RKM MK902 - RK3188 (sponsored by RKM)



                        Donate to Finless

                        Comment


                          #27
                          darrellr,
                          my dream for now is to port CM10.x to my pipo tablet, but none of the 4.2.2 sources I've tried made me get closer to that goal, yet...

                          OMA should not remain the only one who tried and somewhat succeeded with a beta CM10.1 for the V88...

                          Comment


                            #28
                            Who can tell me please, how can I get original .config from either kernel.img or running kernel from Pipo tablet?

                            extract-ikconfig kernel.img says that it can't find config inside kernel.
                            And there is no /proc/config.gz file.

                            Withot this config it will be really hard to compile working kernel for tablet having only generic defconfig.

                            Comment

                            Working...
                            X