Reply
Thread Tools
Posts: 992 | Thanked: 995 times | Joined on Dec 2009 @ California
#101
I am able now to run Maemo 5 PR1.2 from internal eMMC with working cell phone after some modifications. So, UBIFS is not used after boot and root is located in eMMC.

No root FS limitations, anything works... well, one small problem still exists but there are workarounds.

First impression performance: something different. Sometime it can be a little slow but in many cases it has definitely a faster reaction. Of course, I set swap into external MMC.

Looking now into battery performance. Without GSM it is of course very good, but now I have it with working GSM/3G/WiFI, so - still collecting measurements.
 

The Following User Says Thank You to egoshin For This Useful Post:
Posts: 172 | Thanked: 170 times | Joined on Jan 2010 @ Sweden
#102
Your battery results are going to be very interesting. I had a strange experience with moving /lib/dsp to the eMMC. Granted, it might have been a fluke, but when I did so, the CPU got stuck at 500MHz and never went below. When I moved the directory back, it fell back to normal.
 
Posts: 992 | Thanked: 995 times | Joined on Dec 2009 @ California
#103
OK, couple of day passed and my N900 works fine from eMMC (swap on uSD).

Now I am ready to say that there is no notable difference in power consumption. Actually, it looks like it is a little better (around 20%) but it is in error margin - I rebooted multiple times and it takes battery resource.

Speed. Sometime it is worse but most of it during reboot until I attach uSD swap instead of /dev/mmcblk0p3. However, in day-to day clicks it looks better during changing menus etc.

No problem with phone call receiption - I means, no delays, no sound distortion etc.

No problem with e-mail - it looks like it works a little better: I have a big e-mail account (thousands mails) and it handle it's retrieval now without any problem. In vanilla boot from UBIFS it can sometime hangs (lack of memory) or do it long time.

No any problem with video playback. At least a couple of my video files play smooth.

Of course, no problem with browser or RSS feed.

I even tested google latitude - it works fine too.

It is possible to note an existence of some intermediate windows during starting some applications (like e-mail) - it blinks a fraction of second and disappears before I can read it's content during e-mail application start. But overall reaction is the same.

Two problem still exist with MCE - it doesn't work correctly with power button and doesn't finish "screen slide unlock" (MCE is a buggy application anywhere). But side slider works fine. And there is some another problems with power-button menu like some woodoe needs to be done to see it and switch OFF position doesn't work. All of them are easy to workaround and for now it is not a stop-gap.


But biggest advantage - 2GB root FS, of course - no problem with installing new applications...
 

The Following 4 Users Say Thank You to egoshin For This Useful Post:
Posts: 992 | Thanked: 995 times | Joined on Dec 2009 @ California
#104
Yet another day passed and I am able to compile and build the whole kernel in my N900 - full power development cycle.

Wall time - 3h 1m 21s.
eMMC space - 943MB.

I did a couple of phone calls in a middle without compilation interruption Skype was working too - anything as usual. Delayed reaction on button press was expected and I observed it but it was reasonable.

N900 was warm but not very. It took around 3/4 of battery resource.
Attached Images
 
 

The Following 3 Users Say Thank You to egoshin For This Useful Post:
Posts: 1,751 | Thanked: 844 times | Joined on Feb 2010 @ Sweden
#105
I wish i had the guts and knowledge like you Egoshin. Good work!
 
Posts: 992 | Thanked: 995 times | Joined on Dec 2009 @ California
#106
I prepared tool scripts and published it here - http://talk.maemo.org/showthread.php?t=59374

After applying this scripts you can have a 2GB (or 32GB - depending from your /home partition size) root file system.
 

The Following 6 Users Say Thank You to egoshin For This Useful Post:
Posts: 172 | Thanked: 170 times | Joined on Jan 2010 @ Sweden
#107
This is really great Egoshin! You should package the scripts and put them in extras-devel as soon as some people have tried them out. Apart from easy availability and official endorsement (as it moves into extras-testing, etc), it will also let un-optified packages simply be made dependent on your package and people could still install them. Oh, and perhaps find a name that is a bit more descriptive than M32GB... ;-)

Last edited by stefanmohl; 2010-08-01 at 00:53.
 
Posts: 22 | Thanked: 21 times | Joined on Jul 2010 @ Spain
#108
First of all, sorry if I am posting about something that have already been covered. I have had my N900 for less than a month so I may have missed some older threads/posts even as much as I have tried to read everything related before posting.

At the first moment I saw the rootfs limitation on N900 I thought about the simple yet elegant way it is solved in OpenWRT:

A root filesystem (squashfs) + an overlay with mini_fo (jffs). This gives a readonly basic install plus an additional space for modifications.

I have been holding from trying before I read all I can about this subject in the forum, considering that if it hasn't been done yet must be for a good reason.

