Anyone have used this RK3066 development Board? - Android Stick & Console RockChip based Computers

I just searched ebay for RK3066 Development Board, and found one there, I have played the Beagle board.
this one seem good for play with RK3066 firmware and debug rom.

wy6688 said:
I just searched ebay for RK3066 Development Board, and found one there, I have played the Beagle board.
this one seem good for play with RK3066 firmware and debug rom.
Click to expand...
Click to collapse
Not used that one, but I'd caution you away from the RK3066 in general, as I have used a device with RK3066 chipset...
Rockchip don't respect or follow the GPL and give sources with binaries included. This means you cannot compile entirely from source, and can be problematic. Some core drivers like the clock driver are blobbed.
There may be better development boards out there, the ODroid X2 is one I've heard good things about.

I have checked the Latest Linux Kernel source from Kernel.org, all their source code included, using new ARM DTS system (device tree source), so you can compile all your kernel directly from mainstream kernel, except some board level chip driver, which you need to customize from Driver fold, /linux/arch/arm/boot/dts/rk3066a.dtsi, rk3066a-clocks.dtsi

wy6688 said:
I have checked the Latest Linux Kernel source from Kernel.org, all their source code included, using new ARM DTS system (device tree source), so you can compile all your kernel directly from mainstream kernel, except some board level chip driver, which you need to customize from Driver fold, /linux/arch/arm/boot/dts/rk3066a.dtsi, rk3066a-clocks.dtsi
Click to expand...
Click to collapse
Have you got NAND drivers for the rk3066 nand? clock drivers, ddr drivers?
(see files with a .uu extension, it's a uuencoded .o binary)
https://github.com/AndrewDB/rk3066-kernel/tree/master/arch/arm/mach-rk30 (ddr.uu, ddr_freq.uu, clock_data.uu)
https://github.com/AndrewDB/rk3066-kernel/tree/master/drivers/video (fb.uu)
I believe there's also some missing drivers for the nand (https://github.com/AndrewDB/rk3066-kernel/tree/master/drivers/mtd/rknand)

I just got the development broad from ebay and checked the source code, it do missing these source file and although you can build the kernel without issue for 3.0.8.
I believe the latest 3.10.x kernel from kernel org, which included the RK3066 DTS files, can be used to build the generic kernel that can run on RK3066 board and should have no other source code needed.
I'm trying to build this kernel based on 3.10.x, anyone know detail steps that build the generic kernel based on RK3066 DTS?
Thank advance.

Related

What is a kernel?

this might be a stupid question, but what is a kernel and how do u use them? i know what a rom is and how to install but not a kernel....
Wikipedia definition:
"In computing, the kernel is the central component of most computer operating systems; it is a bridge between applications and the actual data processing done at the hardware level. The kernel's responsibilities include managing the system's resources (the communication between hardware and software components).[1] Usually as a basic component of an operating system, a kernel can provide the lowest-level abstraction layer for the resources (especially processors and I/O devices) that application software must control to perform its function. It typically makes these facilities available to applicationprocesses through inter-process communication mechanisms and system calls."
Since Android is based on Linux: (don't know if this relevant)
"The Linux kernel is an operating system kernel used by the Linux family of Unix-like operating systems.[6] It is one of the most prominent examples of free and open source software.[7]
The Linux kernel is released under the GNU General Public License version 2 (GPLv2),[4] (plus some firmware images with various licenses), and is developed by contributors worldwide. Day-to-day development takes place on the Linux kernel mailing list.
The Linux kernel was initially conceived and created by Finnish computer science student[8] Linus Torvalds in 1991. Linux rapidly accumulated developers and users who adopted code from other free software projects for use with the new operating system.[9] The Linux kernel has received contributions from thousands of programmers.[10] Many Linux distributions have been released based upon the Linux kernel."
I have a question too.
When I boot ubuntu 10.04, the kernel comes up as 2.6.32, I think this is the same number as a previous android kernel. So how close is the android kernel to the linux kernel, us it a fork? When the new linux kernel comes out, will the android kernel be updated to reflect that?
What the little brown things are in a popcorn bag before you pop it XD
I thought it would be better to ask here than start a new thread but i have never installed a kernal before and was wondering how, do you just flash it in recovery? I have the desire rom and would like for my speaker to be a bit louder.
With kernels, I usually do ADB command.
liam.lah said:
So how close is the android kernel to the linux kernel, us it a fork?
Click to expand...
Click to collapse
It's the same with some Android and phone specific patches applied. A config file decides what architecture to build for and what drivers to include. That's what lets us bring in cutting edge features like compcache and BFS quickly.
Nice to think that your phone is running the exact same code that the world's fastest supercomputer is.

[Q] Building your own kernel

Hey all. This is my first post here on XDA.
I've been thinking of compiling my own kernel image for my HTC Legend. I've spent hours googling and reading different forums and blog's. But without greater success, most of the guidelines are not spot on and some things are not cristal. So I have a few questions regarding this.
I have read that a specific radio image is just "comptabile" for compilation with a specific kernel version. So let's say I have HTC_LEGEND_RADIO_7_083521_sign.zip, how do I know what kernel version this is made for? In my ears this sounds pretty strange . I would not be able to build a kernel from that radio image and the 2.6.35.5 Linux kernel?
I've also tried to figure out what exactly the radio image is from various boguos posts on different forums, and what I belive it is from the tiny bits of information I've found is that It's modules for the phones hardware?
Oh, and what is the latest radio image version available for the HTC Legend?
Hope someone can help me clear some of my questions
I can only answer the very last question lol, it's 7.08.35.21
Latest RUU:
RUU_Legend_Vodafone_AU_2.10.178.1_Radio_47.39.35.09_7.08.35.21_release_138238_signed.exe
First seen in:
RUU_Legend_HTC_WWE_2.03.405.3_Radio_47.39.35.09_7.08.35.21_release_130330_signed.exe
Hi tonper,
First... where did you get that radio has something to do with kernel??? Radio image is basically a firmware (operating system of its own that interacts with radio hw) and has nothing to do with Android kernel which is in fact patched Linux kernel. One can access all functions of radio through userspace Android apps that communicate with radio via native libraries. That's all that it is to say about radio in conjunction with kernel.
To be able to build a kernel one should first master basics of Unix/Linux system principles and first try to build own kernel for some Linux distro. One need to know also how to boot this kernel and use it with the rest of the operating system. Last thing to master is cross-compiling as you will be building kernel for ARM architecture most possibly on your x86 PC. In short the topics to search for would be:
* knowing Linux (principles)
* booting Linux (process)
* compiling Linux kernel
* cross-compiling
Android powah!
Thanks for your answer BlaY0!
Will check into it some more this weekend with this new information.
BlaY0 said:
* knowing Linux (principles)
* booting Linux (process)
* compiling Linux kernel
* cross-compiling
Click to expand...
Click to collapse
Been running Linux for 10 years and Debian for 7 years. So got the basic knowledge I just can't find any good documentation on this topic
Cyanogenmod wiki have some guides
http://wiki.cyanogenmod.com/index.php?title=Building_Kernel_from_source
snakehult said:
Cyanogenmod wiki have some guides
Click to expand...
Click to collapse
How could I have missed that page? Have been googling like a maniac. That was pretty much exactly what I was looking for. Thanks alot snake
tonper said:
Been running Linux for 10 years and Debian for 7 years. So got the basic knowledge I just can't find any good documentation on this topic
Click to expand...
Click to collapse
OK, then you're set m8 you just need to grab some ARM cross-compiling toolchain for x86. Your first bet would be Android NDK. You can also use CodeSourcery or even build your own toolchain with Buildroot... but for compiling kernel really doesn't matter which one U use.
Happy compiling

[Q] help build cp210x.ko on Iconia A500 3.2.1

Hi,
I really need the cp210x.ko module, but I couldn't successfully build it properly for my Iconia A500 with 3.2.1 and 2.6.36.3+ kernel.. I get the following when I tried insmod my cp210x.ko build using ubuntu cross compiler approach:
cp210x: version magic '2.6.36.3+ preempt mod_unload ARMv5 ' should be '2.6.36.3+ SMP preempt mod_unload ARMv7 '
A little search showed that I need to build it in ARMv7, and need to set the kernel config to build SMP kernel. In this thread I saw a few modules offered but couldn't post reply as a new xda-developers user, so I post here. My A500 has already been rooted via the su (version 3) method posted few days ago.
Please help me build the cp201x.ko module - I am kinda stuck..
Bill
Bill,
Might I suggest you look at loading one of the many custom ROM's that will have what you want? If you are rooted, then install CWM (ACER Recovery from the marketplace) which should allow you to load custom ROM's. In order to load the cp201x.ko module you'd have to recompile the kernel and people doing this type of work normally are building custom ROM's.
Anyway, just my 2ยข
Thanks for the advice. I am testing Thor ROM at the moment. Cool..
From what I can read and see within various ROMs /system/lib/modules, very few (out of total possible) kernel modules made it to these custom ROMs - mostly to get game controller to work, extra filesystems, or networking protocols. USB-to-serial modules are rare and certainly my search didn't turn up cp210x.
Cross-compiling the kernel source on Gentoo is mentioned to be better supported then ubuntu, due to its crossdev toolkit, as I'm trying to figure out how to specify target ARMv7 instead of ARMv5 I'm defaulting to when cross compiling from Ubuntu's arm-linux-gnueabi-*
I'm wondering if various nice ROM cooks have releases of their modified kernel source - or might be willing to help me build the just the cp210x as a .ko module, e.g. in the .config, "CONFIG_USB_SERIAL_CP210X=m" - I've found a post few months ago where a successful build and insertion of cp210x module was done but he had some problems when initiating communication on it - I fear the worst but hope for the best, and would like to try that myself as I've successfully talked to my device through the cp210x module on Linux.
Or, if any tips on how to build kernel (just the modules really) properly e.g. As Thor's ROM version number hints at need for some custom and virtualized build environment, I'm looking for the quick and dirty solution if cooking ROMs/kernel/ko's has steep learning curve..
Any help much appreciated!
Bill
It looks like I was speeding down the the wrong track last few days
Apparently the /proc/config.z copied off the a500 device was missing something - and how strange that is - so I had to enable SMP and choose Tegra 2 ARM processor using "make menuconfig" to get the vermagic on the build module (e.g. modinfo after successful make modules) to show ARMv7 and SMP, build from my Ubuntu cross-compiling setup. I haven't tested this new cp210x.ko on a500 yet (as it's currently running one of the customized ROMs that has different EXTRAVERSION/vermagic to the stock Acer kernel source version 2.6.36.3 that I'm based on.
I think it'd be really wonderful if various Android kernel and kernel module makers release their kernel config, sync'ed to each ROM or kernel release, so people like me may independently build special purpose kernel modules with more efficiency and accuracy (to target their customized kernel), and we can recontribute back to to a growing list of tested and working modules for corresponding devices.
Bill
Hmm... Silly. It looks like Thor's ROM already has cp210x build-in, not as a loadable module but compiled in. My device is reported to attach to ttyUSB0! How nice
Thanks!
Bill
For those who are interested, the cp210x.ko module build using latest mentioned approach, e.g. modified kernel config.z, generate module that appear to insert correctly into lightspeed and taboonay roms (neither has this USB-to-serial module) - with a little modification of the EXTRAVERSION variable in the Makefile.
Bill
CP210x and GT-P7500
Has anyone got CP210x module working with Samsung Tab GT-P7500? My problem is that the connected USB-device doesn't create node dev/ttyUSB*. I have spent lot of time trying to figure this one out.
I have tried 1) Manually compiling the linux kernel that has cp210x support as a module. After compiling the module I tried insmoding the cp210x.ko to a running kernel, but even though it seemed to load and unload all right, it did not give me the wanted results. It does not create device node /dev/ttyUSB*. I have also tried modifying ueventd.rc for adding this row, but I am guessing it is only relevant for permissions after the node is created.
Also 2) loading cyanogenmod 10 (which should have cp210x support) to tablet but it doesnot create the desired /dev/ttyUSB* node. I can see device file under dev/bus/usb/001/ but the node does not exist.
I am going to try making needed files for building custom kernel and inserting to tablet. However, I have 0 experience on this, I think it can be tough one.
Any help would be welcome, thanks.

