Android kernel source code compiling.

by Manjur » Fri, 04 Sep 2009 19:15:29 GMT

Sponsored Links
 Hi folks,

As a newbie, I want to learn Android kernel development on my Ubuntu

Could you please provide me beginner's guide how to download Android
kernel source code, compiling it and running the image on Android

Thank you guys in advance,



Android kernel source code compiling.

by Mark McDonald » Tue, 08 Sep 2009 15:58:23 GMT

 May I suggest the official guide to begin with: 

It contains all the steps to obtain, build & run the entire codebase.

This blog post covers extending the image to include the proprietary google
libs from your phone: 


2009/9/3 Manjur <>

Mark McDonald



Sponsored Links

Other Threads

1. chown problem

Hi, all.

I have one question about the chown() service call.

In the ensure_config_file_exists() function of wifi.c,
this function is called from the "system_server" processor.
The "system_server" process has 1000(system) uid and 1000(system) gid.
As far as I know, to change the ownership of the file, the processor
should have a root permission.
But the "system_server" has no root permission.
So, in my case, the below logs are displayed always.
How can I resolve it?


[  135.220000] init: event { 'add', '/module/bcm4325', 'module', '',
-1, -1 }
[  135.240000] Linux Kernel SDIO/MMC Driver
[  135.240000] bus: 'sdio': add driver bcmsdh_sdmmc
[  135.240000] sdio_bus_match: return 1
[  135.250000] sdio_bus_probe: sdio_match_device() return 0xbf01ab2c
[  135.260000] sdio_bus_match: return 1
[  135.260000] sdio_bus_probe: sdio_match_device() return 0xbf01ab2c
D/SettingsWifiEnabler(  742): Received wifi state changed from
Disabled to Enabling
[  135.310000] DHD: dongle ram size is set to 393216(orig 393216)
[  135.930000] init: event { 'add', '/devices/virtual/net/eth1',
'net', '', -1, -1 }
[  135.930000] eth1: Broadcom Dongle Host Driver mac=00:22:58:20:80:02
[  136.020000] init: event { 'add', '/bus/sdio/drivers/bcmsdh_sdmmc',
'drivers', '', -1, -1 }
[  136.020000]
[  136.020000] Dongle Host Driver, version
D/WifiHW  (  555): ===========(+) wifi_start_supplicant()
D/WifiHW  (  555): ensure_config_file_exists : system_server,
gid=1000, uid=1000
E/WifiHW  (  555): Error changing group ownership of /data/misc/wifi/
bcm_supp.conf to 1010: Operation not permitted
E/WifiHW  (  555): Wi-Fi will not be enabled
D/WifiHW  (  555): ===========wifi_unload_driver()
[  137.310000] init: event { 'remove', '/bus/sdio/drivers/
bcmsdh_sdmmc', 'drivers', '', -1, -1 }
[  137.310000] init: event { 'remove', '/module/bcm4325', 'module',
'', -1, -1 }
E/WifiService(  555): Failed to start supplicant daemon.
D/SettingsWifiEnabler(  742): Received wifi state changed from
Enabling to Unknown

==== ensure_config_file_exists() in the wifi.c ====
    if (chown(SUPP_CONFIG_FILE, AID_SYSTEM, AID_WIFI) < 0) {
        LOGE("Error changing group ownership of %s to %d: %s",
             SUPP_CONFIG_FILE, AID_WIFI, strerror(errno));
        return -1;


2. Rendering artifacts in OpenGL

I am doing some very basic drawing of triangles in OpenGL, but I am
seeing strange rendering errors. When I draw a textured square (two
triangles) part of the square is missing or the texture is stretched
or corrupted. When I draw a square with no texture, part of the square
is missing sometimes.

I do not see a pattern to when it works and when it doesn't. It might
be broken one run, then after a back button and rerun, it works the

The triangle that's missing is not one of the triangles used to draw
the square. Rather it is part of the first triangle and part of the
second triangle. The triangles are the bottom right half and the top
left half of the square, but the part missing is the bottom left half
of the square.

The problem occurs on both the Droid and on the emulator.

--due to Google Groups Error, I can't post any more. I'll try to add
the details in another post--


3. OpenGL dropping triangles

4. Application installment statistics

5. Populating custom layout from xml resource.

6. Android HAL.

7. Question about BlueZ licenses (LGPL and Apache)