I'm trying to get Android running on a n810 (OMAP2420).
Currently there is only a 2.6.21 kernel available for this platform,
and as the kernel patch to support it is rather large (>5MB, keyboard,
touchscreen, oneflash, etc) it seems easier to backport the android
2.6.23 patch.
I've managed to patch the kernel, but I'm having some issues with
power.c and alarm.c, not compiling/working.
Here's the output for power.c:
CC drivers/android/power.o
drivers/android/power.c:937: warning: initialization from incompatible
pointer type
drivers/android/power.c:937: warning: initialization from incompatible
pointer type
drivers/android/power.c:938: warning: initialization from incompatible
pointer type
drivers/android/power.c:938: warning: initialization from incompatible
pointer type
drivers/android/power.c:939: warning: initialization from incompatible
pointer type
drivers/android/power.c:939: warning: initialization from incompatible
pointer type
drivers/android/power.c:940: warning: initialization from incompatible
pointer type
drivers/android/power.c:940: warning: initialization from incompatible
pointer type
drivers/android/power.c:941: warning: initialization from incompatible
pointer type
drivers/android/power.c:941: warning: initialization from incompatible
pointer type
drivers/android/power.c:942: warning: initialization from incompatible
pointer type
drivers/android/power.c:943: warning: initialization from incompatible
pointer type
drivers/android/power.c:944: warning: initialization from incompatible
pointer type
drivers/android/power.c:944: warning: initialization from incompatible
pointer type
drivers/android/power.c:945: warning: initialization from incompatible
pointer type
drivers/android/power.c:946: warning: initialization from incompatible
pointer type
drivers/android/power.c:946: warning: initialization from incompatible
pointer type
drivers/android/power.c:947: warning: initialization from incompatible
pointer type
drivers/android/power.c:947: warning: initialization from incompatible
pointer type
drivers/android/power.c:948: warning: initialization from incompatible
pointer type
drivers/android/power.c: In function 'set_set_battery_level_low':
drivers/android/power.c:978: error: 'struct subsystem' has no member
named 'kobj'
drivers/android/power.c: In function
'android_power_set_battery_level':
drivers/android/power.c:1008: error: 'struct subsystem' has no member
named 'kobj'
drivers/android/power.c:1015: error: 'struct subsystem' has no member
named 'kobj'
drivers/android/power.c: In function
'android_power_set_charging_state':
drivers/android/power.c:1032: error: 'struct subsystem' has no member
named 'kobj'
drivers/android/power.c: In function 'android_power_init':
drivers/android/power.c:1111: error: 'struct subsystem' has no member
named 'kobj'
make[2]: *** [drivers/android/power.o] Error 1
make[1]: *** [drivers/android] Error 2
make: *** [drivers] Error 2
I'm a bit lost here, does anybody have a suggestion how to fix this ?
I tried a silly hack, to just set "ret = 0" and comment the line with
the error.
(this line e.g. ret =
sysfs_create_group(&android_power_subsys.kobj,&attr_group); )
I'm able to compile and successfully run the kernel like this but I
think it's part of the problem not getting android to run.
Next problem is with alarm.c.
It complains on line 443 that there is no such member "dev" in the
struct alarm_rtc_dec. Checking the code, there really is none, but
there is rtc_dev.
I replaced dev with rtc_dev which compiles fine, but with the
following warnings:
CC drivers/android/alarm.o
drivers/android/alarm.c: In function 'alarm_ioctl':
drivers/android/alarm.c:200: warning: passing argument 1 of
'rtc_set_time' from incompatible pointer type
drivers/android/alarm.c: In function 'alarm_suspend':
drivers/android/alarm.c:324: warning: passing argument 1 of
'rtc_read_time' from incompatible pointer type
drivers/android/alarm.c:340: warning: passing argument 1 of
'rtc_set_alarm' from incompatible pointer type
drivers/android/alarm.c:341: warning: passing argument 1 of
'rtc_read_time' from incompatible pointer type
drivers/android/alarm.c:352: warning: passing argument 1 of
'rtc_set_alarm' from incompatible pointer type
drivers/android/alarm.c: In function 'alarm_resume':
drivers/android/alarm.c:376: warning: passing argument 1 of
'rtc_set_alarm' from incompatible pointer type
drivers/android/alarm.c: In function 'rtc_alarm_add_device':
drivers/android/alarm.c:404: warning: initialization from incompatible
pointer type
drivers/android/alarm.c:421: warning: passing argument 1 of
'rtc_irq_register' from incompatible pointer type
drivers/android/alarm.c: In function 'rtc_alarm_remove_device':
drivers/android/alarm.c:443: warning: comparison of distinct pointer
types lacks a cast
drivers/android/alarm.c:444: warning: passing argument 1 of
'rtc_irq_unregister' from incompatible pointer type
While running Android I get errors like:
writev(3, [{"\5", 1}, {"runtime\0", 8}, {"Unable to read rtc,
Connection refused\n\0", 40}], 3) = 49
writev(3, [{"\5", 1}, {"runtime\0", 8}, {"Invalid time detected, 0 set
to 1167652800\n\0", 44}], 3) = 53
I'm not sure if this is related to the warnings with alarm.c or not
having selected an RTC driver... RTC is disabled in the n810 kernel, I
had to turn it on in order to get the Android power driver to compile.
The rtc driver required for the n810 is cbus/retu-rtc.
Here are some more errors I get when running Android:
> I'm trying to get Android running on a n810 (OMAP2420). > Currently there is only a 2.6.21 kernel available for this platform, > and as the kernel patch to support it is rather large (>5MB, keyboard, > touchscreen, oneflash, etc) it seems easier to backport the android > 2.6.23 patch.
> I've managed to patch the kernel, but I'm having some issues with > power.c and alarm.c, not compiling/working.
I'm also working on a back port of android to maemo 2.6.21 kernel.
I was able to make the necessary changes to power.c and alarm.c. I
don't have the sources available here now but it was mainly about
having a look at the first parameter (which is a Linux type) and how
its type has changed from 2.6.21 to 2.6.23. You will have to change
the functions and then there was a bunch of macros eventually defining
some functions. Those need to be adopdet to older types too. I can
come back with a diff later.
Also important is to disable framebuffer manual update. The line
CONFIG_FB_OMAP_MANUAL_UPDATE=y
should become
#CONFIG_FB_OMAP_MANUAL_UPDATE is not set
. Otherwise you will only see a frozen red eye.
Currently I'm having the problem that the runtime process is crashing
because of some weird bus error and I can't see (from the strace
outputs) what's causing it.
> I'm also working on a back port of android to maemo 2.6.21 kernel.
Great ! :-)
> I was able to make the necessary changes to power.c and alarm.c. I
> don't have the sources available here now but it was mainly about
> having a look at the first parameter (which is a Linux type) and how
> its type has changed from 2.6.21 to 2.6.23. You will have to change
> the functions and then there was a bunch of macros eventually defining
> some functions. Those need to be adopdet to older types too. I can
> come back with a diff later.
I'll have a look at the code again and try that.
It would be nice if you could send me your diff anyway please :-)
> Also important is to disable framebuffer manual update. The line
> CONFIG_FB_OMAP_MANUAL_UPDATE=y
> should become
> #CONFIG_FB_OMAP_MANUAL_UPDATE is not set
> . Otherwise you will only see a frozen red eye.
Thanks, I've changed that.
Have you done any other changes, e.g. in the framebuffer driver or
regarding rtc ?
Actually I first started working with the m5 android kernel and ported
all the drivers mainly following the android on OMAP guide on
elinux.org. But I couldn't solve the fb panning problem mentioned
there, even not with the proposed fix. It seems the lcd driver is not
providing enough memory for a double sized fb buffer.
Because of that I started working on the m3 android kernel which seems
to be able to get along with a simple fb. As said before I can see the
moving red eye.
Other kernel files I had fix or change are only those mentioned in the
android on OMAP guide.
I will prepare the diffs as soon as I can.
On 2 Apr., 14:30, sim0nx <Georges.T...@gmail.com> wrote:
> > I'm also working on a back port of android to maemo 2.6.21 kernel.
> Great ! :-)
> > I was able to make the necessary changes to power.c and alarm.c. I
> > don't have the sources available here now but it was mainly about
> > having a look at the first parameter (which is a Linux type) and how
> > its type has changed from 2.6.21 to 2.6.23. You will have to change
> > the functions and then there was a bunch of macros eventually defining
> > some functions. Those need to be adopdet to older types too. I can
> > come back with a diff later.
> I'll have a look at the code again and try that.
> It would be nice if you could send me your diff anyway please :-)
> > Also important is to disable framebuffer manual update. The line
> > CONFIG_FB_OMAP_MANUAL_UPDATE=y
> > should become
> > #CONFIG_FB_OMAP_MANUAL_UPDATE is not set
> > . Otherwise you will only see a frozen red eye.
> Thanks, I've changed that.
> Have you done any other changes, e.g. in the framebuffer driver or
> regarding rtc ?
What version of the Android SDK is tried on your board. I've got it working on my OMAP2430 platform with m5-rc14 version whereas the eralier version (m3-rc20) was giving all sorts of issues.
On Tue, Apr 1, 2008 at 7:46 PM, sim0nx <Georges.T...@gmail.com> wrote:
> Hi,
> I'm trying to get Android running on a n810 (OMAP2420). > Currently there is only a 2.6.21 kernel available for this platform, > and as the kernel patch to support it is rather large (>5MB, keyboard, > touchscreen, oneflash, etc) it seems easier to backport the android > 2.6.23 patch.
> I've managed to patch the kernel, but I'm having some issues with > power.c and alarm.c, not compiling/working.
> Here's the output for power.c:
> CC drivers/android/power.o > drivers/android/power.c:937: warning: initialization from incompatible > pointer type > drivers/android/power.c:937: warning: initialization from incompatible > pointer type > drivers/android/power.c:938: warning: initialization from incompatible > pointer type > drivers/android/power.c:938: warning: initialization from incompatible > pointer type > drivers/android/power.c:939: warning: initialization from incompatible > pointer type > drivers/android/power.c:939: warning: initialization from incompatible > pointer type > drivers/android/power.c:940: warning: initialization from incompatible > pointer type > drivers/android/power.c:940: warning: initialization from incompatible > pointer type > drivers/android/power.c:941: warning: initialization from incompatible > pointer type > drivers/android/power.c:941: warning: initialization from incompatible > pointer type > drivers/android/power.c:942: warning: initialization from incompatible > pointer type > drivers/android/power.c:943: warning: initialization from incompatible > pointer type > drivers/android/power.c:944: warning: initialization from incompatible > pointer type > drivers/android/power.c:944: warning: initialization from incompatible > pointer type > drivers/android/power.c:945: warning: initialization from incompatible > pointer type > drivers/android/power.c:946: warning: initialization from incompatible > pointer type > drivers/android/power.c:946: warning: initialization from incompatible > pointer type > drivers/android/power.c:947: warning: initialization from incompatible > pointer type > drivers/android/power.c:947: warning: initialization from incompatible > pointer type > drivers/android/power.c:948: warning: initialization from incompatible > pointer type > drivers/android/power.c: In function 'set_set_battery_level_low': > drivers/android/power.c:978: error: 'struct subsystem' has no member > named 'kobj' > drivers/android/power.c: In function > 'android_power_set_battery_level': > drivers/android/power.c:1008: error: 'struct subsystem' has no member > named 'kobj' > drivers/android/power.c:1015: error: 'struct subsystem' has no member > named 'kobj' > drivers/android/power.c: In function > 'android_power_set_charging_state': > drivers/android/power.c:1032: error: 'struct subsystem' has no member > named 'kobj' > drivers/android/power.c: In function 'android_power_init': > drivers/android/power.c:1111: error: 'struct subsystem' has no member > named 'kobj' > make[2]: *** [drivers/android/power.o] Error 1 > make[1]: *** [drivers/android] Error 2 > make: *** [drivers] Error 2
> I'm a bit lost here, does anybody have a suggestion how to fix this ?
> I tried a silly hack, to just set "ret = 0" and comment the line with > the error. > (this line e.g. ret = > sysfs_create_group(&android_power_subsys.kobj,&attr_group); )
> I'm able to compile and successfully run the kernel like this but I > think it's part of the problem not getting android to run.
> Next problem is with alarm.c. > It complains on line 443 that there is no such member "dev" in the > struct alarm_rtc_dec. Checking the code, there really is none, but > there is rtc_dev. > I replaced dev with rtc_dev which compiles fine, but with the > following warnings:
> CC drivers/android/alarm.o > drivers/android/alarm.c: In function 'alarm_ioctl': > drivers/android/alarm.c:200: warning: passing argument 1 of > 'rtc_set_time' from incompatible pointer type > drivers/android/alarm.c: In function 'alarm_suspend': > drivers/android/alarm.c:324: warning: passing argument 1 of > 'rtc_read_time' from incompatible pointer type > drivers/android/alarm.c:340: warning: passing argument 1 of > 'rtc_set_alarm' from incompatible pointer type > drivers/android/alarm.c:341: warning: passing argument 1 of > 'rtc_read_time' from incompatible pointer type > drivers/android/alarm.c:352: warning: passing argument 1 of > 'rtc_set_alarm' from incompatible pointer type > drivers/android/alarm.c: In function 'alarm_resume': > drivers/android/alarm.c:376: warning: passing argument 1 of > 'rtc_set_alarm' from incompatible pointer type > drivers/android/alarm.c: In function 'rtc_alarm_add_device': > drivers/android/alarm.c:404: warning: initialization from incompatible > pointer type > drivers/android/alarm.c:421: warning: passing argument 1 of > 'rtc_irq_register' from incompatible pointer type > drivers/android/alarm.c: In function 'rtc_alarm_remove_device': > drivers/android/alarm.c:443: warning: comparison of distinct pointer > types lacks a cast > drivers/android/alarm.c:444: warning: passing argument 1 of > 'rtc_irq_unregister' from incompatible pointer type
> While running Android I get errors like: > writev(3, [{"\5", 1}, {"runtime\0", 8}, {"Unable to read rtc, > Connection refused\n\0", 40}], 3) = 49 > writev(3, [{"\5", 1}, {"runtime\0", 8}, {"Invalid time detected, 0 set > to 1167652800\n\0", 44}], 3) = 53
> I'm not sure if this is related to the warnings with alarm.c or not > having selected an RTC driver... RTC is disabled in the n810 kernel, I > had to turn it on in order to get the Android power driver to compile. > The rtc driver required for the n810 is cbus/retu-rtc.
> Here are some more errors I get when running Android:
> Actually I first started working with the m5 android kernel and ported
> all the drivers mainly following the android on OMAP guide on
> elinux.org. But I couldn't solve the fb panning problem mentioned
> there, even not with the proposed fix. It seems the lcd driver is not
> providing enough memory for a double sized fb buffer.
> Because of that I started working on the m3 android kernel which seems
> to be able to get along with a simple fb. As said before I can see the
> moving red eye.
Ah ok
Are you only using the m3 kernel or also the m3 userspace files ?
> What version of the Android SDK is tried on your board. I've got
> it working on my OMAP2430 platform with m5-rc14 version whereas the
> eralier version (m3-rc20) was giving all sorts of issues.
I'm using the m5-rc15 sdk, and a 2.6.21 kernel with the m5-rc14
android patches (couldn't find the m5-rc15 kernel sources online).
Yes I'm working with m3 ramdisk and data and system images (manually
extracted from emulator).
I have as well the m5 environment ready for testing, but have worked
on m3 the last days because of the fb problems.
Anyway I got the same bus error problem on m5.
BTW I'm working with a multi boot manager and boot Maemo from MMC,
then I open a ssh session to get a terminal even when UI on target is
gone, then I stop Maemo's UI (hildon, x-server, etc) and start android
(which resides on the same mmc).
This is the strace output of the runtime forked process which seems to
be responsible for the closing of the runtime process. Runtime is
looping through the proc folders of all running processes and seems to
be searching for certain process and probably doesn't find it and
closes.
(.... read on for the promised m3 diff ....)
Here is my diff for m3. Adopting it to m5 should be a minor issue as I
started with m5 and went then on to m3. The m5 kernel lies on a
another PC which I couldn't reach today. If necessary I can add the
diff later this week.
Please keep in mind that my patches are not cleaned up and may contain
lots of commented code. Most of it is marked with a "ses" or "SES". If
you find any bug feel free to report asap ... it might help me with
the problems I have.
################## START OF DIFF ###############################
> #SES CONFIG_RTC_CLASS is not set
> CONFIG_RTC_CLASS=y
1353a1355,1374
> # Android
> #
> # CONFIG_ANDROID_GADGET is not set
> # CONFIG_ANDROID_RAM_CONSOLE is not set
> CONFIG_ANDROID_POWER=y
> CONFIG_ANDROID_LOGGER=y
> #
> # SES Android
> #
> # CONFIG_ANDROID_GADGET is not set
> # CONFIG_ANDROID_RAM_CONSOLE is not set
> # CONFIG_ANDROID_POWER=y
> # CONFIG_ANDROID_POWER_STAT=y
> # CONFIG_ANDROID_LOGGER=y
> # CONFIG_ANDROID_TIMED_GPIO is not set
> # CONFIG_ANDROID_BINDER_IPC=y
> #
1356c1377
< CONFIG_EXT2_FS=m
---
> CONFIG_EXT2_FS=y
1368c1389
< CONFIG_FS_MBCACHE=m
---
> CONFIG_FS_MBCACHE=y
1422a1444,1456
> #SES yaffs
> CONFIG_YAFFS_FS=y
> CONFIG_YAFFS_YAFFS1=y
> # CONFIG_YAFFS_DOES_ECC is not set
> CONFIG_YAFFS_YAFFS2=y
> CONFIG_YAFFS_AUTO_YAFFS2=y
> # CONFIG_YAFFS_DISABLE_LAZY_LOAD is not set
> CONFIG_YAFFS_CHECKPOINT_RESERVED_BLOCKS=10
> # CONFIG_YAFFS_DISABLE_WIDE_TNODES is not set
> # CONFIG_YAFFS_ALWAYS_CHECK_CHUNK_ERASED is not set
> CONFIG_YAFFS_SHORT_NAMES_IN_RAM=y
Only in kernel-source-rx-34-2.6.21.0_android/arch/arm/configs:
nokia_2420_defconfig_android~
Only in kernel-source-rx-34-2.6.21.0_android/arch/arm/configs:
nokia_2420_defconfig_fb_problems
Only in kernel-source-rx-34-2.6.21.0_android/arch/arm/configs:
nokia_2420_defconfig_first_running_kernel
Only in kernel-source-rx-34-2.6.21.0_android/arch/arm/configs:
nokia_2420_defconfig_orig
Only in kernel-source-rx-34-2.6.21.0_android/arch/arm/configs:
nokia_2420_defconfig~
diff -r kernel-source-rx-34-2.6.21.0/arch/arm/kernel/process.c kernel-
source-rx-34-2.6.21.0_android/arch/arm/kernel/process.c
385a386,395
> /*
> * Capture the user space registers if the task is not running (in user space)
> */
> int dump_task_regs(struct task_struct *tsk, elf_gregset_t *regs)
> {
> struct pt_regs ptregs = *task_pt_regs(tsk);
> elf_core_copy_regs(regs, &ptregs);
> return 1;
> }
Only in kernel-source-rx-34-2.6.21.0_android: build.log
diff -r kernel-source-rx-34-2.6.21.0/drivers/Kconfig kernel-source-
rx-34-2.6.21.0_android/drivers/Kconfig
88a89,90
Only in kernel-source-rx-34-2.6.21.0_android/drivers: android
Only in kernel-source-rx-34-2.6.21.0_android/drivers: binder
diff -r kernel-source-rx-34-2.6.21.0/drivers/char/Kconfig kernel-
source-rx-34-2.6.21.0_android/drivers/char/Kconfig
1078a1079,1084
> config BINDER
> tristate "OpenBinder IPC Driver"
> default n
> help
> from openbinder.org
Only in kernel-source-rx-34-2.6.21.0_android/drivers/input: evdev.c~
diff -r kernel-source-rx-34-2.6.21.0/drivers/misc/Kconfig kernel-
source-rx-34-2.6.21.0_android/drivers/misc/Kconfig
124a125,130
> config LOW_MEMORY_KILLER
> tristate "Low Memory Killer"
> ---help---
> Register processes to be killed when memory is low.
Only in kernel-source-rx-34-2.6.21.0_android/drivers/misc:
lowmemorykiller
Only in kernel-source-rx-34-2.6.21.0_android/drivers/video: fbmem.c~
Only in kernel-source-rx-34-2.6.21.0_android/drivers/video:
goldfishfb.c
diff -r kernel-source-rx-34-2.6.21.0/drivers/video/omap/omapfb_main.c
kernel-source-rx-34-2.6.21.0_android/drivers/video/omap/omapfb_main.c
35a36,38
> Yes I'm working with m3 ramdisk and data and system images (manually
> extracted from emulator).
> I have as well the m5 environment ready for testing, but have worked
> on m3 the last days because of the fb problems.
> Anyway I got the same bus error problem on m5.
I've applied your patch (from the second mail) and booted with the new
kernel, using a m5 environment (don't have the m3 one at hand).
Android starts exactly the same as before and freezes at the same
place, the display stays blank.
I'm wondering if that could be because of me using the m5 env. ?
Also I'm using the m5 binder.c file as there are some errors with the
binder/* files which I'm not able to solve correctly:
drivers/binder/binder.c: In function 'create_pools':
drivers/binder/binder.c:346: error: too few arguments to function
'kmem_cache_create'
drivers/binder/binder.c:348: error: too few arguments to function
'kmem_cache_create'
drivers/binder/binder.c:350: error: too few arguments to function
'kmem_cache_create'
drivers/binder/binder.c:352: error: too few arguments to function
'kmem_cache_create'
drivers/binder/binder.c:354: error: too few arguments to function
'kmem_cache_create'
drivers/binder/binder.c:356: error: too few arguments to function
'kmem_cache_create'
I don't think that is a problem as android reports having successfully
opened binder.
> BTW I'm working with a multi boot manager and boot Maemo from MMC,
> then I open a ssh session to get a terminal even when UI on target is
> gone, then I stop Maemo's UI (hildon, x-server, etc) and start android
> (which resides on the same mmc).
I boot the maemo using the flasher.
I've disabled certain programs so only Xomap and the applet-bar
starts.
Once the wireless connection is up, I ssh into the maemo and kill the
rest (dbus, hald, Xomap,...).
Android is on a ext2 formatted miniSD card.
So I just mount proc + sysfs, followed by chrooting + starting
android.
> > Yes I'm working with m3 ramdisk and data and system images (manually
> > extracted from emulator).
> > I have as well the m5 environment ready for testing, but have worked
> > on m3 the last days because of the fb problems.
> > Anyway I got the same bus error problem on m5.
> I've applied your patch (from the second mail) and booted with the new
> kernel, using a m5 environment (don't have the m3 one at hand).
> Android starts exactly the same as before and freezes at the same
> place, the display stays blank.
> I'm wondering if that could be because of me using the m5 env. ?
> Also I'm using the m5 binder.c file as there are some errors with the
> binder/* files which I'm not able to solve correctly:
> drivers/binder/binder.c: In function 'create_pools':
> drivers/binder/binder.c:346: error: too few arguments to function
> 'kmem_cache_create'
> drivers/binder/binder.c:348: error: too few arguments to function
> 'kmem_cache_create'
> drivers/binder/binder.c:350: error: too few arguments to function
> 'kmem_cache_create'
> drivers/binder/binder.c:352: error: too few arguments to function
> 'kmem_cache_create'
> drivers/binder/binder.c:354: error: too few arguments to function
> 'kmem_cache_create'
> drivers/binder/binder.c:356: error: too few arguments to function
> 'kmem_cache_create'
> I don't think that is a problem as android reports having successfully
> opened binder.
> > BTW I'm working with a multi boot manager and boot Maemo from MMC,
> > then I open a ssh session to get a terminal even when UI on target is
> > gone, then I stop Maemo's UI (hildon, x-server, etc) and start android
> > (which resides on the same mmc).
> I boot the maemo using the flasher.
> I've disabled certain programs so only Xomap and the applet-bar
> starts.
> Once the wireless connection is up, I ssh into the maemo and kill the
> rest (dbus, hald, Xomap,...).
> Android is on a ext2 formatted miniSD card.
> So I just mount proc + sysfs, followed by chrooting + starting
> android.
for the record, rc15 compared to rc14 only provides small security patches to native image-loading libraries. apart from that, it's the same kernel / emulator / Eclipse plugin etc... than rc14
which is why we didn't need to release new sources (they're the same) :-)
On Wed, Apr 2, 2008 at 5:06 PM, sim0nx <Georges.T...@gmail.com> wrote:
> Hi,
> > What version of the Android SDK is tried on your board. I've got > > it working on my OMAP2430 platform with m5-rc14 version whereas the > > eralier version (m3-rc20) was giving all sorts of issues.
> I'm using the m5-rc15 sdk, and a 2.6.21 kernel with the m5-rc14 > android patches (couldn't find the m5-rc15 kernel sources online).
> I've applied your patch (from the second mail) and booted with the new
> kernel, using a m5 environment (don't have the m3 one at hand).
> Android starts exactly the same as before and freezes at the same
> place, the display stays blank.
> I'm wondering if that could be because of me using the m5 env. ?
Yeah, sounds like the fb panning problem. M5 seems to be needing a
panable fb while m3 seems to get along without though it is also
complaining in the logs when the feature is missing. Maybe Digit can
comment on that .... please? Is that true or is there a way m5 runs on
a framebuffer whose virtual size equals the actual screen size? Right
now I don't care about tearing, I just want to see something.
I can't access my webspace right now, but I'm sending you my m5 patch
via mail.
On Thu, Apr 3, 2008 at 4:25 PM, Anil Sasidharan <anil...@gmail.com> wrote: > Hi,
> The basic patch I've used to bring up the Android kernel (w.r.t > 2.6.23 kernel) is attached herewith.
> Warm Regards, > Anil
> On Thu, Apr 3, 2008 at 1:17 PM, Nishanth Menon <menon.nisha...@gmail.com> wrote: > > Anil, > > Could you post your patches to kernel and give a w.r.t base kernel to > > the list? it will kinda help us all.. > > Regards, > > Nishanth Menon > > Anil Sasidharan said the following on 04/02/2008 09:36 AM:
> > > Hi,
> > > What version of the Android SDK is tried on your board. I've got > > > it working on my OMAP2430 platform with m5-rc14 version whereas the > > > eralier version (m3-rc20) was giving all sorts of issues.
> > > Warm Regards, > > > Anil
> > > On Tue, Apr 1, 2008 at 7:46 PM, sim0nx <Georges.T...@gmail.com> wrote:
> > >> Hi,
> > >> I'm trying to get Android running on a n810 (OMAP2420).
>.....
> You may fix compilation errors with this patch.
> In the case of me, I applied this patch and Android worked in 2.6.18
> kernels.
That indeed solved the compilation error, but when booting that kernel
there was no binder device.
I've verified that it got built in though...
Maybe some more stuff needs to be patched... anyway the binder.c from
m5 seems to work just fine, thus I'm using that one.
> > I've applied your patch (from the second mail) and booted with the new
> > kernel, using a m5 environment (don't have the m3 one at hand).
> > Android starts exactly the same as before and freezes at the same
> > place, the display stays blank.
> > I'm wondering if that could be because of me using the m5 env. ?
> Yeah, sounds like the fb panning problem. M5 seems to be needing a
> panable fb while m3 seems to get along without though it is also
> complaining in the logs when the feature is missing. Maybe Digit can
> comment on that .... please? Is that true or is there a way m5 runs on
> a framebuffer whose virtual size equals the actual screen size? Right
> now I don't care about tearing, I just want to see something.
I setup an m3 environment on the maemo and started android in that one
using your m3 patch (and the binder from m5).
The startup looks differently and I get 2 errors now:
Ahhhhh silly me... a quick tap on the display wakes it up and I can
finally see the red dot :-)
Sebastian, you mentioned earlier that the runtime process crashes on
your device with a bus_error and that it loops through /proc etc...
Well mine hangs, just as before, the dot keeps moving and nothing
happens.
I fear that I'm at a dead end with the m3 kernel. Without knowing what
runtime is trying to do I can't solve the problem. I'm going back to
m5 and will try to fix the fb problems.
Sounds like mmap issue. What is the root filesystem? If jffs2, the
binder
won't work correctly. Workaround is loopback mounting. This article
might be helpful.
> > > I've applied your patch (from the second mail) and booted with the new
> > > kernel, using a m5 environment (don't have the m3 one at hand).
> > > Android starts exactly the same as before and freezes at the same
> > > place, the display stays blank.
> > > I'm wondering if that could be because of me using the m5 env. ?
> > Yeah, sounds like the fb panning problem. M5 seems to be needing a
> > panable fb while m3 seems to get along without though it is also
> > complaining in the logs when the feature is missing. Maybe Digit can
> > comment on that .... please? Is that true or is there a way m5 runs on
> > a framebuffer whose virtual size equals the actual screen size? Right
> > now I don't care about tearing, I just want to see something.
> I setup an m3 environment on the maemo and started android in that one
> using your m3 patch (and the binder from m5).
> The startup looks differently and I get 2 errors now:
I'm not really getting anywhere as I'm not sure how to solve the fb
issue.
I'm wondering though even if the fb wouldn't be an issue if it would
work, because it doesn't with m3 and that apparently isn't much
different from m5.
Hmm
> I fear that I'm at a dead end with the m3 kernel. Without knowing what
> runtime is trying to do I can't solve the problem. I'm going back to
> m5 and will try to fix the fb problems.
Is there no way of turning on some debugging output so we could see
what the problem is ?
Maybe an Android developer could comment on this .... :-)
Please keep me updated on your progress Sebastian.