[Q] searching for cm-10.1 source for Ideos X5

Hi
I have successfully upgraded my Ideos X5 U8800 to 2.3.5 official Gingerbread, rooted it, and then repartitioned it using Blepart recovery. Subsequently I have checked out cm11 source, including Blefish repositories/code for the U8800 (thanks for good work, by the way!), compiled/built and installed a ROM. This was my first build.
OK. Good so far. Only I am looking to build cm10.1 because my goal is to eventually get this handset running Ubuntu Touch. Therefore, the next step is to get it running on cm10.1.
My problem is that I cannot find the source I need. I have tried to set up a fresh source tree and check out cm10.1 source combined with Blefish's source by specifying branch cm10.1 for the latter, using the files I used in .repo/local_manifests to get the cm11 device source etc. from Blefish. However, something seems to be missing as the lunch command fails and compilation aborts. Also, I can see that development has been discontinued on this branch for the U8800.
Any suggestions?
The cm-10.1 branch is deprecated, and I am not planning to update it as cm-11.0 is better in any way.
Is the Ubuntu Touch source code only based on cm-10.1 code though? Maybe you could have success using the cm-11.0 code as it is right now? I am not familiar to how Ubuntu uses the lunch commands, it might be different than Android's default.
Blefish said:
The cm-10.1 branch is deprecated, and I am not planning to update it as cm-11.0 is better in any way.
Is the Ubuntu Touch source code only based on cm-10.1 code though? Maybe you could have success using the cm-11.0 code as it is right now? I am not familiar to how Ubuntu uses the lunch commands, it might be different than Android's default.
Click to expand...
Click to collapse
Thanks for the quick response!
The Ubuntu Touch guide specifically states cm-10.1, but I will sign up with their forums and check whether I can use cm-11.
The following passage from the Ubuntu Touch Porting Guide gives the impression I might be able to base my work on cm-11? Would you agree?
"For quick reference, these are the current components used from Android:
Linux Kernel (stock Android kernel provided by the vendor, with a few changes to support some extra features needed by Ubuntu, such as Apparmor)
OpenGL ES2.0 HAL and drivers
Media (stagefright) HAL, to re-use the hardware video decoders
RILD for modem support
As Ubuntu is running as the main host on top of an Android kernel and the communication between the Android services and HAL happens via Binder, Sockets and libhybris. "
I am hoping this could work, as it would be a tremendous help, now that I have a running ROM built on 20 May with your source tree for the device specific code etc. which works like a charm! :good:
Best regards,
aribk

