Announcement

Collapse
No announcement yet.

Announcement

Collapse
No announcement yet.

Linux for RK3188 based TV boxes

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

    try to add -i to make command line
    it will ignore errors, and eventually compile module you need.
    Then you need to manually find .ko file and copy it. (e.g. find ./ -name xxx.ko)

    Comment


      Originally posted by mmm123 View Post
      Process of compiling kernel is not as simple as in x86 based PCs
      First you need a working armhf toolchain. I personaly never found working one, so i compile all stuff with native compiler on another arm based device. Anyway, lets say you can compile kernel and it is working. There are 2 ways to use this kernel:
      Good luck playing with kernel
      Dear mmm123,

      Forgive me for asking total newbie questions, I've been struggling to understand this issue for quite some time. I read your two posts about packing rk images (kernel+boot vs. recovery), but it is not about that. It is about nature of boot up process itself. I hope this would help a lot of others, absolute beginners like myself, to gain a proper understanding of how it all works.

      O.k. the command line. In many (notably more rk3066) kernel configs, I see something like this:
      Code:
      CONFIG_CMDLINE="root=LABEL=linuxroot init=/sbin/init loglevel=8 rootfstype=ext4 rootwait mtdparts=rk29xxnand:0x00002000@0x00000000(parameter),0x00002000@0x00002000(misc),0x00004000@0x00004000(kernel),0x00008000@0x00008000(boot),0x00008000@0x00010000(recovery)"
      whereas in you config it is:
      Code:
      CONFIG_CMDLINE="initrd=0x62000000,0x00800000 root=LABEL=linuxroot init=/sbin/init"
      The first approach clearly requires mounting all nand partitions? Why?
      The second instance, more likely relates to RAM memory address, or does it? But it still also requires mounting nand? Why if it is a ram disk?

      And another issue, which somehow seems to be related to previous one - in many instructions on recovery kernel packaging (again notably more for rk3066 than k3188 devices), I see e.g.:
      Code:
      ./mkbootimg --kernel Image --ramdisk fakeramdisk.gz --base 60400000 --pagesize 16384 --ramdiskaddr 62000000 -o recovery.img
      while in yours it is:
      Code:
      ./mkbootimg --kernel Image --ramdisk recovery_initrd.cpio.gz --pagesize 16384 --ramdiskaddr 62000000 -o recovery.img
      The main difference being in: “--base 60400000”. But both hex values translated to decimal (1614807040 vs 1644167168) are still somehow well outside RAM limits?
      I realize this may be a general linux issue rather than rk devices topic, but I would indeed appreciate if you could at least provide us a couple of informative links.

      Many thanks for your patience and your great work!
      Goran

      Comment


        1. Generally, perhaps it helps, if you have a look at my sig
        2. "values translated to decimal": a) I understand that this it is not at ram, it is at nand (structure inside the recovery.img), b) normally hex is signed with a starting "0x" so I think it is decimal
        RK3288 Devices
        - Overview BOX (LINK !)
        - Overview STICK (Dongle) (LINK !)

        MINIX NEO: Z64 W/A - (Intel Z3735F); X8-H Plus - (Amlogic S812H); A2 Lite (sponsored by minix.com.hk)
        UGOOS UT3S (4/32GB with fan) - FW 2.0.6 - (RK3288) (sponsored by GearBest.com)
        Tronsmart Draco AW80 Meta (2/16GB) - FW v2.0rc3 - (Allwinner A80) (sponsored by GeekBuying.com)
        Beelink / UBOX R89 - FW 111k4110_1219 - (RK3288) (sponsored by Netxeon (Beelink))

        RK3188: pcb => "CH001 1332 TN-BX09_V2.1" (K-R42 / CS918...) => wasser KK 1.0.3 (old rev)
        Fly Mouse Mini Wireless Keyboard with 2 mode learning IR remote 'iPazzPort KP-810-16'

        Comment


          I don't see how understanding of exact meaning of these numbers will help you but ok. I will try to explain (still all my information is guessing or reverse-engineering so it could be wrong)

          This part of command line:

          mtdparts=rk29xxnand:0x00002000@0x00000000(paramete r),0x00002000@0x00002000(misc),0x00004000@0x000040 00(kernel),0x00008000@0x00008000(boot),0x00008000@ 0x00010000(recovery)"
          tells rk3x_nand.ko (or whatever name of nand module was) how to partition flash.
          FLASH is sequence of bytes, if you want to partition it to several parts you need mechanism to know where each part starts and its size. Similar thing is hard disk, but hard drive has a partitions table which tells where each partition starts and how big it is. For flash there is no such thing as partition table so the way it is divided is by specifying this manually in command line.
          If you run your kernel from SD card or USB flash drive, you don't need to access internal device FLASH, unless you want to play with android files. because of that flash format is not specified and flash module is not loaded.

          this part:

          initrd=0x62000000,0x00800000
          tells kernel where to look for initrd in RAM
          initially bootloader loads kernel and initrd into memory and runs kernel. Kernel has a mechanism to auto-detect where ramdisk is (by searching special sequence of bytes in ram) For some reason this is not working on RK devices to this is set as command line parameter.

          About

          --base 60400000
          in mkbootimg - this is default value, because of that I don't specify it as command line parameter.

          All These numbers - 60400000, 6200000 they come from original android image. I guess Rikomagic figured them out and used them into SDK which was then used to create android images.

          If you want to use all this on RK3066 device, get a image from that device, and reverse-engineer it (mkbootimg had an option to split image instead of creating one) and doing so it will tell what these parameters are.

          Hope this helps.

          Comment


            Many thanks!

            Originally posted by mmm123 View Post
            I don't see how understanding of exact meaning of these numbers will help you but ok. I will try to explain (still all my information is guessing or reverse-engineering so it could be wrong)
            Hope this helps.
            It does help a lot, indeed! I figured out nand "partitions" thing (after a long afternoon of studying Bob Finless's tutorial, but haven't checked whether mine android partitions on mk808 (Finless 2.1) corresponded to command line used by Oleg's kernel (which I downloaded for testing) - simply because it was working, and I mean working perfect! But when I compiled myself using his original config from /proc/config.gz, and made recovery image with all sorts of initrd/initramfs combinations (both your method and with fakeramdisk) that I could think of, my recovery was larger than Oleg's and linux always got stuck on boot. So I suspected that the issue had to do with using the right initrd/initram - and 3.0.36, rather than 3.0.8 (wrote about this in more detail in another tread):

            Plus, I was particularly confused with the meaning of --base 60400000 and --ramdiskaddr 62000000 parameters. The only way to figure out possible reason was to attempt to understand the entire process. Now I think I am getting closer, and my next essential readings will be.... Well, wouldn't bothe any more, just to add that I am not completely off topic here, as everything I learned so far was on my other, rk3188 device.
            Many thanks for your help mmm123,
            G

            Comment


              rk29_vmac eth0 ethernet fix for K-R42 board TN-BX09_V2.1 1347 2013/05/31

              mmm123 eth0 rk29_vmac is not working with your kernel build on K-R42 board TN-BX09_V2.1 1347 2013/05/31

              Interface is up, but got only error packets, just like some other people reported. Here is working kernel:


              Originally posted by walter
              This tree works, patched already, select EXT clock for rk29 vmac in .config, not PLL.
              https://github.com/linux-rockchip/rockchip-3.0
              also worth mentioning http://www.freaktab.com/showthread.p...l=1#post122934
              Originally posted by georget
              Apparently it is not enough to just look at the date (2013/05/31) which is on a large batch of boards. The key is to look at the date code.

              Thanks to everyone! Finally I got it working after three days of kernel building %).

              Comment


                adobe flash

                Is adobe flash + linux supported on the rk3188 devices?

                Thanks!

                Comment


                  Originally posted by aibohraz View Post
                  Thanks to everyone! Finally I got it working after three days of kernel building %).
                  and what about your '.config' ? Please can you attach it?
                  RK3288 Devices
                  - Overview BOX (LINK !)
                  - Overview STICK (Dongle) (LINK !)

                  MINIX NEO: Z64 W/A - (Intel Z3735F); X8-H Plus - (Amlogic S812H); A2 Lite (sponsored by minix.com.hk)
                  UGOOS UT3S (4/32GB with fan) - FW 2.0.6 - (RK3288) (sponsored by GearBest.com)
                  Tronsmart Draco AW80 Meta (2/16GB) - FW v2.0rc3 - (Allwinner A80) (sponsored by GeekBuying.com)
                  Beelink / UBOX R89 - FW 111k4110_1219 - (RK3288) (sponsored by Netxeon (Beelink))

                  RK3188: pcb => "CH001 1332 TN-BX09_V2.1" (K-R42 / CS918...) => wasser KK 1.0.3 (old rev)
                  Fly Mouse Mini Wireless Keyboard with 2 mode learning IR remote 'iPazzPort KP-810-16'

                  Comment


                    my config, maybe not final. nothing special, I got it from this thread initially... http://pastebin.com/PhFQZMXx

                    Comment


                      DWC_OTG: dwc_otg_hcd_urb error msg

                      Hi!

                      I've been trying to get my mk809III to work according to this thread, but Im getting some strange error messages after Ive logged in to Linux.

                      I can boot+log inn, but thats about it.

                      After that I keep getting
                      DWG_OTG: dwc_otg_hcd_urb_enqueue urb->transfer_buffer address not aligned to 4-byte 0xed66d00e

                      When running the exact same HW in Android things are stable..I use Mele wireless mouse/keyboard and a USB to Lan device connected to a passive USB HUB.

                      Any ideas as to whats happenig to my device?

                      Comment


                        Hi

                        I love my dongle under android and use it mainly for xbmc.
                        The thing is that most of the replay channels i want to watch have hls videos. Android just sucks decoding these and using external player (mx player) doesn't improve much.
                        So i figured i would give this a try..
                        The first post seems pretty old. No new version since?
                        Does Wi-Fi and bt run fine one it?

                        I have a ugoos ug007
                        I use the neomode rom 1.7 ( best rom working for that dongle)
                        Thanks in advance for the help

                        Sent from my LG-D802 using Tapatalk

                        Comment


                          Originally posted by ArneAnd View Post
                          Hi!

                          I've been trying to get my mk809III to work according to this thread, but Im getting some strange error messages after Ive logged in to Linux.

                          I can boot+log inn, but thats about it.

                          After that I keep getting
                          DWG_OTG: dwc_otg_hcd_urb_enqueue urb->transfer_buffer address not aligned to 4-byte 0xed66d00e

                          When running the exact same HW in Android things are stable..I use Mele wireless mouse/keyboard and a USB to Lan device connected to a passive USB HUB.

                          Any ideas as to whats happenig to my device?
                          Linux for RK3188 is pretty old version (3.0.36 vs current linux kernel version 3.13.x)
                          Because of this osme of the included drivers are quite buggy. I personaly have 5 different USB to etherneto dongles and only 2 of them work without problem.
                          Still if you have working driver for android, you could try to load it into linux, just find out what driver name is, copy it from android and insert.
                          To find what your device is, type lsusb
                          to find out which drivers are loaded, use lsmod
                          to load android driver, remove linux driver first (rmmod) and insert android one (insmod)

                          Comment


                            Mmmm..a bit outside of my very limited Linux skills
                            But that's how you improve
                            I will try the finless kitkat rom today. If it doesn't help, I'll go with Linux and do what you recommend.
                            Thanks for the help

                            Sent from my LG-D802 using Tapatalk

                            Comment


                              Originally posted by mmm123 View Post
                              Linux for RK3188 is pretty old version (3.0.36 vs current linux kernel version 3.13.x)
                              Because of this osme of the included drivers are quite buggy. I personaly have 5 different USB to etherneto dongles and only 2 of them work without problem.
                              Still if you have working driver for android, you could try to load it into linux, just find out what driver name is, copy it from android and insert.
                              To find what your device is, type lsusb
                              to find out which drivers are loaded, use lsmod
                              to load android driver, remove linux driver first (rmmod) and insert android one (insmod)
                              I just put in the Neomode custom rom 3.1 4.4.2.
                              Seems Wifi and Bluetooth doesnt work but my USB ETh is working.
                              When I do lsusb, I get lsusb not found
                              lsmod works though

                              Linux is still not my thing

                              Comment


                                B351 V2.0 Ethernet is working

                                Thanks to aibohraz & mmm123, my ethernet is working now. The steps
                                1. Use code from https://github.com/linux-rockchip/rockchip-3.0
                                2. Use config from mmm123: config.1.1.1 (post #71)
                                3. Use option RK29_VMAC_EXT_CLK (not RK29_VMAC_PLL_CLK)
                                4. Replace kernel.img in dx05_nand_debian_1.1.1.7z

                                Originally posted by aibohraz View Post
                                mmm123 eth0 rk29_vmac is not working with your kernel build on K-R42 board TN-BX09_V2.1 1347 2013/05/31

                                Interface is up, but got only error packets, just like some other people reported. Here is working kernel:




                                also worth mentioning http://www.freaktab.com/showthread.p...l=1#post122934



                                Thanks to everyone! Finally I got it working after three days of kernel building %).

                                Comment

                                Working...
                                X