nutcheck Android system

my board comes with lack of memory, and most of it is mounted as tmpfs. it’s about 50 MB. i can use it to mount Android data and system directory. so, last evening i test it. first i make ext2 image from system and data from benno (http://benno.id.au/blog). then mount it.

i made symbolic link to /system and /data to /dev/system /dev/data. successfully i can put it in the right way. copy all android’s etc content to /etc (even i’m sure it will never work !) okay, this is sound so radical and irrational, if the result is like what i expect, but the shell told me different.

the most important thing in porting android is what it needs to run properly in kernel relative term, the binder driver itself. in strace runtime (emulator version) you can see :

Freeing init memory: 96K
init: HOW ARE YOU GENTLEMEN
init: reading config file
init: device init
init: mtd partition -1,
init: mtd partition 0, “system”
yaffs: dev is 32505856 name is “mtdblock0”
yaffs: passed flags “”
yaffs: Attempting MTD mount on 31.0, “mtdblock0”
init: mtd partition 1, “userdata”
yaffs: dev is 32505857 name is “mtdblock1”
yaffs: passed flags “”
yaffs: Attempting MTD mount on 31.1, “mtdblock1”
eth0: link up
sh: can’t access tty; job control turned off
# binder_open(c0833428 c5a7ad60) (pid 460) got c5c25000
binder_open(c0833428 c0835240) (pid 468) got c4cea000

android runs over the binder’s thread to open and get PID. so, what i have done is this silly thing :

1. android needs 2.6.23 -> according to official android site : mine : 2.6.19

2. android needs binderdev.ko : mine, i don’t have any, tried to insmod but the module and the kernel is in different version. i tried to build it as separate module, i just failed, and i plan to analyze it today. so, i expect something happen, run android without binder !

3. run init directly from console. i replaced the original busybox with benno’s one, and it seems something missing with kernel configuration, but i just fix it, and i don’t want to tell you what i’ve done 😛

then i just run it with absolutely failed:

init: HOW ARE YOU GENTLEMEN
init: reading config file
init: device init
init: mtd partition -1,
init: mtd partition 0, “U-boot”

init: mtd partition 1, “Kernel”
init: mtd partition 2, “filesystem”
init: mtd partition 3, “Kernel-high”

and then nothing but this :

mxc_ipu warning : channel already initialized

yes, this warning recursively appear to the console until i reset it and it up with both kernel and filesystem error. so i flash the kernel image and jffs2 filesystem image. and when the kernel is booting up, there is driver initialization errors. how nut it is.

as i told you, i plan to analyze it today. the warning seemed to be mxc_ipu which i can get it through :

$ ls drivers/mxc/ipu/*.c
drivers/mxc/ipu/ipu_adc.c
drivers/mxc/ipu/ipu_csi.c
drivers/mxc/ipu/ipu_lpmc.c
drivers/mxc/ipu/ipu_common.c
drivers/mxc/ipu/ipu_sdc.c

okay, as i am not kernel developer and i just nut : i am doing this,

$ grep mxc_ipu drivers/mxc/ipu/*.c -R
drivers/mxc/ipu/ipu_common.c:static const char driver_name[] = “mxc_ipu”;
drivers/mxc/ipu/ipu_common.c: struct mxc_ipu_config *ipu_conf = pdev->dev.platform_data;
drivers/mxc/ipu/ipu_common.c: .name = “mxc_ipu”,

okay, so the problem must be in the /drivers/mxc/ipu/ipu_common.c. i plan to analyze it tomorrow after my developer come and ready to debug it. so let’s continue to android and my assumption. as i told you before, its supposed to be error in opening binder driver while android init runs, but what i got is lesser than it supposed to be. the ipu driver’s error !

IPU (Image Processing Unit) is supported kernel feature that handle request from upper layer to the kernel and process it to hardware. simply, i just tell that something wrong with the IPU driver. tomorrow i will report it to kernel developer (actually, me myself) to fix the problem. 🙂

now and then, let’s go to the coffee shop, ask for a cup of coffee and a bunch of BF with cherry, spend much more time, and go to the bar for drinks. ciao.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s