Anyway, before going any deeper into this subject, I would like to understand what is the reason because this option was ruled out.

I have only been able to to find a reference in a several months old post from @SR:


Originally Posted by @SR View Post
I've been experimenting with aufs, unionfs and mini_fo for a while to mount ext3 partition on top of internal memory. All of them have problems.
One common problem was that both of the file system partitions needed to be writable. It is because of the complex algorithm when renaming non empty folder from read only file system (aufs page has a good explanation on that). For example application managed did not work because of this problem. So mini_fo did not work at all.
What is the reason that both fs need to be writable? The idea would be to have "original" root fs mounted as read only and a writeable overlay using mini_fo the same way is done in OpenWRT.

Reads would still be faster as mini_fo doesn't have a big impact performance (needs to be confirmed in this case though) and writes would be directly into the overlay, which wouldn't be significantly slower than writing to the emmc.

About renames... well, that would be obviously much slower but... I don't see a reason for almost any rename of the original binaries much less a non-empty original dir.

Also, simply not mounting, or clearing the overlay would leave a perfectly clean fresh device. And mounting different overlays allows for some easy multiple system.

P.S.: Perhaps Egoshian way has better performance, but anyways I still I would like to understand why this simple solution was ruled out.

Last edited by appnss; 2010-08-01 at 08:42. Reason: PS
 

The Following 2 Users Say Thank You to appnss For This Useful Post:
Posts: 515 | Thanked: 266 times | Joined on Nov 2009 @ Oelsted, Denmark
#109
I don't quite get it.

Why would You want to use the 2GB "/home" partition as Your / partition ?

Instead of using the 256MB NAND + 2GB /home You end up with "only" 2GB in total (+ possible trouble upgrading to next PR)...

On PR1.2 I haven't had any problems with / being filled up. I do, however, believe that /home (containing /home/opt) is a bit restricted in size (2GB). It can easily be filled up by installing lots of games etc.

I'd rather just shrink the FAT32 filesystem by let's say 3GB and add them to /home.

This is what my disk usage looks like:

Code:
N900:~# df -h
Filesystem            Size  Used Avail Use% Mounted on
rootfs                228M  156M   68M  70% /
ubi0:rootfs           228M  156M   68M  70% /
tmpfs                 1,0M   76K  948K   8% /tmp
tmpfs                 256K   88K  168K  35% /var/run
none                   10M   72K   10M   1% /dev
tmpfs                  64M  4,0K   64M   1% /dev/shm
/dev/mmcblk0p2        2,0G  1,6G  308M  84% /home
/opt/pymaemo/usr/lib/python2.5
                      2,0G  1,6G  308M  84% /usr/lib/python2.5
/opt/pymaemo/usr/share/pyshared
                      2,0G  1,6G  308M  84% /usr/share/pyshared
/opt/pymaemo/usr/lib/pyshared
                      2,0G  1,6G  308M  84% /usr/lib/pyshared
/opt/pymaemo/usr/share/python-support
                      2,0G  1,6G  308M  84% /usr/share/python-support
/opt/pymaemo/usr/lib/python-support
                      2,0G  1,6G  308M  84% /usr/lib/python-support
/dev/mmcblk0p1         28G  3,0G   25G  12% /home/user/MyDocs
N900:~# du -sh /*
980K	/bin
0	/boot
12K	/bootmenu.sh
0	/cdrom
72K	/dev
6,3M	/etc
0	/floppy
4,6G	/home
0	/initrd
24M	/lib
0	/media
0	/mnt
1,3G	/opt
0	/proc
544K	/root
2,0M	/sbin
0	/srv
0	/sys
0	/syspart
76K	/tmp
288M	/usr
35M	/var
So IF I were to repartition I'd rather see something like this:
/ 256MB ubifs on NAND
swap 768MB/1GB on eMMC
/home 1GB on eMMC *
/opt 4GB on eMMC *
(/usr 512MB on eMMC *)

* Or You could just make /home 5GB (though I'm not that big a fan of the /opt symlinking - it's just ugly). I'd also like to get rid of the /opt/pymaemo symlinks. Maybe we could create a /usr filesystem too (~512MB).

And the rest for the FAT partition.

EDIT -> Guess that *solution* is discussed here.
__________________
Christian Wilken - tux-POWER.dk!
... May the Source be with You ...

Last edited by DrWilken; 2010-08-01 at 09:06.
 
javispedro's Avatar
Posts: 2,355 | Thanked: 5,249 times | Joined on Jan 2009 @ Barcelona
#110
Originally Posted by appnss View Post
What is the reason that both fs need to be writable?
Because a Nokia-blessed solution would have needed to accommodate for over the air updates, which require a writable rootfs.

Of course, for your own use you can completely ignore updates.
 
Reply

Tags
the opt problem

Thread Tools

 
Forum Jump


All times are GMT. The time now is 17:42.