What's the difference between the ROM and the kernel

I see installation instructions for a ROM (which is the Android OS, right?) and I see references to a kernel as well. What is the difference? Am I supposed to install both at the same time, or does the ROM carry the kernel, or how does it work?
Android is similar to mainstream linux operating systems in that the ROM is like the OS portion of a linux distro.
the Kernel is the portion that interfaces between the OS and the hardware.
Pretty much all Roms (there may be exceptions but I cant think of any) come prepackaged with a kernel as well.
so installing the ROM will install the kernel automatically and has the benefit of installing the kernel the developer intended.
There are separate Kernels available that have specific features you may prefer. (overclocking for CPU/GPU, specific modules loaded for emulation if running a linux distro within android etc.)
to install them you would install the rom (And its default kernel) then flash the kernel of your preference over it.
If you are just starting out I would just install the Rom and its default kernel unless you have a very specific use case.
hopefully that helps
There are often more pieces as well due to proprietary code:
ROM - the OS itself often either based on AOSP, the manufacturer software or Lineage (or a mix)
Kernel - refers to the open source linux kernel that controls hardware that it supports.
Firmware - includes manufacturer proprietary code for hardware that is not open source.
Modem - includes proprietary code for modem hardware.
it breaks down further but generally you will start with a stick manufacturer installation including all parts.
then you can flash a custom rom and kernel (Usally as a complete package)
Modem and firmware updates would still come from the manufacturer. (Most roms will tell you if a specific firmware or modem is needed, the modem usually doesnt matter as much anymore but in the early years it was important)
Thanks for the information!

Categories

Resources