Hi, also on my N800 m5-rc15 give me some problem.

The principal problem is for low memory, because this version uses around
50MB of memory and maemo up and running uses 80MB. To solve this problem
I've reflashed N800 with the option "--*set-rd-flags*=no-lifeguard-reset" so
I can stop X and other essential service without reboot the device. I launch
the following free-memory.sh script:

#!/bin/sh -x

/etc/init.d/zzinitdone stop
/etc/init.d/alarmd stop
/etc/init.d/mediaplayer-daemon stop
/etc/init.d/bme-dbus-proxy stop
/etc/init.d/af-base-apps stop
/etc/init.d/btcond stop
/etc/init.d/dbus stop
/etc/init.d/gpsdriver stop
/etc/init.d/hildon-desktop stop
/etc/init.d/hulda stop
/etc/init.d/libgpsbt stop
/etc/init.d/obexsrv stop
/etc/init.d/af-startup stop
/etc/init.d/af-services stop
/etc/init.d/x-server stop
/etc/init.d/maemo-launcher stop
/etc/init.d/osso-systemui stop
/etc/init.d/bluez-utils stop
/etc/init.d/multimediad stop
/etc/init.d/mce stop
/etc/init.d/product-code stop
/etc/init.d/hildon-update-notifier stop
/etc/init.d/metalayer-crawler0 stop
/etc/init.d/esd stop

After this script Maemo uses only around 60MB of memory and after than I run
Android with more success. Moreover, actually I launch Android via init with
the following script start_android_init.sh:

#!/bin/sh -x
echo "Starting Android..."
rm -rf /media/mmc1/tmp/*
echo z > /proc/sysrq-trigger
umount /proc
umount /sys
chmod -R 777 /media/mmc1
umask 000
chroot /media/mmc1 /init.sh

At last, I've compiled in the kernel also the module low-memory-killer
present on android linux kernel. I think isn't fundamental but if you want
insert this driver apply the patch attached to the mail.

After that, if your sound subsystem works tell me what you have done...:D

Best Regards,
Andrea Bernardi

P.S.: the patch for the double buffer showed in the previuos mail isn't
perfect, you see only interleaved frame on your screen...

2008/6/4 las <[EMAIL PROTECTED]>:

> Hi, there
>
>     Thanks for your kindly post here and I followed you steps
> provided to porting
> Android to N800. For M3 sdk everything is Ok. But for M5 ,the things
> are a little
> weird . Sometimes I can see the Android desktop appears then freezes,
> I can do
> nothing. Most times it cannot lauch successfully , from logcat , I can
> see that
> it cannot find service activity and waited for it endlessly . Do you
> have any idea
> of this ?
>
>      Thanks a lot.
>
> On May 23, 11:50 pm, "Andrea Bernardi" <[EMAIL PROTECTED]> wrote:
> > Thanks to a patch made from Sittiphol, now I've Android m5-rc15 run on
> N800.
> >
> > After have downloaded the kernel obtained from android-on-n8xx and
> applied
> > the patch v1 from the same site and for the touchscreen in a my previous
> > post, you have to add the following line in omapfb_main.c in path
> > drivers/video/omap/:
> >
> > line 579:
> >     if (var->xres + var->xoffset > var->xres_virtual)
> >         var->xoffset = var->xres_virtual - var->xres;
> >     if (var->yres + var->yoffset > var->yres_virtual)
> >         var->yoffset = var->yres_virtual - var->yres;
> > +    var->yres_virtual = var->yres_virtual * 2;   // Add this line
> >     line_size = var->xres * bpp / 8;
> >
> > On the ramdisk of m5-rc15 I've applied the same changes of the m3-rc37a
> > (init.rc and qwerty.kl).
> >
> > After I launch the m5 from maemo running with the following two script:
> >
> > start_android_m5_script.sh
> >
> > #!/bin/sh -x
> > echo "Starting Android m5..."
> > mount /dev/mmcblk1p2 /media/mmc1p2
> > rm -rf /media/mmc1p2/tmp/*
> > umount -l /proc
> > umount -l /sys
> > sleep 1
> > mount -t proc proc /media/mmc1p2/proc
> > mount -t sysfs sysfs /media/mmc1p2/sys
> > mount --bind /dev /media/mmc1p2/dev
> > chmod -R 777 /media/mmc1p2
> > echo z > /media/mmc1p2/proc/sysrq-trigger
> > umask 000
> > chroot /media/mmc1p2 /a.sh
> >
> > a.sh:
> >
> > #!/system/bin/sh -x
> > export PATH=/sbin:/system/sbin:/system/bin:$PATH
> > export LD_LIBRARY_PATH=/system/lib
> > export ANDROID_BOOTLOGO=1
> > export ANDROID_ROOT=/system
> > export ANDROID_ASSETS=/system/app
> > export ANDROID_DATA=/data
> > export EXTERNAL_STORAGE=/sdcard
> > export DRM_CONTENT=/data/drm/content
> > export
> >
> BOOTCLASSPATH=/system/framework/core.jar:/system/framework/ext.jar:/system/­framework/framework.jar:/system/framework/framework-tests.jar
> >
> > cd /dev
> > mkdir /dev/log
> > ln -s /dev/log_main /dev/log/main
> > ln -s /dev/log_events /dev/log/events
> > ln -s /dev/log_radio /dev/log/radio
> > ln -s /dev/dsptask/pcm1 /dev/eac
> >
> > /system/bin/app_process -Xzygote /system/bin --zygote &
> > # /system/bin/strace -f -ff -o /tmp/zygote -tt -s 400
> > /system/bin/app_process -Xzygote /system/bin --zygote &
> > /system/bin/dbus-daemon --system &
> > # /system/bin/strace -f -ff -o /tmp/runtime -tt -s 400 runtime &
> > runtime &
> > /system/bin/sh
> >
> > I've noted that this version is very low than the previous...
> >
> > Best Regards,
> > Andrea Bernardi
>

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Android Internals" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/android-internals?hl=en
-~----------~----~----~----~------~----~------~--~---

Binary files ../../../linux-2.6.21-patch1/drivers/misc/built-in.o and ./built-in.o differ
diff -urpN ../../../linux-2.6.21-patch1/drivers/misc/.built-in.o.cmd ./.built-in.o.cmd
--- ../../../linux-2.6.21-patch1/drivers/misc/.built-in.o.cmd	1970-01-01 01:00:00.000000000 +0100
+++ ./.built-in.o.cmd	2008-05-26 14:11:56.000000000 +0200
@@ -0,0 +1 @@
+cmd_drivers/misc/built-in.o :=  /opt/sourcery-2008q1/bin/arm-none-linux-gnueabi-ld -EL   -r -o drivers/misc/built-in.o drivers/misc/lowmemorykiller/built-in.o
diff -urpN ../../../linux-2.6.21-patch1/drivers/misc/lowmemorykiller/lowmemorykiller.c ./lowmemorykiller/lowmemorykiller.c
--- ../../../linux-2.6.21-patch1/drivers/misc/lowmemorykiller/lowmemorykiller.c	2008-05-20 10:37:09.000000000 +0200
+++ ./lowmemorykiller/lowmemorykiller.c	2008-05-26 14:11:51.000000000 +0200
@@ -21,9 +21,18 @@
 
 static int lowmem_shrink(int nr_to_scan, gfp_t gfp_mask);
 
+/* android-start */
+struct shrinker {
+	shrinker_t		shrinker;
+	struct list_head	list;
+	int			seeks;	/* seeks to recreate an obj */
+	long			nr;	/* objs pending delete */
+};
+/* android-end */
+
 static struct shrinker lowmem_shrinker = {
-	.shrink = lowmem_shrink,
-	.seeks = DEFAULT_SEEKS * 16
+	.shrinker = lowmem_shrink,
+	.seeks    = DEFAULT_SEEKS * 16
 };
 static uint32_t lowmem_debug_level = 2;
 static int lowmem_adj[6] = {

Reply via email to