View Full Version : N900 - Issues surrounding full root partition (No space left on device)
archebyte
2009-10-23, 08:04
I noticed yesterday that the Application Manager complained of memory being full. that was followed by a lot of 'Operation Failed' messages.
'df' showed that the root partition was at 100%. So I quickly removed a bunch of applications and was able to bring it down 88%.
This is worrisome because I have been using this for only 2 weeks and now have only a small number of apps installed. I am afraid this will hit 100% very quickly again. Is it due to apps not optimized to install correctly in /opt? many apps it seems have files both in / and /opt. How will it possible to manage the small amount space in '/'?
I have to confirm this, I also had the same exact problem yesterday. I have about 20 apps installed, paying close attention that they are optified. I had a "memory full, can't send/receive messeges, free up some space" messege popping up in the form a nagging hildon banner, which was entirely unhelpful for 99% of the users, because the Memory applet does not show the root 256MB partition, I have plenty of space left on the other ones. Now, we all know that a full root partition in Linux is a very ugly situation, you can't even remove apps, because there is no space for the lock file, so apt-get is unusable. So, App Manager fails to do anything (without informing the user what the problem might be, it's just empty) and you're back at the terminal, removing files by hand (if you had rootsh installed, otherwise you're screwed). Knowing how Debian packaging works (you have absolutely no way of knowing how much space will a package take up after installation in /opt and how much in /, just the sum of both) , I have no idea how to resolve this situation other than making the root partition much larger.
I have a feeling that this is going to be one hell of a problem, unless this is the main cause for the current delay and they are seriously thinking further solutions. The optification of packages seems not to be enough?
I have a feeling that this is going to be one hell of a problem, unless this is the main cause for the current delay and they are seriously thinking further solutions. The optification of packages seems not to be enough?
Is it possible to resize the partitions?
Is it possible to resize the partitions?
The rootfs resides on different physical memory, so it is limited by hardware. Wonder how much slower would it be to have the rootfs on the 32GB storage device... I haven't seen any actual comparison. Is hdparm available on the device? Can it be used to make a (reliable) speed comparison of the different flash memories?
This happens most probably because you are installing applications from extras-devel that haven't gone through the process of using the internal memory card to install files.
If you stick to Nokia and Extras repositories then you will get software that has gone through a QA check testing (among other things) that the files installed take as little as possible from the root partition.
I believe we need a explanatory wiki page somewhere to point users in the same situation because the questions is coming quite often. Please don't install software from extras-devel unless you know what you are doing.
See the technical explanation at http://wiki.maemo.org/Documentation/Maemo_5_Developer_Guide/Packaging%2C_Deploying_and_Distributing/Installing_under_opt_and_MyDocs
PS: can you please share the thicker apps you had installed to see where we should put our attention first? Feel free filing bugs asking them to use /opt and MyDocs as much as possible as explained in the link above.
I have a feeling that this is going to be one hell of a problem, unless this is the main cause for the current delay and they are seriously thinking further solutions. The optification of packages seems not to be enough?
I have absolutely no insider knowledge, but I think that it would be one of the top bugs to fix before launch. If the average user could through normal use easily get their device into a state where it was unusable as described, and the only solution is to flash it (again, this is the average user, not the one who downloads rootsh first), Nokia would catch a lot of flack.
I have about 20 apps installed, paying close attention that they are optified.
How are you checking they are optified? What are the apps?
I had a "memory full, can't send/receive messeges, free up some space" messege popping up in the form a nagging hildon banner
What are you doing with your device (not meant sarcastically)? Lots of email? Lots of application catalogues? Have you used apt-get directly (in which case /var/cache/apt could be a problem)?
I have absolutely no insider knowledge, but I think that it would be one of the top bugs to fix before launch.
The trouble is that without fundamentally redesigning the OS structure (e.g. swap on 256MB flash and rootfs on eMMC) - which has both time, performance, tooling and QA implications - the only solution is to make sure stuff installs into /opt.
For "optized" packages :
Try this :
mv /opt /home/user/soft
ln -s /home/user/soft /opt
You should have now 2GB for /opt
Else try this :
mv /opt /home/user/MyDocs/soft
ln -s /home/user/MyDocs/soft /opt
You should have now 27GB for /opt
Try this :
mv /opt /home/user/soft
ln -s /home/user/soft /opt
You should have now 2GB for /opt
Isn't /opt already symlinked to the home partition?
Else try this :
mv /opt /home/user/MyDocs/soft
ln -s /home/user/MyDocs/soft /opt
You should have now 27GB for /opt
...And that might cause trouble for some applications because MyDocs has a FAT32 file system?
hqh is right. Dactar's post isn't useful - and is potentially dangerous.
VFAT can't maintain the permissions, symlinks and other metadata necessary for a fully functioning Linux system. And /opt is already in the 2GB ext3 partition.
The trouble is that without fundamentally redesigning the OS structure (e.g. swap on 256MB flash and rootfs on eMMC) - which has both time, performance, tooling and QA implications - the only solution is to make sure stuff installs into /opt.
What about a bigger OneNAND Flash memory chip ? 512MB ?? or 1GB ??
Do they make such chips the same physical size as 256MB OneNAND chip (would minimise hardware re-design issues) ?
What sort of cost difference ??? Surely can't be much - all sort of memory seems so cheap these days ???
Would a bigger OneNAND chip affect battery life ?
Andre Klapper
2009-10-23, 10:05
Feel free filing bugs asking them to use /opt and MyDocs as much as possible as explained in the link above.
...and please set the keyword "non-optified" for such bug reports - easier to find them.
It's easy to say, "don't do x unless you know what you're doing," but many users will think that they know what they are doing. Effectively (it seems to me) the Nokia warning says "don't use your tablet normally; if you do, whatever happens is your fault". It is not unusual to install programs not from the manufacturer; I have done that on every computer I have ever had starting with the Sinclair I got at k-mart. And this is a little computer, not a mere phone.
So, I think that this problem will be solved and users will usually not encounter it.
solideogloria
2009-10-23, 10:19
Is it possible to insert an ext3 formatted microsd card and symlink it to the root partition?
sjgadsby
2009-10-23, 10:20
What about a bigger Flash memory chip ? 512MB ?? or 1GB ??
Do they make such chips the same physical size as 256MB chip (would avoid hardware re-design issues) ?
The 256 MB NAND flash is part of the OMAP 3430 system-on-a-chip. It's not a separate piece that can be swapped out.
Isn't /opt already symlinked to the home partition?
I'm sorry, I didn't know that /opt was already mounted on /home/users.
..And that might cause trouble for some applications because MyDocs has a FAT32 file system?
Yes...right for some applications. It was just a workarround, not the perfect solution.
But :
If /home/users is on the same card of /home/users/MyDocs, what about shrink /home/users/MyDocs and expand /home/users ?
If /home/users is on a separate card of /home/users/MyDocs, what about shrink /home/users/MyDocs and create a second partition (ext3) in it at /home/users/soft and move /opt link to this new point ?
Finally, there's a lot of possibility for advanced users...but when the N900 will be released is there a hope that all this mess could be different ? If not, I think that a configuration widget for end users could be necessary [and | or] a modification of installation process of extra packages could be refused if they are not "optified" [and | or] something else...let's start brainstorming
One things I'm not clear on with all this is where the microSD card gets mounted if there is one - could someone set me straight?
One things I'm not clear on with all this is where the microSD card gets mounted if there is one - could someone set me straight?
/media/mmc1/
/media/mmc1/
So does anything use that by default, and does it get exported as mass storage over the USB? Aside from the possibilities of using it to expand /home or /opt, it seems to me that if it isn't fairly visible for something by default there's going to be a lot of confused users.
attila77
2009-10-23, 11:36
I noticed yesterday that the Application Manager complained of memory being full. that was followed by a lot of 'Operation Failed' messages.
'df' showed that the root partition was at 100%. So I quickly removed a bunch of applications and was able to bring it down 88%.
There is also a bug (https://bugs.maemo.org/show_bug.cgi?id=5450) that results in a reboot being required to show the correct amount free space after app removal.
Alex Atkin UK
2009-10-23, 12:06
I know personally I was thinking of removing the vfat and opt partitions and format/expand home to the whole eMMC. Then hopefully I can set it so that only the microSD card is exported over mass storage, as most of my data transfer will be via a Linux machine anyway so mostly I will not need mass storage support.
It is bad though that we have to do this. The partition scheme should have been better thought out. I am certainly thinking in the above scenario I may also symlink some stuff from root to home as well. I do not want to have to worry about root filling up.
sjgadsby
2009-10-23, 12:25
So does anything use that by default...
The MicroSD/SDHC card, if any, is visible through the File Manager and open/save dialogs in applications. It may be used for storing and exchanging audio files, video files, documents, and other data files.
...does it get exported as mass storage over the USB?
If the MicroSD/SDHC card is not in use by an application at the time the USB mass storage connection is made, yes, it is made available over USB.
archebyte
2009-10-23, 12:33
This happens most probably because you are installing applications from extras-devel that haven't gone through the process of using the internal memory card to install files.
Is there an easy way to tell if the app is optified? I do have the extras-dev and extras-testing enabled in order to test and report issues.
PS: can you please share the thicker apps you had installed to see where we should put our attention first? Feel free filing bugs asking them to use /opt and MyDocs as much as possible as explained in the link above.
Unfortunately, other than Vim, I don't remember what apps I uninstalled. Vim was the biggest app (20mb) of them all. So I removed it along with a bunch of others. I re-installed Vim (coz I can't live without it :o) but didn't see a spike in the '/' usage. so not sure what is going on. perhaps because 'df' didn't report correctly (Bug 5450 (https://bugs.maemo.org/show_bug.cgi?id=5450) ) Checking opt after the Vim installation showed Vim-related files so I think Vim is optified.
sjgadsby
2009-10-23, 12:36
arachnist's question regarding JTAG/serial console over USB has been moved to its own thread (http://talk.maemo.org/showthread.php?t=33374). Those interested in the topic, please continue discussion there.
Is there an easy way to tell if the app is optified? I do have the extras-dev and extras-testing enabled in order to test and report issues.
dpkg -L packageme shows all files installed by a package. Testing effort can be concentrated on extras-testing because packages held only in extras-devel probably are there for a reason.
Rushmore
2009-10-23, 12:48
Has installing non-repository apps been confirmed as the root cause for the problem here, or is this going to be a cluster-fook for everyone?
If this is an issue, Nokia will scare all but the tech geeks away from this device. You tech geeks rock, but you do not drive most of the sales for the product.
The delay could be a blessing, but cause N900 preorders to get canceled in droves- if issues like this are a common problem.
Effectively (it seems to me) the Nokia warning says "don't use your tablet normally; if you do, whatever happens is your fault". It is not unusual to install programs not from the manufacturer; I have done that on every computer I have ever had starting with the Sinclair I got at k-mart. And this is a little computer, not a mere phone.
this is not a bug.
this is about software not optimized for this operating system.
if you install w7 software on your win2000 sinclair, it won't work either.
edit:
ok, didn't get the ZX81 reference, no win2k :)
but you know what i'm saying.
javispedro
2009-10-23, 13:14
Is there any app in extras (-stable) not optified? How could that happen?
In case you're talking about extras-devel apps, then OpenTTD is not optified and is probably around 6-10 MiB.
Rushmore
2009-10-23, 13:19
If this problem is due 100% to not using verified repository apps, this thread should be the main example of why non-techies should avoid "rogue" sites for apps when the N900 is released. At least until the dust settles and the community has had time to absorb the OS changes for app installs.
This is not too surprising, and the official Nokia N900 website specs...
Up to 1 GB of application memory (256 MB RAM, 768 MB virtual memory)
is spot on with:
http://wiki.maemo.org/Documentation/Maemo_5_Developer_Guide/Packaging%2C_Deploying_and_Distributing/Installing_under_opt_and_MyDocs
Unfortunately, the fact that 100MB is free of the 256MB (rest used by the system) is somewhat disheartening.
I don't see this as being fixed by Nokia as a bug, its what they reported in the first place and developers will work around it as they already have.
javispedro
2009-10-23, 13:27
Up to 1 GB of application memory (256 MB RAM, 768 MB virtual memory)
is spot on with:
http://wiki.maemo.org/Documentation/Maemo_5_Developer_Guide/Packaging%2C_Deploying_and_Distributing/Installing_under_opt_and_MyDocs
Nope, not the same. 256 MiB is RAM. The 256MiB we're talking here is OneNAND, and contains the root filesystem, kernel, boot loader... (basically, firmware).
Is there any app in extras (-stable) not optified? How could that happen?
Yes there is. That's because many of the testers haven't noticed (or don't care?) non optified apps.
livefreeordie
2009-10-23, 13:32
Nope, not the same. 256 MiB is RAM. The 256MiB we're talking here is OneNAND, and contains the root filesystem, kernel, boot loader... (basically, firmware).
This is nothing. I've seen people claim the N900 has 256 MB of RAM and swaps on 768 MB of ROM :D
Yes there is. That's because many of the testers haven't noticed (or don't care?) non optified apps.
So it seems that the QA process is very nice in theory, but does not work in practice. Is it possible to make an automated check for optification to bypass the "human factor"?
attila77
2009-10-23, 13:35
Since we already have a clear criteria of optification requirements, it's really something that should be part of of the development process - testers looking into optification process should be the exception (e.g. when there is a good reason for an app or part NOT being optified).
So how do the developers feel about these limitations? Is it really a non-issue and will be corrected once all developers correct their apps to use /opt?
I still feel that the potential to run out of space in / before /opt is full because of the need to place some files in /lib or /etc. Hopefully I'm corrected here as I am seeing the same old Smartphone constraints on our "Mobile Computer" here.
Rushmore
2009-10-23, 14:05
So how do the developers feel about these limitations? Is it really a non-issue and will be corrected once all developers correct their apps to use /opt?
I still feel that the potential to run out of space in / before /opt is full because of the need to place some files in /lib or /etc. Hopefully I'm corrected here as I am seeing the same old Smartphone constraints on our "Mobile Computer" here.
Good point. Is there another option for those files, or will certain apps have not choice in order to function correctly? This would suggest a contraint to the installation process.
Man I miss my Amiga- greatest app and memory management evah!
Agree with javispedro. Any extras-devel app is there for testing and bugreports and should be used as such. Be sure to check any extras-devel app carefully before and after install. I even suggest rebooting after installing an extras-devel app because it might have just trashed your system into reboot-loop.
You can du -s /usr/share/* | sort -n
(and /usr/lib/*) to see what is taking up space on your root fs.
This "This is not a problem, the users, developers and testers are doing it wrong" excuse is an excuse.
Remember that a lot of the software available are ports. Quite a bit is ported by people who wants to do their software more accessible, who doesn't even care a bit for this platform but was asked by people who do. And their software isn't buggy, it's ported and works on a memory-challenged device.
People are not misusing their device when they install Pidgin or whatnot from the developers site, either. It's not like they're jailbreaking an Iphone. Linux is not [yet] about signed app cash stores, this is normal Linux usage. Nokia is deviating from the norm, not their users.
The device has too little space available for applications. The designers at Nokia most certainly knew it when they designed it, and yet they compromised, I am guessing it has to do with price. The /opt solution is helpful but not perfect.
Pointing fingers at each other isn't helpful for anyone. Edit: even when it's me who's doing it ;) The device isn't perfect, like the N810 wasn't perfect. The old as well as the new device takes some hacking to be able to use as much software as we like. Software developers will be forced to optify their software, even if it's not their responsibility in my POV. And those who do not, will make the world a little harder for us users.
The /opt solution is a clear improvement over no solution. But it's still not really good. I guess it's acceptable for now.
But Nokia. Pointing fingers at the users and developers and testers should be beneath you. This is your responsibility.
This "This is not a problem, the users, developers and testers are doing it wrong" excuse is an excuse.
Remember that a lot of the software available are ports. Quite a bit is ported by people who wants to do their software more accessible, who doesn't even care a bit for this platform but was asked by people who do. And their software isn't buggy, it's ported and works on a memory-challenged device.
People are not misusing their device when they install Pidgin or whatnot from the developers site, either. It's not like they're jailbreaking an Iphone. Linux is not [yet] about signed app cash stores, this is normal Linux usage. Nokia is deviating from the norm, not their users.
The device has too little space available for applications. The designers at Nokia most certainly knew it when they designed it, and yet they compromised, I am guessing it has to do with price. The /opt solution is helpful but not perfect.
Pointing fingers at each other isn't helpful for anyone. The device isn't perfect, like the N810 wasn't perfect. The old as well as the new device takes some hacking to be able to use as much software as we like. Software developers will be forced to optify their software, even if it's not their responsibility in my POV. And those who do not, will make the world a little harder for us users.
The /opt solution is a clear improvement over no solution. But it's still not really good. I guess it's acceptable for now.
But Nokia. Pointing fingers at the users and developers and testers should be beneath you. This is your responsibility.
As a UNIX admin I never make the root partition huge. Software that installs there rather than to /opt (or at worst a symlinked /usr) doesnt belong on my machines. This has NOTHING to do with Nokia and everything to do with devs making sure that their app is correctly located. Its not as if thats even a hard thing to do.
Don't go pointing the finger at Nokia. Or would you rather they had just made one big / partition and left it at that.
Don't go pointing the finger at Nokia.
I point the finger at Nokia because I don't like that they try to blame everyone else instead of themselves. I will point a finger at anyone who does that with their product, including my own coworkers. You. Never. Blame. The. Customer.
Or would you rather they had just made one big / partition and left it at that.
No.
But Nokia. Pointing fingers at the users and developers and testers should be beneath you. This is your responsibility.
This really, really seems out of left field. I've not seen any finger pointing at all - in fact, nothing really concrete as to the cause, beyond a mention from Quim that this is (for the most part) caused by installing applications which haven't undergone QA, which is a perfectly reasonable statement to make given that, as you point out, software is being ported which might not be done in an optimal manner.
Why the hostility?
Out of interest, volt, how do you suggest Nokia solve this problem, if not optifying?
I've not seen any finger pointing at all
(...)
This happens most probably because you are installing applications from extras-devel (...) *1
Please don't install software from extras-devel unless (...) *2
Feel free filing bugs asking them to use /opt (...) *3 *4
This means:
1) You did it wrong,
2) Don't do it like that,
3) Its your responsibility to
4) make the developers fix their bugs.
Total denial of responsibility.
Why the hostility?
Please don't mistake a stern talking-to and disagreement with hostility. I apologize that my tone sometimes come off as more aggressive than I mean to.
For those who are interested;
http://wiki.maemo.org/Opt_Problem
Opt appear to currently be the accepted solution and I have already submitted and optified about 25 megs worth of libraries.
Nathan.
This means:
1) You did it wrong,
2) Don't do it like that,
3) Its your responsibility to
4) make the developers fix their bugs.
Have to say, I do more or less agree with what was said. If you're running experimental software, bad things can happen - so you shouldn't do that unless you know what the risks are.
Obviously, also, Nokia can't be expected to port, test, and fix bugs in every application going onto the platform *on their own*, which is where 3&4 come in.
This is a community for a reason.
Please don't mistake a stern talking-to and disagreement with hostility. I apologize that my tone sometimes come off as more aggressive than I mean to.
No problem. It's the internet, we're bound to misunderstand each other. For my part, I think it's a good thing that I *did* misinterpret you, so that your meaning and reasoning becomes more clear, even if I still don't fully agree with your sentiments. :)
Out of interest, volt, how do you suggest Nokia solve this problem, if not optifying?
I have not even suggested that Nokia solve the problem, have I? I have only pointed out that blaming everyone else is bad form. They more than anyone else have had the opportunity to come up in a timely manner with as good a solution as they could. If they haven't managed, I have no illusion I can come up with a better solution in a matter of minutes.
As I distinctly said, the /opt solution is much better than no solution. I wouldn't have minded a bigger NAND chip but as I also said, I believe there was made a compromise because of price.
I am not shaking a fist at Nokia for not having a magical solution on a capacity problem, i am shaking a finger for trying to wiggle out of responsibility.
Edit:
Just to sum up what I've been trying to say:
I am not saying Nokia should have prevented the problem,
I am saying they should Never. Blame. The. Customer.
As a UNIX admin I never make the root partition huge. Software that installs there rather than to /opt (or at worst a symlinked /usr) doesnt belong on my machines.
No packaged software should ever install to /opt, it's a blatant FHS violation. That said; is there any reason we're not mounting the 2Gb of space that's being used as /opt as /usr instead?
If you're running experimental software, bad things can happen - so you shouldn't do that unless you know what the risks are.
Obviously, also, Nokia can't be expected to port, test, and fix bugs in every application going onto the platform *on their own*, which is where 3&4 come in.
I don't think that I am in disagreement here.
It should be noted though, that very little goes on at this community that sticks within the stable extras rep. I didn't have to look very deep before people started talking about red and blue pills. Sticking within the packages is simply not normal usage for these devices. Yet.
I don't disagree with the message: "on your own risk". I disagree with it being pinned down as the user/developer/tester's fault and responsibility. It's a capacity fault at least as much as it is a developer guideline not being followed fault.
It should be noted though, that very little goes on at this community that sticks within the stable extras rep.
Then I think that this is more what needs addressing, rather than the blame or finger-pointing, and to my understanding with things like the QA check-list, addressing of it is in progress.
How does Maemo handle /var/log/ ? Is there some mechanism to prevent it from filling up? Or is it just expected from all applications to not fill the root partition with log files?
Rushmore
2009-10-23, 16:09
As a UNIX admin I never make the root partition huge. Software that installs there rather than to /opt (or at worst a symlinked /usr) doesnt belong on my machines. This has NOTHING to do with Nokia and everything to do with devs making sure that their app is correctly located. Its not as if thats even a hard thing to do.
Don't go pointing the finger at Nokia. Or would you rather they had just made one big / partition and left it at that.
Devatingly good point about app design relative to the device. A concern though is does this mean significant rewrites of current apps, rather than the great and "quick" ports of current apps we were expecting?
A lot of great apps already on Maemo and Linux. Shame if this becomes an obstacle to proliferation of apps to Maemo 5.
I apologize again, I am sorry that I made such a large portion of this thread be about what boils down to semantics. Qgil have probably done a lot of hard work to improve on this situation in the months that have passed, he must be frustrated that people don't follow the guidelines * and I should not expect of him to hold the weight of the complete responsibilities of "Nokia". Sorry Qgil, all I mean to say is "you probably should not formulate things in a way that makes it look like you mean the (users/testers/developers) carry the full blame for a capacity issue".
No packaged software should ever install to /opt, it's a blatant FHS violation. That said; is there any reason we're not mounting the 2Gb of space that's being used as /opt as /usr instead?
Um no offense but perhaps you should read
http://www.pathname.com/fhs/pub/fhs-2.3.html
Before claiming I violate it. If you cant be bothered I will quote it here.
/opt : Add-on application software packages
Purpose
/opt is reserved for the installation of add-on application software packages.
A package to be installed in /opt must locate its static files in a separate /opt/<package> or /opt/<provider> directory tree, where <package> is a name that describes the software package and <provider> is the provider's LANANA registered name.
No packaged software should ever install to /opt, it's a blatant FHS violation. That said; is there any reason we're not mounting the 2Gb of space that's being used as /opt as /usr instead?
It's not a blatant FHS violation by any means. FHS allows for applications to be installed at /opt/<registered vendor id>/<package or whatever they want> or /opt/<package>:
http://www.pathname.com/fhs/pub/fhs-2.3.html#OPTADDONAPPLICATIONSOFTWAREPACKAGES
How that software gets there isn't prescribed in the FHS AFAICT.
Anyone who thinks they've come up with a brilliant new idea is recommended to read the original thread on maemo-developers (http://lists.maemo.org/pipermail/maemo-developers/2009-September/020585.html). The indepth technical discussion should not be repeated on tmo.
Short version: Mounting /usr on the eMMC would require both tooling and image changes which are difficult to QA at this point. The community can iterate and solve this problem faster. Also, the eMMC is slower than the 256MB flash.
No fingers pointed, just trying to share information and collaboration during a testing period. Remember that nobody has paid a cent for an N900 and anybody playing with one is conscious of his status of tester.
Hardware selections are made well in advance based on what is available, price, time of delivery, reliability. It's a complex business really far away from what most of us know and do.
So we have OMAP3430. And we are proposing a solution. The critique is that we could have shared the problem with the community before. Well, agreed. But we shared and discussed (read the maemo-developers archives) and what we have is what we have agreed to be the best solution available.
Now, when the first real N900 users pay for their device and go back home they will find:
- Easy access to software downloadable from Nokia repositores. Optification is enforced to all the software hosted there.
- maemo.org Extras pre-configured but not enabled by default. Users need to check the box if the repo hasn't been installed by other means.
- maemo.nokia.com/maemo-select updated including a selection of Extras applications that have gone through optify check and other quality criteria tested by Nokia.
And then there is the Internet, with maemo.org as a gateway thanks to the recommended links in the Maemo Nokia sites and the well earned Google juice.
If the user stays within the Nokia + maemo.org Extras selection they won't find this problem easily.
If they go deeper in Extras pure then it shouldn't be any problem either, if the community QA works and optification is pushed in the right way.
If all the links they find about extras-testing come with the corresponding warnings and explanations, the problems should be minimal as well, specially if developers know the optify lesson well and send their packages optimized already from extras-devel.
If links to extras-devel are to be seen only in developer / hardcore contexts and not just in any Talk forum answering newbies... and if the references to extras-devel come always with the right warnings and explanations, then there should be not much problems for pure end users either.
Hopefully this system will be sustainable and work. Freedom comes together with responsibility. Nokia alone won't make it and we are encouraging (and not blaming) community developers and community testers to help in this common goal.
(wow, this was long typing from the N900)
Beautiful. I am satisfied and then some.
Rushmore
2009-10-23, 16:30
Changed my post since it was too stupid. This one is not much better though....
If we are installing from the repository and the app adheres to the rules, how many apps can we expect to be able to install if the average app is ten megs? I know is is not a proportional issue, but about how many apps before we run out of memory? Considering some of the space is already used when you get the device.
How does Maemo handle /var/log/ ? Is there some mechanism to prevent it from filling up? Or is it just expected from all applications to not fill the root partition with log files?
See discussion and comments on the (relatively new) #5746 (https://bugs.maemo.org/show_bug.cgi?id=5746).
Folks, no way to spin this. The N900 should have had 512mb of flash (Probably add $75 more to cost though?)
+ engineering complexity + additional space.
Anyway, no one's trying to "spin it", people are trying to fix it. Yes, it was stupid & braindead of Nokia to not realise this was going to be a problem until September 2009 (or at least communicate their proposed solution). However, it's time to move on and work with what we've got.
I don't believe being braindead has anything to do with it, I'm positive it's as y'all say a question about price, complexity etc.
On the other hand, I also think it's a priority they'd done differently if they had known earlier just how much better smartphones are in December 2009 compared to December 2008. There are clever product developers elsewhere, too. My claim is that smartphones in general has gotten better a whole lot faster the last 15ish months.
What worries me as a developer is:
* Should I promote my packages (optified) to Extras when they depend on things like python (non-optified)?
I don't feel very well about my users doing it.
Put the example python because obviously it's my first interest (and it's in Extras yet), but the same could say for Qt dependencies, (even gtkmm/hildonmm?). AFAIK these are neither optified, and perhaps never will be.
In my opinion the real problem aren't the applications itself, generally they are few MB, but the dependent libraries.
People doing testing should check more these libraries.
That's what I'm talking about when I pointed out porting. The people with a heart for Maemo wants to concentrate on using or developing their own applications, while the libraries are only being ported because they have to. There's no enthusiasm about things you need to do but'd rather see someone else do.
As a developer who's not yet contributed anything to the community, I am a prime example ;) Oh, I suck.
- maemo.org Extras pre-configured but not enabled by default. Users need to check the box if the repo hasn't been installed by other means.
This is disappointing in the context of #3279 (https://bugs.maemo.org/show_bug.cgi?id=3279) and the effort the community is putting in on the QA process. However, it's also flawed if links to Maemo Select are going to be prominent on shipped devices. The first time a user installs a community app from Maemo Select, Extras is going to get enabled. Figuring that at least 90% of users will install one of the apps from Maemo Select and that it's 50/50 whether it's a community app, why not ship with Extras enabled out-of-the-box?
I don't believe being braindead has anything to do with it, I'm positive it's as y'all say a question about price, complexity etc.
Except the product managers and engineers knew they were using an OMAP3430 with the same amount of NAND space as the N810 over a year ago. And then a month before launch Nokia announce that pretty much every third party app has to install into a different location as there's not enough space on the rootfs? It was braindead. Truly. If the problem were properly recognised earlier (and it should've carried over from the N8x0 feedback), there are multiple cleaner solutions architecturally (which have been discussed in the original maemo-developers thread).
That's what I'm talking about when I pointed out porting. The people with a heart for Maemo wants to concentrate on using or developing their own applications, while the libraries are only being ported because they have to. There's no enthusiasm about things you need to do but'd rather see someone else do.
Which is why the conclusion at the BOF was that the buildbot would run maemo-optify on everything at some point in the future, unless the developer specifically told it not to, or the package already installed into /opt.
Rushmore
2009-10-23, 16:51
+ engineering complexity + additional space.
Anyway, no one's trying to "spin it", people are trying to fix it. Yes, it was stupid & braindead of Nokia to not realise this was going to be a problem until September 2009 (or at least communicate their proposed solution). However, it's time to move on and work with what we've got.
I actually changed my post and got rid of the "spin" and everything else, since spin was a poor word choice. Adding 256mb more flash would have added $50 to $75 more dollars to the device. I think that common yield for flash is 256mb, so that is what EVERYONE buys- Nokia, HTC, Motorolla, etc. for phone devices.
I used to buy connectors and memory for IBM (before Lenovo) for motherboard production and consumer electronics for contract manufacturing. I appreciate the cost issues.
Still, as an N900 future user, about how many apps will I be able to install from the repository or other sources that adhere to the rules? Using the measure of 10 megs per app as an average.
How much space will we even have, considering some of that space is already taken?
GeneralAntilles
2009-10-23, 16:52
But we shared and discussed (read the maemo-developers archives) and what we have is what we have agreed to be the best solution available.
I'd disagree with that assertion. It's the best compromise available given the late timeframe Nokia decided to try to solve the issue. :)
- maemo.org Extras pre-configured but not enabled by default. Users need to check the box if the repo hasn't been installed by other means.
As I've said elsewhere, this feels like a slap in the face to all of the people who have been working so hard on both the QA process and the packages going through it. It's made worse when you consider how trivial it is to get Extras enabled right from the desktop.
It's not a blatant FHS violation by any means. FHS allows for applications to be installed at /opt/<registered vendor id>/<package or whatever they want> or /opt/<package>:
Add-on software; not stuff that comes from the OS repositories. Which is why on a conventional Debian/Fedora/etc. system with all the software coming from OS debs/RPMs you'll find a completely empty /opt.
That's also rather built into the assumptions that maemo-optify makes, since it will refuse to modify any package that's already using /opt for anything, so as designed it will only function on debs that don't use /opt directly.
Add-on software; not stuff that comes from the OS repositories. Which is why on a conventional Debian/Fedora/etc. system with all the software coming from OS debs/RPMs you'll find a completely empty /opt.
That's also rather built into the assumptions that maemo-optify makes, since it will refuse to modify any package that's already using /opt for anything, so as designed it will only function on debs that don't use /opt directly.
Well see OS software wouldnt be add-on software now would it and would go into the /usr partition. But we arent talking about that we are talking about software people have written. Regardless of if it comes from a repository or someone ftps a deb and installs it.
Extras disabled by default:
- "Extras needs to proof itself"
- Not for sales start but candidate for the first maintenance release (but we can't share dates)
- Another factor to be taken into account is Ovi support (announced in the Summit to come "before the end of the year") and whether maemo.org developers can have their software distributed there (working on it but it's legally complex since Ovi doesn't accept individuals/hobbyists as for today (working on it).
In the meantime as you know we are trying to do our best helping to have QA process in places and many great apps in Extras.
The fact that Maemo Select puts top maemo.org apps next to well known commercial brands can be seen in the other way: a channel to get Extras visible and enabled anyway.
And also there is our assumption that Maemo 5 users will install more apps via recognized webs, using the "Application Manager" more in the strictu sensu of a tool to manage installed software and updates, less as a discovery tool (since it's a bit limited for that compared to full fledged web pages with user ratings, comments, etc.
If you want to discuss further about this please do it in the related bug report or a new thread since it departs from the topic of this one.
What about this?
http://www.my-symbian.com/other/preview_n900.php?page=4
Section: "What's not"
storage memory for installable applications limited to ridiculous 256 MB, all the remaining gigabytes available for documents and data files only (final units will ship with additional 2 GB storage space for 3rd party software installation; it is just being worked on)
Is this true and nobody knows of this?
attila77
2009-10-23, 23:17
Yes, that's exactly the discussion here - how to efficiently use those 2GB.
Rushmore
2009-10-24, 00:47
The bold print is a little misleading though, since the 2gb is not additional storage, but displaced from the 32gb. Will that memory be fast and reliable enough for operations and high repetition of writes to that memory?
That will be one of the main questions by users: "Where is the 32GB, I only have 28GB" (since format and other things consume part of it already).
Still, 28ish built-in gigs is better than Droid's zero ;)
Am I being dim, or couldn't I pretty much solve all these issues with a correctly formatted SD card and liberal usage of 'ln -s'?
Will this issue be relevant in Maemo 6 ?
Are we sticking with /opt or are they fixing it some other way ?
admiral0
2009-10-24, 09:03
What about using aufs?
Partition let's say 2Gb of the 32 gigs available. The procedure to install software would be this:
1. Decide to install software :) Not so obvious
2. Decide to install on the 2Gb partition
3. Apt installs it
a. remounts / as ro
b. mounts external partition as aufs on /
c. installs software
d. cleans some stuff (temp files-moves them on actual root)
e. remounts / as rw and mounts external partition as ro
f. flags software "installed on aufs"
4. Enjoy new software :)
admiral0
attila77
2009-10-24, 09:06
Considering potential open files, that constant (re)mounting might get less fun real quick :)
admiral0
2009-10-24, 09:13
Considering potential open files, that constant (re)mounting might get less fun real quick :)
You could also make / always ro and use that 2 gigs for everything... or you could do a tricky thing (i don't know if you can even do it)
split some partitions and mount in aufs some vital directories as /usr and /opt. Of course it means that when you upgrade you have to split upgrade of packages in realroot with one in aufs root.
This one shouldn't be so painful and risky as usually things in /usr are accessed in ro.
The_Solutor
2009-10-24, 14:42
I really can't understand why messing with /opt directory, instead of using some more modern approach as a ro jffs2 partition joined with the rw filesystem with unionfs, as already done in hundreds of other projects like openwrt/ddwrt and so on...
Can someone of the developers involved give his opinion about this ?
Thanks in advance.
Rushmore
2009-10-24, 14:54
If Nokia already allocated 2gb of the 32gb space for apps, what is the problem as long as apps adhere to the rules?
Be nice to see an install script header to check ourselves if the app install parameters adhere to the rules.
The 256MB might still be a problem, as this thread is proof of. Good and nice that some put their packages in /opt but not everyone will, not yet. What if there was i.e. a cron-job monitoring the available free root partition space? When an alarmingly low amount of space is available, you can be queried if you want to expand the root partition by one of the techniques above? Linux has all the tools needed and the alternative is to NOT have a way out except uninstalling.
javispedro
2009-10-24, 15:20
In this thread we're seeing the exact same arguments that were already made weeks ago when the actual /opt discussion took place.
So please, search maemo-developers mailing list archives for it. :rolleyes:
The end result is that:
- If you're a user, don't worry. You'll have enough space. :)
- If you're a developer, don't worry. The buildbot should take care of it.
- If you're a python developer, worry :D (sorry, I didn't read the latest developments of the python issue yet).
- If you're an advanced user, you're free to repartition the device as you see fit.
The_Solutor
2009-10-24, 16:07
In this thread we're seeing the exact same arguments that were already made weeks ago when the actual /opt discussion took place.
So please, search maemo-developers mailing list archives for it. :rolleyes:
The end result is that:
- If you're a user, don't worry. You'll have enough space. :)
- If you're a developer, don't worry. The buildbot should take care of it.
- If you're a python developer, worry :D (sorry, I didn't read the latest developments of the python issue yet).
- If you're an advanced user, you're free to repartition the device as you see fit.
I read some pieces of discussion on the developer ml, and I'm still not satisfied of what I've read.
I think that when You have a fresh start, like when a major release of an OS is coming, the "just works" is not enough.
IMHO this is just the usual cancer of unix that comes back again, where everyone consider itself authorized to move directories and configuration files forth and back on the file-system, breaking the compatibility to the past, and maybe to the future.
- If you're an advanced user, you're free to repartition the device as you see fit.
DON'T PANIC -- Douglas Adams --
If the information from this ubifs article (http://www.linux-mtd.infradead.org/doc/ubifs.html#L_rednote) is accurate, I'm going to go out on a limb and say that one or more advanced users will be able to help %99.99 of the users around this problem. Generally, this should be a non-issue for people willing to read and follow directions. If penguinbait and/or fanoush drop the ball (which I highly doubt), there's others of us who should be able to pick it up.
Once we have verification that people can autonomously reflash a hosed (or perfectly good) n900, all should be well. But the beta testers have been rather quite, I'm surprised we haven't heard from qwerty12 about remounting initfs rw...
javispedro
2009-10-24, 16:54
I think that when You have a fresh start, like when a major release of an OS is coming, the "just works" is not enough.
"Fresh start"? No way. The "fresh start" came with Maemo 1 maybe.
javispedro
2009-10-24, 17:01
Generally, this should be a non-issue for people willing to read and follow directions.
What issue?
The problem is that up so far I guess nobody has felt the useless urge to repartition the layout, since there's a lot of space.
At most, they have symlinked some key folders from the rootfs to the 2 GiB partition.
qwerty12
2009-10-24, 17:04
Once we have verification that people can autonomously reflash a hosed (or perfectly good) n900, all should be well. But the beta testers have been rather quite, I'm surprised we haven't heard from qwerty12 about remounting initfs rw...
What initfs (http://talk.maemo.org/showpost.php?p=353924&postcount=69)? :p
What initfs (http://talk.maemo.org/showpost.php?p=353924&postcount=69)? :p
I don't know how I missed that. Somehow I stopped reading after your previous post in that thread. Strange.
/sbin/preinit can't be redistributed. No problem, I'll just steal it from one of my OpenWRT boxes. :eek:
I'm pretty sure it isn't mounted. ;)
Well, let's get sure. :) Maybe you'd be willing to share the output of the following commands:
df
cat proc mounts
hal-device
And any thing else you can think of.
Pretty please. Pretty please with v*****s on top.
The_Solutor
2009-10-24, 17:44
"Fresh start"? No way. The "fresh start" came with Maemo 1 maybe.
I can't agree. Maemo 5 is more than an evoluton of the prevoious releases. New UI, new phone section and related APIs, limited compatibility with the past and a new directory/partition layout.
So I'm still thinking that the /opt dir is a "patchy" way to obtain the desired result.
Just to ask, what about N1000 (or whatever is called) and maemo 6, whith maybe 2GB of embedded RAM ? We are going to use the /opt for compatibility with the past or we are going to scramble the FS again ?
What issue?
The problem is that up so far I guess nobody has felt the useless urge to repartition the layout, since there's a lot of space.
At most, they have symlinked some key folders from the rootfs to the 2 GiB partition.
The full armel chroot lenny issue, including man pages. Or maybe combine that with an offline Wikipedia. It's an issue.
EDIT: Okay, not really an issue, but... I want to play...
I, and I'm guessing others, will be doing what we've done before: Clone(s) with a boot menu. If Nokia tries to make that difficult for us I have at least one solution around it. Otherwise, the device might have a twelve story accident. But I'd hate to have to use my renter's insurance.
qwerty12
2009-10-24, 18:07
I don't know how I missed that. Somehow I stopped reading after your previous post in that thread. Strange.
/sbin/preinit can't be redistributed. No problem, I'll just steal it from one of my OpenWRT boxes. :eek:
Well, let's get sure. :) Maybe you'd be willing to share the output of the following commands:
df
cat proc mounts
hal-device
And any thing else you can think of.
Pretty please. Pretty please with v*****s on top.
http://qwerty12.qole.org/dump
http://qwerty12.qole.org/dump
You sir, are a sir. Sir qwerty12. The queen will be by shortly.
Did you flush?
javispedro
2009-10-24, 18:32
I can't agree. Maemo 5 is more than an evoluton of the prevoious releases. New UI, new phone section and related APIs, limited compatibility with the past and a new directory/partition layout.
New UI widgets, new phone functionality (so what?), and enough compatibility so that most apps work by changing this and that widget, and even some of them work without recompiling. Evolution, yes; but hardly a "fresh start".
The /opt stuff is a hack. And it was decided late in the game.
But it has been discussed ad infinitum. Every alternative here discussed was already discussed both in the mailing lists and in the BOF session (including, but not limited to, aufs). And still, /opt was deemed to be the best solution at this stage.
And about the next device, we don't even know if it's still going to ship with a OneNAND, so it's early to discuss here. Hopefully though, Nokia will present us with a proper plan instead of "Don't worry about it" when the first community alarm bells ring (and they did ring! when the first Eldar comments about the 256MiB rootfs appeared).
The_Solutor
2009-10-24, 18:54
New UI widgets, new phone functionality (so what?), and enough compatibility so that most apps work by changing this and that widget, and even some of them work without recompiling. Evolution, yes; but hardly a "fresh start".
Ok, if not "fresh start", we can call it a big milestone ?
The /opt stuff is a hack. And it was decided late in the game.
But it has been discussed ad infinitum. Every alternative here discussed was already discussed both in the mailing lists and in the BOF session (including, but not limited to, aufs). And still, /opt was deemed to be the best solution at this stage.
After the experience with the 770 my interest in maemo was on hold due the lack of phone functionality of the tablets, so I haven't read all about the maemo evolution.
I'm still not so sure to have read the relevant parts of You are writing about, can you kindly point me to the relevant topics ?
I noticed yesterday that the Application Manager complained of memory being full. that was followed by a lot of 'Operation Failed' messages.
'df' showed that the root partition was at 100%. So I quickly removed a bunch of applications and was able to bring it down 88%.
I have to confirm this, I also had the same exact problem yesterday. I have about 20 apps installed, paying close attention that they are optified. I had a "memory full, can't send/receive messeges, free up some space" messege popping up (...)
I have a feeling that this is going to be one hell of a problem, unless this is the main cause for the current delay and they are seriously thinking further solutions. The optification of packages seems not to be enough?
In this thread we're seeing the exact same arguments that were already made weeks ago when the actual /opt discussion took place.
(...)
The end result is that:
- If you're a user, don't worry. You'll have enough space. :)
"My iPhone just exploded!"
"OMG, how many times do we have to go over this! It's already been stated it's not a problem!"
attila77
2009-10-24, 19:36
If you keep using stuff from extras-devel your phone will be exploding anyway. And if extras get only nice, optified packages, then no explosion need to take place. RIght ?
If you keep using stuff from extras-devel your phone will be exploding anyway. And if extras get only nice, optified packages, then no explosion need to take place. RIght ?
Read the 2nd quote again.
[Many Quotes]
"My iPhone just exploded!"
"OMG, how many times do we have to go over this! It's already been stated it's not a problem!"
This is a bug
https://bugs.maemo.org/show_bug.cgi?id=5450
Lazy garbage collection or something like that in the file
system, I guess
attila77
2009-10-24, 21:01
Read the 2nd quote again.
I have installed way more than 20 packages (some quite hefty at that) so the general approach does work (except for the FS accounting bug, but that's not /opt related). My guess is that some packages (or, maybe their dependencies !) were not as optified as the OP thought. A list of the packages (with versions) would be helpful to track down the culprit(s), fill bug reports, etc.
GunnerzMate
2009-10-24, 21:59
This is my greatest concern about the N900. I have a feeling it will work fine the first 2 weeks and then little by little it will slow down just like symbian...
This is my greatest concern about the N900. I have a feeling it will work fine the first 2 weeks and then little by little it will slow down just like symbian...
Symbian and Maemo are two totally different horses. There's no direct comparison that can be made between the two (except that everyone seems to hate the first.. hehe).
Nor is this thread in any way concerned with a slow down so much as a problem with development software on a pre-release device. Don't worry :)
I actually changed my post and got rid of the "spin" and everything else, since spin was a poor word choice. Adding 256mb more flash would have added $50 to $75 more dollars to the device. I think that common yield for flash is 256mb, so that is what EVERYONE buys- Nokia, HTC, Motorolla, etc. for phone devices.
Your information is obviously incorrect.
The Pandora uses OMAP3430 with 512MB nand POP, and only costs 330$. A year ago they announced an upgrade from 128MB ram and 256MB nand to 256M+512M, claiming the upgrade costs 10$. For Nokia and for the nand only it is probably more like 1$ for the upgrade.
About nand chip capacity: 8MB SD cards are common and cheap. Open one and count the chips inside - there are no 32 nand chips inside.
A list of the packages (with versions) would be helpful to track down the culprit(s), fill bug reports, etc.
Indeed. Has anybody published a list of installed applications when hitting the rootfs limit? It feels like we have shared 101 discussion posts and yet nobody has been able to point to concrete examples af apps non optified that are causing trouble to testers.
fwiw yesterday I started going through http://maemo.org/packages/repository/qa/fremantle_extras-testing/ and filing blockers to apps installing more than 500kb without optification, according to http://wiki.maemo.org/Extras-testing/QA_Checklist#Too_much_memory_used_in_root_partitio n
You are encouraged to help. I believe there is even a way to check this without a device, checking the source code? Instructions welcome if anybody knows how to.
admiral0
2009-10-25, 08:12
Indeed. Has anybody published a list of installed applications when hitting the rootfs limit? It feels like we have shared 101 discussion posts and yet nobody has been able to point to concrete examples af apps non optified that are causing trouble to testers.
fwiw yesterday I started going through http://maemo.org/packages/repository/qa/fremantle_extras-testing/ and filing blockers to apps installing more than 500kb without optification, according to http://wiki.maemo.org/Extras-testing/QA_Checklist#Too_much_memory_used_in_root_partitio n
You are encouraged to help. I believe there is even a way to check this without a device, checking the source code? Instructions welcome if anybody knows how to.
Wait till i get my n900 shipped and i'll test the world :P
fwiw yesterday I started going through http://maemo.org/packages/repository/qa/fremantle_extras-testing/ and filing blockers to apps installing more than 500kb without optification, according to http://wiki.maemo.org/Extras-testing/QA_Checklist#Too_much_memory_used_in_root_partitio n
You are encouraged to help. I believe there is even a way to check this without a device, checking the source code? Instructions welcome if anybody knows how to.
I tried to check few packages randomly but they already are
checked and commented
are below 500KB (from the wiki) with their / usage
It would be nice to know which packages have already been checked so there isn't duplicate work to be done.
My method to check the package: Download DEB package. Open it with the GNOME's Archive Manager. Open data.tar.gz by clicking it. Go down by hierachy until you find out how much combined other directories than /opt are using (sum the size columns).
I posted a simple script to check (on-device) an installed package's rootfs usage here (http://wiki.maemo.org/Talk:Extras-testing/QA_Checklist#Checking_root_filesystem_usage), feel free to add any other methods that come to mind.
I posted a simple script to check (on-device) an installed package's rootfs usage here (http://wiki.maemo.org/Talk:Extras-testing/QA_Checklist#Checking_root_filesystem_usage), feel free to add any other methods that come to mind.
I got a bit irritated with this situation last night and came up with a temporary solution. Take a look at http://talk.maemo.org/showthread.php?p=357407#post357407
There are a few big caveats, but if you're careful it will handle things safely until we have more optified packages.
This is something of a work in progress, but the following bit of bash will take the name of a .deb package on the commandline, and total up the sizes of files in /usr, /opt, and elsewhere according to the index of the embedded data.tar.gz. It doesn't need the package to be installed, doesn't use any Debian specific packaging tools, and doesn't create any temporary files.
It shouldn't be too difficult to automatically run it on every .deb in a copy of the repository, but that's next on the todo list.
#!/bin/bash
deb=$1
OIFS=$IFS
IFS=$'\n'
opt_total=0
home_total=0
other_total=0
for line in $(ar p ${deb} data.tar.gz | tar -tzvf -) ; do {
IFS=$OIFS
array=(${line})
case $(echo ${array[5]} | cut -b 1-5) in
./usr ) usr_total=$(( ${usr_total} + ${array[2]})) ;;
./opt ) opt_total=$(( ${opt_total} + ${array[2]})) ;;
* ) other_total=$(( ${other_total} + ${array[2]})) ;;
esac
} ;
done
echo -e "Usr\tOpt\tOther"
echo -e "${usr_total}\t${opt_total}\t${other_total}"
IFS=$OIFS
Just was playing a bit with lma's script (thanks!), and got some results. This isn't the complete list (just some packages I tested), sure there are hundreds of packages more with the same problem.
Also, I reported bugs where I did can.
Sorry for the bad format, it's Sunday morning and I need to go to get some beer.
In Nokia repository:
Qik 1168 kB (Hey Nokia, play the rules!) (I don't know where report this)
In Extras:
omweather (the app itself is optified in -testing, the extras version isn't optified).
omweather-stations-db 2852 kB
omweather-gismeteo-ru-stations-db 2016 kB
omweather-icons-contour 708 kB
omweather-icons-beginning 992 kB
omweather-icons-epona 640 kB
omweather-icons-grzankas 664 kB
omweather-icons-shiny 736 kB
omweather-icons-tango 732 kB
(Bug: https://bugs.maemo.org/show_bug.cgi?id=5773)
Ogg Support: (Bug: https://bugs.maemo.org/show_bug.cgi?id=5775)
ogg-support 52 kB
gstreamer0.10-flac 68 kB
gstreamer0.10-ogg 88 kB
gstreamer0.10-theora 64 kB
gstreamer0.10-vorbis 60 kB
libflac8 300 kB
libogg0 16 kB
libtheora0 592 kB
libvorbis0a 160 kB
libvorbisenc2 968 kB
libvorbisfile3 28 kB
tracker-distutils 16 kB
tracker-extractor-vorbis 12 kB
Total: 2424 kB
OpenSSH:
openssh-server 364 kB
openssh-common 164 kB
openssh-client 984 kB
At least client+common or server+common must be installed (more than 500 kB).
(Didn't can to find a bugzilla entry for this, even if the lack of bugzilla is a blocker in the QA checklist).
Not in Extras yet (so let's give them some time):
Mauku:
mauku 300, it's less than 500 kB but:
libmicrofeed-common-0 172 kB
libmicrofeed-provider-0 224 kB
microfeed-providers-unstable 56 kB
libmicrofeed-subscriber-0 60 kB
microfeed-utils 60 kB
Total: 872 kB (Bugs: https://bugs.maemo.org/show_bug.cgi?id=5776 and https://bugs.maemo.org/show_bug.cgi?id=5777)
Tomotko 1468 kB
and depends on:
libqt4-gui 13188 kB (from a Nokia repository)
All Python applications depend on stuff without be optified:
python2.5-minimal 4024 kB
python2.5 9296 kB
python-gtk2 2452 kB
Well, you have an idea what size can be using these python packages
(Bug: https://bugs.maemo.org/show_bug.cgi?id=5364)
Xournal 556 kB (Bug: https://bugs.maemo.org/show_bug.cgi?id=5774)
depends on:
libart-2.0-2 80 kB
libgnomecanvas2-0 164 kB
libgnomecanvas2-common 640 kB
libgnomeprint2.2-0 440 kB
libgnomeprint2.2-data 728 kB
libpoppler2 1456 kB
poppler-utils 164 kB
Other bugs related to save space in the filesystem, but not in 3rd party applications:
Store system logs in /opt: https://bugs.maemo.org/show_bug.cgi?id=5749
symlink /var/cache/apt/archives to /home/apt-archives: https://bugs.maemo.org/show_bug.cgi?id=5746
I srsly doubt everyone will hate Maemo 5 ;)
Device slowdown isn't really a big issue for me as long as it's not phone-centric functionality that slows down. On my WinMo 6 phone, I can make the phone functionality stop working by starting certain software. That would be a problem. However, slowdowns because you install software on a secondary, slower partition is, well, just too obvious. When we choose to buy a phone with limited capacity, we should expect it to behave like a phone with limited capacity. It's still a killer phone, and it must be considered a fair tradeoff, excellent even, if it slows down because we installed more software than there's room for in the 256MB. The alternative would be having a phone where you could not install more software at all.
Which is kinda what I'm experiencing with my N810 right now, it refuses to update my packages cause of no room, and I haven't had the time/energy to figure out ways to move moar stuff out.
The N900 will be better out of the box, and hopefully I'll not have to limit myself quite as much as I do on the N810.
I am looking forward to getting mine. But it's not going to be perfect. I am going to be very interested to one day see what Step 5 of 5 is.
The_Solutor
2009-10-25, 14:42
My method to check the package: Download DEB package. Open it with the GNOME's Archive Manager. Open data.tar.gz by clicking it. Go down by hierachy until you find out how much combined other directories than /opt are using (sum the size columns).
To check whats a package contain, and to eventually install it in a different directory from the predefined one, the best method is:
Open the package (deb, rpm, whatever) with mc (midnight commander) and then copy the files in the desired path.
It's simply, quick and "visual".
I use this method not only to install a package on a foregin distro (say a redhat rpm on a suse distro) but even to overcome a broken dependency, or to install an older version of a package that I won't automatically upgrade.
In line with the bug #5476: "symlink /var/cache/apt/archives to /home/apt-archives", I think it would be also useful symlink (or move) /var/lib/dpkg/info to some place in /home/
In my N900:
du -h /var/lib/dpkg/info/
22.2M /var/lib/dpkg/info
Does someone can check what space it uses in his/her N900?
It would help to save some space in the root partition too, if it's technically possible move or symlink that directory.
If you want to get every deb from a particular repository, something heinous like this should work:
WARNING: this will download files
wget -r --no-parent --no-directories --accept deb http://repository.maemo.org/extras/pool/fremantle/free/
WARNING: NEVER forget the URL's trailing slash
If you just want to get a list of the deb URLs, try the following:
wget -r --spider --no-parent --no-directories --accept deb http://repository.maemo.org/extras/pool/fremantle/free/ 2>&1 | sed -n 's/.*\(http:\/\/.*\.deb\)$/\1/p' > deblist.txt
Just was playing a bit with lma's script (thanks!), and got some results. This isn't the complete list (just some packages I tested), sure there are hundreds of packages more with the same problem.
Also, I reported bugs where I did can.
Sorry for the bad format, it's Sunday morning and I need to go to get some beer.
...
Other bugs related to save space in the filesystem, but not in 3rd party applications:
Store system logs in /opt: https://bugs.maemo.org/show_bug.cgi?id=5749
symlink /var/cache/apt/archives to /home/apt-archives: https://bugs.maemo.org/show_bug.cgi?id=5746
I think you're forgetting MPlayer (mplayer/mencoder), which uses 18MB in /usr/bin/
In my N900:
du -h /var/lib/dpkg/info/
22.2M /var/lib/dpkg/info
Does someone can check what space it uses in his/her N900?
Exactly the same, with extras{,-testing,-devel}, tools and mozilla repositories enabled on top of the built-in ones.
#!/bin/bash
deb=$1
OIFS=$IFS
IFS=$'\n'
opt_total=0
home_total=0
other_total=0
for line in $(ar p ${deb} data.tar.gz | tar -tzvf -) ; do {
IFS=$OIFS
array=(${line})
case $(echo ${array[5]} | cut -b 1-5) in
./usr ) usr_total=$(( ${usr_total} + ${array[2]})) ;;
./opt ) opt_total=$(( ${opt_total} + ${array[2]})) ;;
* ) other_total=$(( ${other_total} + ${array[2]})) ;;
esac
} ;
done
echo -e "Usr\tOpt\tOther"
echo -e "${usr_total}\t${opt_total}\t${other_total}"
IFS=$OIFS
If the maintainer of the actual repository servers themselves don't have time to run the scripts evan presented (it would just have to change it to add a for loop); --
If you want to get every deb from a particular repository, something heinous like this should work:
wget -r --no-parent --no-directories --accept deb http://repository.maemo.org/extras/pool/fremantle/free/
I am willing to run the above wget on my server (I have over a terabyte of disk space free and a pretty fast network connection). I don't think it would be wise for multiple of us to try and do this, that would probably just kill the repository servers.
I'm willing to do the grunt work and generate a spreadsheet with existing packages in extras, extras-devel and extras-testing.
Nathan.
Ok, here is the first part of the results:
(This now has the _all files included)
---
In Extras; bad news almost EVERYTHING is not optified.
If you installed all 57 programs/libraries in "Extras" you would be using 31.313,619 bytes in /usr
and 10,136,698 bytes in /opt (7 packages)
The biggest offenders are:
Python = 20,149,809
omweather = 5,047,291
gstreamer = 1,440,853
libvorbis = 1,196,245
opensshclient = 1,020,136
libthedora = 607,363
----
In Extras-Testing
Installing all 282 applications/libraries would take:
/USR = 115,282,679
/OPT = 127,355,017 (51 Packages)
The biggest offenders:
Python = 27,242,712
libpurple = 21,004,743
libqt4 = 13,641,166
tuxpaint = 6,089,310
gstreamer = 3,275,546
omweather (Data) = 2,911,812
libgtkmm - 2,170,263
maelstrom = 1,617,488
libpoppler = 1,597,363
tomotko = 1,510,179
wget = 1,500,396
belltower = 1,400,072
openssh = 1,374,512
A couple notes:
- The omweather app is optified, but the data is not.
- The vast majority of all the libraries are NOT optified.
- Their are a some packages like supertux that is partially optified; it has the vast majority in /opt, but like 400k is still in /usr.
----
Nathan
P.S. Attached is the raw data; w/ duplicated programs removed (i.e. I removed all the older versions of the same name)
Ok, here is the extras-devel (also fixed to have the _all pkgs)
If you install everything (1323 packages):
/USR: 1,973,570,385
/OPT: 632,613,045 (102 packates)
Worst:
mysql-server - 62,673,785
libqt4 - 52,775,891
python - 43,008,915
pyside - 28,389,391
frozen bubble (data) 21,935,718
libpurple - 21,414,705
mplayer - 19,046,660
libmysql-client - 19,040,995
pidgin (data) - 18,355,070
mysql-client - 16,142,045
libgtkmm - 13,533,852
abuse-(data) - 12,747,361
gstreamer - 6,442,598
libapertium - 6,206,172
libboost - 5,607,308
libillumination - 5,415,848
mc - 5,406,985
vala - 5,400,716
------
Fremantle Repository (I assume this is what is actually on the device -- I eliminated any dbg/dev packages from the count, but their are other packages I don't know if they exist or not on the device)
Packages: 501
/Usr = 473,689,061
/Opt = 0
Worst:
QT4
microb
python
perl
Nathan
A couple interesting Stats (well maybe :-D)
Extras has 57 packages of which 7 have optification.
Extras-Testing has 281 Packages of which only 51 have optification.
Extras-Devel has 1323 Packages of which only 102 have optification.
Extras-Devel has 52 Document Packages.
In Extra-Devel, between me and the GPE Suite author (Graham Cobb) we have 41 of the 102 optified packages.
Nathan.
javispedro
2009-10-27, 21:36
So, when is the buildbot going to start optifying packages automatically?
Ok, here is the extras-devel
If you install everything (1074 packages):
/USR: 1,003,654,527
/OPT: 138,240,812
Are all packages really counted here? Just openarena and openarena-data put 300 MB to /opt alone
Extras has 47 packages of which 3 have optification.
Extras-Testing has 233 Packages of which only 35 have optification.
Extras-Devel has 1074 Packages of which only 79 have optification.
I can say without much checking that in extras at least solarwolf, eyes-widget (true!), gpodder and classic-gaming-wallpapers use /opt. That's already 4 packages. Were all packages counted?
Are all packages really counted here? Just openarena and openarena-data put 300 MB to /opt alone
Well, you can grab the tab delimited files (I attached them), to see what was counted.
I only downloaded all the _armel.deb files. The openarena-data is a _all file. I didn't realize their actually was a _all file type. I only knew the _i386 and _armel. I didn't want to waste the bandwidth of the site pulling files I didn't need. So, no the openarean-data_all.deb file was not counted. Guess that means their was 80 optified files in extras-devel. ;-)
Nathan.
P.S. I'll pull the Non _armel/_i386 files right now, and see exactly how many others "types"exist. ;-)
I only downloaded all the _armel.deb files. The openarena-data is a _all file.
That explains. Many python (if not most) applications are also _all. Packages which can be installed to device are _armel and _all
I can say without much checking that in extras at least solarwolf, eyes-widget (true!), gpodder and classic-gaming-wallpapers use /opt. That's already 4 packages. Were all packages counted?
Well, I recall seeing eyes-widget, it appears gpodder is also a _all file. Well, I should have the _all stats in about 30 or so minutes. Stay tuned. Thanks for letting me know about the missing files, so I was able to track down the _all file type. :)
I'll fix the stats once I have them generated.
Nathan
Ok, I fixed all the stats. I also replaced the .txt/.zip files I attached with the new version. So you should be able to look at the underlying data I used to generate the information.
A couple more things. I didn't bother recalculating the python sizes, even though it would have probably increased with the _all files, because it is obvious that something needs to be done with both Python and Qt4 libraries. I added a couple more files to the lists since they showed up being the data files.
Kudos goes out to the Wormux, Openarean, Jammo devs for moving the 432,622,610 of Data into the /OPT folder. Between each of those three, you could easily exceed /USR with I believe just one of them. ;-)
Kudos goes out to ioquake and adblock, they moved off 2,642,976
in data to /home!
Nathan.
Ok, here is the extras-devel (also fixed to have the _all pkgs
vim - 17,938,266
vim 7.2.0-maemo5 is entirely optified, you have a bug in your calculation method or are including out-of-date packages.
Rushmore
2009-10-28, 12:18
Funny about the memory levels of this discussion. My first computer was a Commodore 64: 64K with only 38K of that for programs :)
First PC was a Pentium 90 with 8mb ram and 320mb hard drive. I thought I was moving up when I added another 8megs :)
We now have the N900, which is a lot more powerful and smaller than the harddrive on the PC. Cool.
I thought having the N-Gage was great too- my first "smart phone" ;)
vim 7.2.0-maemo5 is entirely optified, you have a bug in your calculation method or are including out-of-date packages.
deb usr opt other
vim_7.2-0maemo5_armel.deb 2598 17940035 0
from nathan's .txt
it seems like he just looked at the wrong column when listing the worst offenders, the data is correct.
Just out of curiosity, if I compile a package I want to have for the most part in /opt/ is it suggested that I move the /bin/myprogram to /opt/bin/myprogram and symlink it back to /bin/myprogram ? even if its a few hundred K ? mainly to save the precious space for other programs that might not be able to be moved?
Would the same go for the /libs/mylibs ?
Cheers
Rip
just build your package as you normally would, then use this: http://maemo.org/packages/view/maemo-optify/
FBergeron
2009-10-28, 15:29
Hi Nathan,
I have released a new version of tomotko in extras-testing that should be optified. I have not verified yet if it really worked. The new version contains the recommended "maemo-optify tomotko" statement in the rules file. I hope it worked as expected.
Regards.
javispedro
2009-10-28, 16:09
Sorry, I remember reading in the BOF notes that the autobuilder would be modified to autooptify packages?
Sorry, I remember reading in the BOF notes that the autobuilder would be modified to autooptify packages?
Eventually. Not quickly as it'll need to be done carefully (and I've not seen any confirmation that Marius/Ed are working on it). Steps:
Make the auto-builder do it if XS-Maemo-Optify is set to auto. This will insert a call to maemo-optify at the right point in the build process, if the package doesn't already use /opt and some other tests (perhaps runtime Python dependency, depending on what the outcome of Python optification is).
Ask some developers to set this and test. Notify that if testing goes well, developers not wanting auto-optification should start using XS-Maemo-Optify: none.
If all goes well, change the default for XS-Maemo-Optify from none to auto.
Possible values for XS-Maemo-Optify could be:
none: no optification should be done, or considered, by the autobuilder.
manual: the application author will do optification manually. If the package contains no entries under /opt it would be considered a build failure.
auto: maemo-optify would be run if certain heuristics were met (e.g. no entries in /opt, no Python dependency)
force: maemo-optify would always be run.
vim 7.2.0-maemo5 is entirely optified, you have a bug in your calculation method or are including out-of-date packages.
Actually it was my "mistake" -- I had to manually delete all duplicate (older versions of programs) lines. If you look at the attached .txt file; you would see that I had missed removing the maemo4 so I had both Vim 7.2.0-maemo4 and vim 7.2.0-maemo5, of course 4 is not optified so when I sorted it by size it showed up at the top of the list. ;-)
---
Looking at the data it looks like I missed a couple packages towards the bottom in the exact same area . I see a second dup for each of the following packages xkblayouts, vpnc-gui, vim, and usb-network-modules.
My eyes must have glazed over after looking through almost 3000 packages lines... ;-)
(I'll remove vim from the above list)
Nathan.
Which is why the conclusion at the BOF was that the buildbot would run maemo-optify on everything at some point in the future, unless the developer specifically told it not to, or the package already installed into /opt.
Meh, every package over x kilobytes, maybe... If the package has only 20kb in 10 shell scripts, it seems to me the introduction of 10 fragile symlinks is more risky than leaving 20kb of text files in /usr ...
A concern though is does this mean significant rewrites of current apps, rather than the great and "quick" ports of current apps we were expecting?
A lot of great apps already on Maemo and Linux. Shame if this becomes an obstacle to proliferation of apps to Maemo 5.
Too late for "great and quick" ports of current apps. The Fremantle UI is radically different from desktop Linux, and quite a bit different from Diablo, too, so "quick" ports of desktop apps are almost certainly going to look and behave terribly on the N900 without significant UI rewrites. Diablo apps are also going to be a bit ugly in many cases. :(
Hi,
Here is a little script i ve made in python to help me localize which package eat most of the space. It s not optimized and a bit long to analyse packages, but seems to work.
Did you think doing a real app for user will be usefull to analyse where space are lost ?
moptinagi.py
import commands
import os
import hildon
import gtk
details = ''
less = ''
r = commands.getoutput("/usr/bin/dpkg --get-selections")
packages = r.rsplit('\n')
for index,package in enumerate(packages):
print 'Processing packages ',index,' on ',len(packages)
#print package.split('\t')
s = package.split('\t')
if s[(len(s)-1)] == 'install':
pkg_files = commands.getoutput("/usr/bin/dpkg -L "+s[0]).split('\n')
pkg_size = 0
for pkg_file in pkg_files:
#pkg_size = 0
if ('/opt' not in pkg_file) or ('/home' not in pkg_file):
try:
st = os.stat(pkg_file)
if st.st_blocks > 0:
details = details + '\n'+ s[0]+':'+pkg_file+':'+str(st.st_size/1024)+'Kb'
pkg_size = pkg_size + st.st_size
except:
pass
less = less + '\n' + s[0] + ' : '+str(pkg_size/1024)+'Kb'
print less
w = hildon.Window()
p = hildon.PannableArea()
t = hildon.TextView()
p.add(t)
w.add(p)
total = less+'\n\n\n'+details
t.get_buffer().set_text(total)
w.show_all()
gtk.main()
(http://khertan.net/2009/10/not-enought-space-on-device/)
just build your package as you normally would, then use this: http://maemo.org/packages/view/maemo-optify/
I would be careful with this statement.
Use it if you cannot move the package to /opt correctly, but if you can, you should consider it doing properly.
While optify works for this, it can cause problems with package updates from non-optified to optified version, and it scatters symlinks across the rootfs (and symlinks take up precious disk space, too).
javispedro
2009-10-29, 08:46
it scatters symlinks across the rootfs (and symlinks take up precious disk space, too).
Agreed. For example, data packages could potentially install in /opt and then just create a single symlink for the corresponding /usr/share folder, instead of creating a thousand symlinks for each data file. This is what I plan to do with OpenTTD (before the extras-testing marathon hopefully ;) ).
Large data packages could even go to $INTERNAL_MMC_MOUNTPOINT (/home/user/MyDocs) since their contents are not executable and as a rule don't require POSIX filesystem features/semantics.
attila77
2009-10-29, 09:37
Large data packages could even go to $INTERNAL_MMC_MOUNTPOINT (/home/user/MyDocs) since their contents are not executable and as a rule don't require POSIX filesystem features/semantics.
If someone decides to do this PLEASE PLEASE put the data in a hidden directory (starting with a dot), so trackerd/MAFW/camera/media player would not try to use the files in there. Thank you.
javispedro
2009-10-29, 09:42
Large data packages could even go to $INTERNAL_MMC_MOUNTPOINT (/home/user/MyDocs) since their contents are not executable and as a rule don't require POSIX filesystem features/semantics.
Note though that this partition gets unmounted when the device is in mass storage mode (but that didn't represent a problem when we used to do that in Diablo ;) ).
Agreed. For example, data packages could potentially install in /opt and then just create a single symlink for the corresponding /usr/share folder, instead of creating a thousand symlinks for each data file. This is what I plan to do with OpenTTD (before the extras-testing marathon hopefully ;) ).
This can be achieved maemo-optify tool, just make sure that the data directory and package name are the same. It should be possible to force maemo-optify tool to symlink some directories to make it easier when package name is "package-data" and directory is still called "package".
I've got no space left on device, causing all manner of issues:
Nokia-N900-42-11:~# df -h
Filesystem Size Used Available Use% Mounted on
rootfs 227.4M 225.9M 0 100% /
ubi0:rootfs 227.4M 225.9M 0 100% /
tmpfs 1.0M 224.0k 800.0k 22% /tmp
tmpfs 256.0k 76.0k 180.0k 30% /var/run
none 10.0M 80.0k 9.9M 1% /dev
tmpfs 64.0M 4.0k 64.0M 0% /dev/shm
/dev/mmcblk0p2 2.0G 116.3M 1.8G 6% /home
/dev/mmcblk0p1 27.0G 1.7G 25.3G 6% /home/user/MyDocs
/dev/mmcblk1p1 14.8G 10.2G 4.7G 69% /media/mmc1
I just got the phone today. I installed a good chunk of apps on it, but I don't think I was excessive. Also, installing apps shouldn't use up the 227M of root I have, surely. Can someone explain if I've done something wrong? I have to uninstall some things because no free space == shudder.
Anyway, I searched the forums and google, and didn't find any topic like this for the n900. Thanks in advance,
-Josh
You've probably downloaded your "good chunk of apps" from extras-devel... oops! as they're not opt, that means your root space have been used.
felbutss
2009-12-03, 03:51
if this happens i havent really been able to find a fix.
if someone screws up with the install of apps from extra-devel how do you clear them out?????? some dont let you uninstall and if you do it seems like the space is still taken up.
what do i type in terminal to see whats in there.
felbutss
2009-12-03, 04:05
besides re-flashing
The fix is to uninstall some apps - this is why its highly recommended DONT download from extras-devel.
Now that being said optifying an app is really not that hard so perhaps us devs can make an effort to optify right off the bat,
sjgadsby
2009-12-03, 04:46
Threads merged.
The fix is to uninstall some apps - this is why its highly recommended DONT download from extras-devel.
Now that being said optifying an app is really not that hard so perhaps us devs can make an effort to optify right off the bat,
Hey conclusion jumpers :) I did NOT download from extras-devel. I hadn't even installed extras-testing yet, just most of the apps from extras. I ended up having to delete evernote to get some space back (inevitably another app would've worked). Then I rebooted, and I had way more space left on root.
Anyway, to reiterate: My issue had ZERO to do with extras-devel or extras-testing.
is there a way to increase root?
Hey conclusion jumpers :) I did NOT download from extras-devel. I hadn't even installed extras-testing yet, just most of the apps from extras. I ended up having to delete evernote to get some space back (inevitably another app would've worked). Then I rebooted, and I had way more space left on root.
Anyway, to reiterate: My issue had ZERO to do with extras-devel or extras-testing.
In that case things have been moved into extras without being optified - and thats not good.
is there a way to increase root?
no, the rootfs is on a seperate physical chip and cannot be changed.
In that case things have been moved into extras without being optified - and thats not good.
Or that apt stores the full debs inside /var/cache/apt/archives/ and only periodically is that cleaned. This resides on / so users installing lots of apps will regardless of package being optified, find they will kill free space quickly.
AIUI the application manager doesn't do that though, so I suppose the question is, did the OP use apt-get, or the Application Manager GUI?
In that case things have been moved into extras without being optified - and thats not good.
For reference purposes, after having flashed my N900 with the release version of the firmware, the root FS was 62% full without having installed anything. After having installed just 9 apps and widgets from Extras only (no testing, no devel), it was 69% full already.
The apps were Bounce, rootsh, qik, recorder, tuner, AdBlock plus, VNC viewer, Documents to Go and the countdown widget.
After having installed another 14 apps (including a handful from testing this time), I'm now at 78% full. So my entirely unscientific observation leads me to think that the fill up rate is pretty constant and that, in practice, it'd be very quick and easy to fill up the device. I don't really have the time to prove this right and find the culprit at the moment though ;)
marauder
2009-12-03, 16:51
I just happened to read this interesting thread, so I've tried the df command (which I didn't know about) on my N900 to check the free space. So, just to let you know...
rootfs 233344 183088 45972 80%
ubi0:rootfs 233344 183088 45972 80%
I only installed apps listed on the maemo5 download section in maemo.org, with the exception of fennec.
Installed apps are:
aMSN
Bounce Evolution
Conversations Inbox Desktop Widget
Facebook Installer / Facebook Widget & Photo Uploader (disabled)
OMWeather (with 2 extra icon sets)
Password Safe
rootsh
vim
vncviewer
zoutube
fennec
archebyte
2009-12-03, 17:16
I've got no space left on device, causing all manner of issues:
Nokia-N900-42-11:~# df -h
Filesystem Size Used Available Use% Mounted on
rootfs 227.4M 225.9M 0 100% /
ubi0:rootfs 227.4M 225.9M 0 100% /
tmpfs 1.0M 224.0k 800.0k 22% /tmp
tmpfs 256.0k 76.0k 180.0k 30% /var/run
none 10.0M 80.0k 9.9M 1% /dev
tmpfs 64.0M 4.0k 64.0M 0% /dev/shm
/dev/mmcblk0p2 2.0G 116.3M 1.8G 6% /home
/dev/mmcblk0p1 27.0G 1.7G 25.3G 6% /home/user/MyDocs
/dev/mmcblk1p1 14.8G 10.2G 4.7G 69% /media/mmc1
I just got the phone today. I installed a good chunk of apps on it, but I don't think I was excessive. Also, installing apps shouldn't use up the 227M of root I have, surely. Can someone explain if I've done something wrong? I have to uninstall some things because no free space == shudder.
Anyway, I searched the forums and google, and didn't find any topic like this for the n900. Thanks in advance,
-Josh
This was a bug (https://bugs.maemo.org/show_bug.cgi?id=5450) that was recently fixed.
archebyte
2009-12-03, 17:24
if this happens i havent really been able to find a fix.
if someone screws up with the install of apps from extra-devel how do you clear them out?????? some dont let you uninstall and if you do it seems like the space is still taken up.
what do i type in terminal to see whats in there.
sudo gainroot
apt-get remove [package name]
To get a list of every package installed, type:
dpkg -l
To search for a package name by pattern, let say bounce
Nokia-N900-42-11:~# dpkg -l bou*
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Cfg-files/Unpacked/Failed-cfg/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Hold/Reinst-required/X=both-problems (Status,Err: uppercase=bad)
||/ Name Version Description
+++-================================================== =========================-================================================== =========================================
ii bounce 1.0.0 Playable 3D technology demo for N900
to uninstall
apt-get remove bounce
You can now go on and remove application packages to free up space.
NOTE: Exercise CAUTION when working with root access.
are you saying if we use application manager to remove bounce it doesn't clean up all the bounce library to free up the space?
are you saying if we use application manager to remove bounce it doesn't clean up all the bounce library to free up the space?
No he isn't
archebyte
2009-12-03, 17:31
After having installed another 14 apps (including a handful from testing this time), I'm now at 78% full. So my entirely unscientific observation leads me to think that the fill up rate is pretty constant and that, in practice, it'd be very quick and easy to fill up the device. I don't really have the time to prove this right and find the culprit at the moment though ;)
Again, this is due to a bug (https://bugs.maemo.org/show_bug.cgi?id=5450) that has been addressed. If you reboot, you should see more space. I have close to 25 apps and my disk is stil at 79%.
Or that apt stores the full debs inside /var/cache/apt/archives/ and only periodically is that cleaned. This resides on / so users installing lots of apps will regardless of package being optified, find they will kill free space quickly.
Wonder if its possible to symlink the /var/cache/apt dir to /home/opt.
Not 100% sure what the ramifications would be.
the symlinking works, why wouldn't it.... .)
(previous text here was already discussed here, as I found by search :) )
Wonder if its possible to symlink the /var/cache/apt dir to /home/opt.
Not 100% sure what the ramifications would be.
I've done something pretty much like this just now, and found this thread as a place to put my report..
In fact I went a little further, after investigating where space on my rootfs was being used, I created a /home/reclaim directory and started shunting over some of the bigger items from rootfs and symlinking back. I did this over an ssh connection from where the typing is a bit easier ;)
Here's the result, shown as a couple of du commands. All the dirs like /home/reclaim/blah/blah/blah are symlinked to from the original location. Everything else under /usr/ and /var/ is untouched..
# du -s /home/reclaim/
73116 /home/reclaim
# du -s /home/reclaim/*/*/*
8 /home/reclaim/usr/local/bin
4 /home/reclaim/usr/local/games
4 /home/reclaim/usr/local/include
12 /home/reclaim/usr/local/lib
0 /home/reclaim/usr/local/man
4 /home/reclaim/usr/local/sbin
8 /home/reclaim/usr/local/share
4 /home/reclaim/usr/local/src
27088 /home/reclaim/usr/share/icons
2180 /home/reclaim/usr/share/mc
12204 /home/reclaim/usr/share/nokia-maps
2120 /home/reclaim/var/cache/apt
3060 /home/reclaim/var/lib/apt
26392 /home/reclaim/var/lib/dpkg
(/usr/local is not used right now and just there as a placeholder.)
As you can see from the first du command, I've reclaimed around 70M of rootfs in this way.
To test this setup I've rebooted, and checked that I can install an application via the app manager, and that's all. If I find any problems (I'm not really expecting to, but ... ;) ) I'll report back in this thread.
I still have:
# du -s /usr/share
70108 /usr/share
which seems like it might be a waste! I'm tempted to try moving the entirety of it over to /home, but I'll stop where I am for now. Information about the viability or otherwise of this is very welcome :)
bguzmanz2
2009-12-16, 07:43
hello,
i got my n900 over two weeks ago and i love it. thing is i too have gotten the no more memory error and recently i flashed the EMMC and firmware to get a "new" device again. thing i want to know is this, any other phone i've used,(5800, iphone,) had a set amount of memory. with the 5800 i could add memory card and use almost all of it for apps and whatever else i wanted. with the iphone if it's a 16gb i had 14gb for anything including apps music videos whatever. what i want to know is if the n900 has 32gb (actually 28gb) then why can't we use 28gb for apps music videos etc.
probably stupid question but i dont understand how a great device can be having these issues with all that "free memory" available. instead they should pitch it as "n900 less than 230mb for apps, all other memory for music and videos." sorry for venting but i love this device and our love keeps growing but this feels like a prehistoric issue.
hi @all
i agree with buguzmanz2 this Problem seems old like back in the Days when i tried to optimize DOS Boot Disks up too 610kb. But however if you take a first look for the n900 in the internet like 99 Percent of the Users do they see a bunch of damn pretty videos with canola2, gaim, and also the amazing emulators with wii control etc.
if they buy the n900 then they surely want to use the apps that they have seen in the videos before. Then they come to this Forum after they figured out ahh extra devel or reading about the red pill in the several Blogs.
You cant tell them hey dont use this Apps, couse all Reviews and Test Videos are showing them up. Iam sure there must be a solution for this Problem. And i hope we can find it soon.
best regards Crown77
kwotski, thanks for your report!
Just have my device for two weeks and installed only a few apps. Anyway, my rootfs ist at 98%.
Someone tried to link the whole /usr/share to /home?
kwotski, thanks for your report!
Just have my device for two weeks and installed only a few apps. Anyway, my rootfs ist at 98%.
Someone tried to link the whole /usr/share to /home?
Haven't done that yet - worried about the locale bit, for one. :) Maybe that's over-cautious, but I really don't want to be forced into flashing at this point and haven't fully investigated the startup yet.
No trouble with the existing setup (as described) as yet though.
I moved /var/lib/dpkg to /home/_var_lib_dpkg and linked it back. Now if the root gets full, I can still use the graphical tools. I have been thinking of moving the whole root on sd-card and try boot from it. Then I could scrub the memory on the device and leave it for testing. I had similar setup with N800 and it was helpful - no space problems what so ever. I haven't had time to try it yet.. but maybe soon..
Haven't done that yet - worried about the locale bit, for one. :) Maybe that's over-cautious, but I really don't want to be forced into flashing at this point and haven't fully investigated the startup yet.
No trouble with the existing setup (as described) as yet though.
well, just tried to move & link the whole /usr --> no good idea, device didn't start anymore - had to reflash.
now i just moved and re-linked the dir's as kwotski stated above and it works without any problems (also didn't recognize any mentionable performance issues)
Edit:
additionally i just moved/linked successfully (no problems, even after reboot):
-) /usr/lib/browser
-) /usr/lib/microb-engine
-) /usr/share/microb-engine
/Edit
bald.eagle.one
2009-12-20, 16:50
after installing some apps i got error not enough memory in target location and couldn't install anything
so rebooted
after that app manager stopped showing any apps installed
here's log:
hildon-application manager 2.2.35-3
write:broken pipe
write:broken pipe
apt-worker exited
apt-worker: can't truncate lock /var/lib/hildon-application-manager/apt-worker-lock: no space left on device
and cannot uninstall anything
i understand that somehow app manager installed the apps on root and filled it up - guessing only (i'm a windows user)
tried deleting folders and files but nothing works
downloading flash file..
any help greatly appreciated
bald.eagle.one
2009-12-20, 17:09
yes i've installed some apps from dev repository
not sure which one did it but
in terminal i did:
sudo gainroot
it shows ?:~#
then i did apt-get remove appinstaller 1.1 (my suspect :) )
and it gave me
dpkg was interrupted, you must manually run 'dpkg --configure -a' to correct the problem
so i did: 'unable to open/create status database lockfile: No space left on device'
is the serpent eating it's own tail?
still hoping to solve it before flashing
edit:
so i've found this (https://bugs.maemo.org/show_bug.cgi?id=5450)
but running sudo ./flasher-3.5 --enable-rd-mode
tried as root aswell - no message,nothing
rebooted just in case
didn't do anything
i'm too stupid with linux :/
edit2:
now tried restore factory defaults - it shows apps installed but cannot uninstal anything - even (i know i know don't slack me pls) in red pill mode
when i try uninstall anything log says apt-worker not handling unrelated package
and there are few:
pidgin-facebookchat.
hermes.
crazycat.
gonvert.
uqm.
Instead of symlinking for apt you can:
apt-get update -o dir::cache=/home/user/MyDocs/.apt-archive-cache
apt-get install -o dir::cache=/home/user/MyDocs/.apt-archive-cache foo
-Jeff
http://wiki.maemo.org/User:Jebba
Moved my /var/lib/dpkg and symlinked back like VRe did without any problems.
strange:
before moving i had 8.0M space left on device
after moving the 25.5M folder i have 12.5M space left on rootfs.
strange:
before moving i had 8.0M space left on device
after moving the 25.5M folder i have 12.5M space left on rootfs.
Sounds like that would be due to the compressed filesystem on rootfs?
Edit: See: http://talk.maemo.org/showthread.php?p=434974#post434974
Holographic91
2010-01-31, 15:29
Hello
a few days ago I have installed 3 small applications from ovi store: banderol, coin toss and tunewiki, the root memory went from 31,7 / 32.1 mb to 28.6 mb. Does this mean that all aplications still use a little bit of root memory? I now only have 28.6 and with future updates and applications this is very low, I have installed many applications but none extras-devel. And i have done some root cleaning.
Thanks
It's most likely a shared library they're using. If new updates are going to require more root space, there's going to have to be something done about the shared libraries first (particularly Qt).
I'm having the same problem as what has been detailed earlier; my phone is full.
Admittedly I have installed some programs from -devel, but now I can't uninstall them from application manager. Not only that, but the application manager often says I have no application catalogues!
I tried to uninstall direct from xterminal (using the instructions detailed earlier in this thread) but couldn't do it that way as I'm not root. I can't make myself root as I don't have the necessary programs installed on my phone and I'm using Windows 7 on my PC.
Does anyone have any idea how I can remove some/all of the applications I have downloaded, so that I can use my phone again?
You can probably use R&D mode (http://wiki.maemo.org/R&D_mode) to gain root, then uninstall the apps from the command line.
I managed to get my phone into R&D mode, but I still can't uninstall any apps. I keep getting told there isn't enough space to do it.
I tried running apt-get remove madbomber and was told "dpkg was interrupted, you must manually run 'dpkg --configure -a' to correct the problem.
I try running dpkg --configure -a and am told, "unable to open/create status database lockfile: No space left on device"
If I have to flash my phone, which I'm prepared to do if it means solving this, can someone give me a step by step walkthrough, please!
I haven't understand onde thing.
If rootsf is another separate memory how do I access it to see what files and programs are using that memory? I've tried to uninstall some programs but I don't know which ones are using that space.
Also I would like to state my disapointment to know that a have a phone with 32GB of space and can't install more than 20 programs or such...
Are the sms stored in this memory, as long as emails and some programs? Didn't nokia or maemo figure this problem out? If I'm an email user and receive videos and such, the memory is sure to drain alot! It should be stored on the bigger storage... or have an option like other nokia devices have to choose the memory... at least this is what my common sense tells me...
Is there a solution for this problem yet?
I managed to get my phone into R&D mode, but I still can't uninstall any apps. I keep getting told there isn't enough space to do it.
I tried running apt-get remove madbomber and was told "dpkg was interrupted, you must manually run 'dpkg --configure -a' to correct the problem.
I try running dpkg --configure -a and am told, "unable to open/create status database lockfile: No space left on device"
If I have to flash my phone, which I'm prepared to do if it means solving this, can someone give me a step by step walkthrough, please!
You can try (as root) "rm /var/lib/apt/lists/*" to remove the repository metadata. That may give you enough free space to uninstall the apps.
Otherwise, see http://wiki.maemo.org/Updating_the_tablet_firmware for full flashing instructions.
I haven't understand onde thing.
If rootsf is another separate memory how do I access it to see what files and programs are using that memory? I've tried to uninstall some programs but I don't know which ones are using that space.
You can use the "Storage Usage" app to highlight which installed apps take up root space. You can check on the available rootfs space by running (in X Terminal): "df -h /"
Also I would like to state my disapointment to know that a have a phone with 32GB of space and can't install more than 20 programs or such...
As long as you avoid the extras-devel and (to a lesser extent) extras-testing, you should have no issues installing more than 20 programs - I currently have about 70 installed. Any app in the Ovi store, or the maemo.org repository, should be "optified" - this means that most (if not all) of the data is installed under /opt (which is on the 32GB eMMC, not on the 256MB rootfs).
Are the sms stored in this memory, as long as emails and some programs? Didn't nokia or maemo figure this problem out? If I'm an email user and receive videos and such, the memory is sure to drain alot! It should be stored on the bigger storage... or have an option like other nokia devices have to choose the memory... at least this is what my common sense tells me...
All user data should be stored within the /home directory, including e-mails, SMS, etc. This is on a 2GB partition..
why the need to have all this partitions? limiting everything... wouldn't be wiser to just have 2 partitions? one for rootfs and other for all other storage?
I just think that linux screwed this up. I have 4 email accounts on my n900, i'm being carefull to delete everything thats completly unecessary.. when I shouldn't be concerned of the space.
is there any way to resize these partitions? or even join them? (which in my opinion is the best way..)
why the need to have all this partitions? limiting everything... wouldn't be wiser to just have 2 partitions? one for rootfs and other for all other storage?
I just think that linux screwed this up. I have 4 email accounts on my n900, i'm being carefull to delete everything thats completly unecessary.. when I shouldn't be concerned of the space.
is there any way to resize these partitions? or even join them? (which in my opinion is the best way..)
The rootfs is separate because it's a high-speed flash memory chip connected directly to the processor. It's only 256M because that was the largest that was available at the time.
We then have two partitions on the eMMC, /home (/opt is a symlink to /home/opt) and /home/user/MyDocs. These are separate because the MyDocs partition needs to be formatted as VFAT in order for it to be exportable to Windows, whereas the home directory needs to be ext2/3 in order for standard Linux applications to work and for permissions to apply.
You can resize the /home partition (at the expense of MyDocs) - have a search for instructions. It's not a simple process though, and any changes will be lost if you have to reflash the eMMC (this shouldn't be necessary though).
I turned of devel and extra testeng and got the rootfs at 85%.
Rob1n, I've installed storage usage app but I still don't know how to see which apps are on rootfs.. :/
Does anyone know much space rootfs is used in a brand new n900?
if I recalled, mine showed about 65% used after firmware reflash
ossipena
2010-02-04, 05:54
Rob1n, I've installed storage usage app but I still don't know how to see which apps are on rootfs.. :/
just look at the output of df before and after installation and you'll see how much each app takes space from rootfs.
Rob1n, I've installed storage usage app but I still don't know how to see which apps are on rootfs.. :/
Run storage usage and tap on the title bar. From the popup menu, select "Scan Packages". After it's completed scanning, each application will have a small bar behind it - a green bar indicates optified, whereas a brown/red bar indicates that it uses rootfs space.
casinho23
2010-02-04, 14:08
hi please help, i canīt anything my rootfs is complete FULL ! :( :(
i check with df-mh
after du -smh *
i saw that /usr is the directorie with most used space on rootfs (338mb but rootfs has only comlpete 227?)
what can i do?
Run storage usage and tap on the title bar. From the popup menu, select "Scan Packages". After it's completed scanning, each application will have a small bar behind it - a green bar indicates optified, whereas a brown/red bar indicates that it uses rootfs space.
I believe that Storage Usage incorrectly marks some optified packages as non optified. For example python2 and openttd. You can check this by trying to go to the path shown in Storage Usage with X Terminal. If it changed to /home/opt/something, then you know that it is optified.
hi please help, i canīt anything my rootfs is complete FULL ! :( :(
i check with df-mh
after du -smh *
i saw that /usr is the directorie with most used space on rootfs (338mb but rootfs has only comlpete 227?)
what can i do?
rootfs is a compressed file system, so that's probably why you're seeing more space used than there is available.
If you can get into App manager, then disable all the repositories - that'll free up a chunk of space. Otherwise, if you have rootsh installed, you can run (in X Terminal):
sudo gainroot
rm /var/lib/apt/lists/*.*
After that you'll need to uninstall any non-optified packages you've installed from extras-devel or extras-testing. Storage Usage can help you find these - if you've got it installed. If not, you can try using the perl scripts I posted here (http://talk.maemo.org/showpost.php?p=500101&postcount=7) (or any of those others have posted).
I believe that Storage Usage incorrectly marks some optified packages as non optified. For example python2 and openttd. You can check this by trying to go to the path shown in Storage Usage with X Terminal. If it changed to /home/opt/something, then you know that it is optified.
I'd guess it flags any package which uses more than X amount of rootfs (python2 has the main python library on rootfs, taking up over a meg), for some value of X. It's not entirely correct though, as it flags the other python libraries as well, but they're actually bind mounted from within /opt.
I'd guess it flags any package which uses more than X amount of rootfs (python2 has the main python library on rootfs, taking up over a meg), for some value of X. It's not entirely correct though, as it flags the other python libraries as well, but they're actually bind mounted from within /opt.
What about OpenTTD then? I think it should be now fully optified, yet according to Storage Usage it is not. Looking at the latest two comments here (http://maemo.org/downloads/product/Maemo5/storageusage/), it seems that it's a known issue.
I hope it will be fixed soon as this is rather useful app. :)
I'd guess it flags any package which uses more than X amount of rootfs (python2 has the main python library on rootfs, taking up over a meg), for some value of X. It's not entirely correct though, as it flags the other python libraries as well, but they're actually bind mounted from within /opt.
No, it doesn't. Python installs into /usr but uses bind mounts to actually expose /opt/pymaemo into the rootfs (rather than symlinks).
Any piece of software which claims to show whether a package is optified needs to be aware of pymaemo-optify and what it does.
No, it doesn't. Python installs into /usr but uses bind mounts to actually expose /opt/pymaemo into the rootfs (rather than symlinks).
Any piece of software which claims to show whether a package is optified needs to be aware of pymaemo-optify and what it does.
That's what I said, isn't it?
This happens most probably because you are installing applications from extras-devel that haven't gone through the process of using the internal memory card to install files.
If you stick to Nokia and Extras repositories then you will get software that has gone through a QA check testing (among other things) that the files installed take as little as possible from the root partition.
I believe we need a explanatory wiki page somewhere to point users in the same situation because the questions is coming quite often. Please don't install software from extras-devel unless you know what you are doing.
See the technical explanation at http://wiki.maemo.org/Documentation/Maemo_5_Developer_Guide/Packaging%2C_Deploying_and_Distributing/Installing_under_opt_and_MyDocs
PS: can you please share the thicker apps you had installed to see where we should put our attention first? Feel free filing bugs asking them to use /opt and MyDocs as much as possible as explained in the link above.
If this would be true I'd be happy, however it seems not to entirely be. If I look e.g. at the installed themse hildon-theme-alpha and hildon-theme-beta I can't see much optifications. 14mb in /usr/share is quite a lot considering the overall root size.
For testing I currently moved /usr/share to /home/opt and linked it back to /usr, this way i can test more applications without running out of space in /. Not sure if this is the best approach to work around the limited space.
Does a debian package provide not only the file list but also sizes of the files inside by any chance? then a check would be possible before actually installing a package that tells the user if it might fill up /. something like
"This package will use
12mb in opt partition
34kb in root partition"
That would be way more helpful than just to know the overall required disk space.
Holographic91
2010-02-05, 15:16
Is root the same as the 256 ram?
Does the phone need root memory to let the phone work properly? I only have 27 mb's of root and have the feeling that it getting slower.
All the things I've read so far are things how to move apps that use root, and things about optified apps. These are all still temporary solutions. Are there going to be solutions (soon) so that we can install hundred of apps? What I've said in my previous post: apps from OVI store still use root memory! I don't say mb's but still it is to much to install many apps. One reason that ive's bought this phone is because of apps. iPhone, Android etc doesn't have this problem, you can install hundred of apps on them (but i don't like the phones).
People can't fix this problem. Maybe the N900 itself is wrong developed?
Sorry for the negativity, Don't get me wrong. It's nice to see that people care about Maemo and development. We all have much benefit from people who develop and spent time on Maemo, it just isn't relaxing knowing your root is getting smaller and smaller. I still want to install apps over a few months/years.
Thank you!
Is root the same as the 256 ram?
Does the phone need root memory to let the phone work properly? I only have 27 mb's of root and have the feeling that it getting slower.
No, the rootfs isn't the same as the RAM. The root space is needed (during normal usage) for some temporary files, application state files, etc. - nothing huge. There shouldn't be any performance impacts with 27M free rootfs - if you get below 10 then you probably need to start taking a serious look at things though.
All the things I've read so far are things how to move apps that use root, and things about optified apps. These are all still temporary solutions. Are there going to be solutions (soon) so that we can install hundred of apps? What I've said in my previous post: apps from OVI store still use root memory! I don't say mb's but still it is to much to install many apps. One reason that ive's bought this phone is because of apps. iPhone, Android etc doesn't have this problem, you can install hundred of apps on them (but i don't like the phones).
Why is optifying only a temporary solution? If apps (and libraries) are optified then there's nothing stopping you installing hundreds of apps. As far as the OVI apps go, all the ones I've looked at have been optified - the runtime libraries they depend upon aren't though, so this may be what you're seeing.
People can't fix this problem. Maybe the N900 itself is wrong developed?
It'd certainly be nice having more rootfs space, yes. Unfortunately that was a hardware limitation at design time. I'm sure future updates will continue to make efforts to push libraries out of rootfs (python has already been done and Qt4.6 is optified), freeing up more space.
Sorry for the negativity, Don't get me wrong. It's nice to see that people care about Maemo and development. We all have much benefit from people who develop and spent time on Maemo, it just isn't relaxing knowing your root is getting smaller and smaller. I still want to install apps over a few months/years.
If you stick to apps that have passed the testing criteria (and yes, some of the current OVI store apps wouldn't do - hopefully Nokia will bring their testing standards closer to those of the community), then the rootfs usage will be minimal.
"Why is optifying only a temporary solution? If apps (and libraries) are optified then there's nothing stopping you installing hundreds of apps."
Ok, since optifying is such a great solution it won't be an issue anymore starting when? Tomorrow? Next week?
Where do I get the hundreds of apps to install when I should "stick to apps that have passed the testing criteria"?
fatalsaint
2010-02-05, 16:22
"Why is optifying only a temporary solution? If apps (and libraries) are optified then there's nothing stopping you installing hundreds of apps."
Ok, since optifying is such a great solution it won't be an issue anymore starting when? Tomorrow? Next week?
Where do I get the hundreds of apps to install when I should "stick to apps that have passed the testing criteria"?
The optifying is a new implementation to Maemo 5 and not common to almost any other (especially mainstream) distribution.
It's been 3(?) months.. people are still porting all the software from the beloved N7/8x0 and other linux distributions over. These all need to be "optified"..
Over time there will most certainly be hundreds if not more optified apps in the main Extras. Plus I *believe* they were working on a way to implement optifying directly in auto-builder.. so every package that gets uploaded will be optified...
Oh Looks like ('http://wiki.maemo.org/Documentation/Maemo_5_Developer_Guide/Packaging,_Deploying_and_Distributing/Installing_under_opt_and_MyDocs') it already does if you add maemo-optify to the appropriate area for a deb package.
The thing about Open Source, (and just the sheer simplicity of), development of software like this community is that getting anyone to follow any kind of 100% standard is really quite difficult.
That's what I said, isn't it?
Sorry, you said both:
(python2 has the main python library on rootfs, taking up over a meg),
it flags the other python libraries as well, but they're actually bind mounted from within /opt.
I was under the impression the first was wrong, however it appears that /libpython2.5.so.1.0 is indeed on the rootfs.
slewis1972
2010-02-07, 08:20
Hi
I am going to move apt to home directory and I understand by running:
apt-get update -o dir::cache=/home/user/MyDocs/.apt-archive-cache
apt-get install -o dir::cache=/home/user/MyDocs/.apt-archive-cache foo
Will do this. Question though, do I have to remove anything afterwards or does it auto clean the old directories?
Scott
Hi All,
Thanks for all your points and input. With your help I also did some moving of file and linked it to /home. Now I have more than 100 MB free.
What all I have moved.
lord_phoenix
2010-02-09, 05:39
2 fesar
Impressive. Is there any performance impact?
ossipena
2010-02-09, 06:15
Where do I get the hundreds of apps to install when I should "stick to apps that have passed the testing criteria"?
http://maemo.org/downloads/Maemo5/
Downloads for Maemo5 ( 156 )
Hi all,
So far no impact except themes. Because when you reboot your N900 it goes back to the default theme. Which was not a big concern to me. Otherwise its very good.
Fesar
I myself add a ton of dev apps and have hit the wall on space, to aleviate the issue I move things from the root directory to my home directory and symlink them. I typically move the apt cache directory, webkit libs and mozilla plugins.
here are some helpfull commands
find files over 5,000 KB | exclude the home directory | print the files and their size
find / -type f -size +5000 | grep -v /home/ | xargs ls -lh
and then you can move and symlink what you found
for noobs to symlink
ln -s /full/path/to/destination/ /location/of/link/name
I hope this helps some people if anyone else has suggestions share as well I have reflashed the phone 3 time because of dev app problems and it is bothersome to redo this everytime.
hey
i was a total nub with all this, only had the phone 4 days and i managed to reduce my rootfs mem down to ZERO.
i couldnt uninstall any apps using app manager as there was "no free memory on deivce".
so i hunted around for some simple fixes. Probably made the problem worse in the long run but thats my fault for downloading apps and not really thinking about the consiquences.
anywho... i found this helped reduce my rootfs usage down by 14mb
root
rm /var/lib/apt/lists/*
that moved some "stuff"
app manager still wouldnt work mind, so i googled around again and found this fix for my next problem.
root
mkdir -p/var/lib/apt/lists/partial
now i was on a roll and thought i had became a linux pro. i then set about uninstalling all apps using app manager. which was now running like a dream....
however... my rootfs usage hasnt reduced down after uninstalling all my apps. i am running on just what came with the phone +rootsh
currently got 12.97mb left of free space on the sneaky russian.
was wondering if anyone can help with why?
reading forums i came to my own conclusion that there will still be a lot of file directorys in the /opt from the unoffical apps ive downloaded that may have not been removed correctly using uninstall
i do know how to remove directorys etc as i had problem with removing the custom levels from AngryBirds
root
rm /home/opt/rovio/angrybirds/data/levels/pack2/*
this did the trick. i then went about removing the rovio folder using rmdir
could i use this method to delete some of the folders and files left from apps? or should i just reflash the mofo and start from scatch?
thanks for reading. ive learnt a lot about this phone in the last day. was on it all day at work tring to free up some rootfs and this finally worked with about 4% battery left. im now charging it ready for my next assult.
thanks,
stefan
could i use this method to delete some of the folders and files left from apps? or should i just reflash the mofo and start from scatch?
If you've uninstalled all the apps then you shouldn't have rootfs space problems. I'd suggest running:
root
apt-get clean
apt-get autoremove
If that doesn't help then you're probably best reflashing the firmware and making a clean start of it.
cheers for uber quick reply. nah no help, the commands function. just no improvement on the 12mb i got left.... will keep using the phone untill it bricks. i can install apps no problem now and i wont be downloading anything which aint a finished product.....
unless i get tempted.... :) thanks again...
had a problem with flashing anway....
ran it in windows xp sp3
ran command for flasher.exe
just came up with firmware name with a percentage sign and the letter m next to it.... anyway. will pick someones brain about that when it is really needed
Hi there,
I have a similar problem to others. I was using extras-devel when I shouldn't be, in order to get the functionality out of the N900.
I have the device memory full message and can't uninstall anything as the application manager says no applications installed. I also can't send SMS as it says no memory available.
I moved files onto a memory card but no joy.
I have root access but apt get remove didn't work as I got the 'dpkg was interrupted' and when I run 'dpkg --configure -a' it says no space left on device.
I don't know enough to try symlinking and the links for flashing seem to be down at present.
Any suggestions please?
I love the device but am probably asking too much of it as I'm a noob to Maemo.
Btw, I'm never installing from Extras-devel again:)
Solved!
Decided to reinstall using NSU. It kept everything except the applications.
I am not adding any applications!
Bratac.
mod1fied
2010-03-16, 08:42
Hi all,
So far no impact except themes. Because when you reboot your N900 it goes back to the default theme. Which was not a big concern to me. Otherwise its very good.
Fesar
Does anyone know a fix for this? I have close to 100MB free on rootfs but would like to move themes back - not quite sure what to do?
Think i fixed it myself,
1) rm /usr/share/themes
2) cp -r /home/usr/share/themes /usr/share/themes
3) job done.
just download the themes again??
mod1fied
2010-03-16, 16:06
just download the themes again??
I did that, power off / reboot of the phone causes it to reset back to the default theme.
Solved!
Decided to reinstall using NSU. It kept everything except the applications..
Bratac, does this mean that you decided to reinstall the phone software instead of fiddling with moving the files around in order to make space on the root partition? My phone is starting to get really slow and useless because of the lack of memory and its starting to drive me crazy. I would rather do a quick fix, even if it means that it whipes out most applications that i installed.
Thanks!
Guys, quick tip:
remove your sim card and open your phone in offline mode!
For some reason, my phone is back to some sort of life. I was able to uninstall an app right now and was able to finally disable the repos!
Will keep you posted as the night proceeds!
Hi All
I have problem with my Mobile actually Rootfs is full i am unable to send are recv masges and i am warrid
also i dont know how to use X Terminal any one please help me how i can make the space in root directory
showing the masge
no enough space root directory
please help i have problem last 15 days
Thanks
---------------------------
any one tell me how to go in X Terminal
# level
when i am going to do some thing dined permission
SAD--------------
any one tell me how to go in X Terminal
# level
when i am going to do some thing dined permission
SAD--------------
You need rootsh installed to do that, then either "root" or "sudo gainroot". If you're out of rootfs space, can't run app manager, and don't have rootsh installed, then reflashing is probably your only option I'm afraid.
Niggydip
2010-03-26, 10:19
You need rootsh installed to do that, then either "root" or "sudo gainroot". If you're out of rootfs space, can't run app manager, and don't have rootsh installed, then reflashing is probably your only option I'm afraid.
Okay, well in my case I got rootsh installed...using Healthcheck app it says I'v got 31.4MB left on roofs but still cant install d 16MB update or anything else for that matter,neither can I uninstall any app whatsoever! I spent d whole of ystdy reading thru all 223 posts on this thread and now I'm more confused than I initially was. I wld love to get rid of all d apps I got from extra devel via xterm as my App manager has been rendered totally useless, hoping that wld solve d problem...having disabled extra-devel repository,closed App manager these are d steps I'v taken with d results I got:
"rm /var/lib/apt/lists/*" to remove the repository metadata to give me enough free space to uninstall and I got rm : /var/lib/apt/lists/partial is a directory
apt-get remove qtirecco (since I suspect qtirreco is a culprit)
result
E: could not open lock file var/cache/apt/archives/lock - open (2 no such file or directory
E: Unable to lock the download directory
a little detailed help please for this noob please...I dont wanna flash my device as I fear I might just take a wrong turn and mess d device all up...just like I did to my iphone...please help!
Okay, well in my case I got rootsh installed...using Healthcheck app it says I'v got 31.4MB left on roofs but still cant install d 16MB update or anything else for that matter,neither can I uninstall any app whatsoever! I spent d whole of ystdy reading thru all 223 posts on this thread and now I'm more confused than I initially was. I wld love to get rid of all d apps I got from extra devel via xterm as my App manager has been rendered totally useless, hoping that wld solve d problem...having disabled extra-devel repository,closed App manager these are d steps I'v taken with d results I got:
"rm /var/lib/apt/lists/*" to remove the repository metadata to give me enough free space to uninstall and I got rm : /var/lib/apt/lists/partial is a directory
apt-get remove qtirecco (since I suspect qtirreco is a culprit)
result
E: could not open lock file var/cache/apt/archives/lock - open (2 no such file or directory
E: Unable to lock the download directory
a little detailed help please for this noob please...I dont wanna flash my device as I fear I might just take a wrong turn and mess d device all up...just like I did to my iphone...please help!
In that case, you probably want to look at this thread (http://talk.maemo.org/showthread.php?p=582964)
Niggydip
2010-03-26, 11:56
...no luck still...guess I'm just screwed!
...no luck still...guess I'm just screwed!
Ah - just checked and that was actually about a different directory. The principal's the same though, and the following should work (in X Terminal):
sudo gainroot
mkdir -p /var/cache/apt/archives
chmod 755 /var/cache/apt/archives
Niggydip
2010-03-26, 16:10
yea, I ran d code and nothing happened...on running apt get clean I still get d following results:
E: could not open lock file var/cache/apt/archives/lock - open (2 no such file or directory
E: Unable to lock the download directory
App Manager just shows (no applications), (no updates available ) and on checking d log, I see Archive Directory/var/cache/apt/archves/partial is missing. Is this missing directory connected to my problems arising from d full rootfs(now 38.5MB free from 31.4 earlier stated)? I just keep wandering how the missing directory varnished in the first place
yea, I ran d code and nothing happened...on running apt get clean I still get d following results:
E: could not open lock file var/cache/apt/archives/lock - open (2 no such file or directory
E: Unable to lock the download directory
App Manager just shows (no applications), (no updates available ) and on checking d log, I see Archive Directory/var/cache/apt/archves/partial is missing, just like it says in xterm whenever I run apt-get clean...is the missing directory connected to my problems arising from d full rootfs(now 38.5MB free from 31.4 earlier stated)? I just keep wandering how the missing directory varnished in the first place
You'll need to create the partial directory as well:
sudo gainroot
mkdir -p /var/cache/apt/archives/partial
chmod 755 /var/cache/apt/archives/partial
Niggydip
2010-03-27, 16:26
Rob1n, thanx for the help...my application manager's back to life...now all I gotta worry abt is freeing up space on my rootfs so as to allow me update...but then, some things baffles me though so I got a few questions to ask if u dnt mind...are d updates installed on d rootfs or on d 2GB partition? how do I confirm if an app is optified after installation? what is python? how do I know d contents of d rootfs?
.are d updates installed on d rootfs or on d 2GB partition?
rootfs
.
how do I confirm if an app is optified after installation?
You check rootfs space before and after. If it used too much space (more than 1mb), chances are, it's not optified well.
.
what is python?
Programming language used to make many programs. Python Package needs to be on the N900 for applications written in Python to work
.
how do I know d contents of d rootfs?
Following are useful applications for this:
http://maemo.org/downloads/product/Maemo5/packageview/
http://maemo.org/downloads/product/Maemo5/storageusage/
john kelly
2010-04-25, 12:20
[QUOTE=Rob1n;547996]If you've uninstalled all the apps then you shouldn't have rootfs space problems. I'd suggest running:
root
apt-get clean
apt-get autoremove
Mine went into a software update and planted a load of stuff onto it and couldn't complete the rest, i uninstalled what i could, but i'm still down to 19megs free. Python is zapping 54% of it going by xterminal and conky, i'v tried optimising python but get python up to date message in xterm.
Is there anything left for me to do? prior to this I'v already reflashed it 3 times (once following a nokia repair where they flashed my sim free phone with a network simlock!)
john
find / -type f -size +5000 | grep -v /home/ | xargs ls -lh
That command really hurt.
Please don't just hack together commands when you don't understand them.
First, +5000 means 5000 512bytes-blocks, and not kb. Second, the grep -v /home really, really hurt. Use -xdev for staying on one partition. Also, the xargs does not work as soon as the files have special characters. Last but not least, use logical operators when using several options ("-a").
A much better command is:
/usr/bin/gnu/find / -xdev -type f -a -size +5M -exec ls -lh {} \;
oralalikaroaku
2010-05-01, 18:56
You can du -s /usr/share/* | sort -n
(and /usr/lib/*) to see what is taking up space on your root fs.[/QUOTE]
Sorry this could be a stupid question, but I am newbie and not an IT geeks just to understand and learn things from expert. When in the keyboard N900 to find | ?
viraptor
2010-05-01, 19:24
Blue arrow + ctrl/sym and choose the "|" symbol.
[QUOTE=Rob1n;547996]If you've uninstalled all the apps then you shouldn't have rootfs space problems. I'd suggest running:
root
apt-get clean
apt-get autoremove
Mine went into a software update and planted a load of stuff onto it and couldn't complete the rest, i uninstalled what i could, but i'm still down to 19megs free. Python is zapping 54% of it going by xterminal and conky, i'v tried optimising python but get python up to date message in xterm.
Is there anything left for me to do? prior to this I'v already reflashed it 3 times (once following a nokia repair where they flashed my sim free phone with a network simlock!)
john
Hey guys! Please help me!
I run this command:
root
apt-get clean
apt-get autoremove
I turned off my phone, and when i wanted to turn on, he's not boot.
Please help me urgently! :( :( I'm still very very amateur...
(PS: I'm sorry for knowledge of English, I am a Hungarian, and i use Google Translate )
Does anyone know a fix for this? I have close to 100MB free on rootfs but would like to move themes back - not quite sure what to do?
Think i fixed it myself,
1) rm /usr/share/themes
2) cp -r /home/usr/share/themes /usr/share/themes
3) job done.
Hello guys,
I tried the ins traction above.
1. i removed /usr/share/themes folder
2. And i tried cp -r /home/usr/share/themes /usr/share/themes
but not found following /home/usr/share/themes folder.
3. Then i rebooted my phone. Than once turned on the phone, Theme broken. Looks like some of the old windows (like win 95).After that i entered Settings and clicked to Themes menu but still i cannot enter. So i used keyboard Enter button. Then entered to Themes. But there is noting
Finally i installed new theme from application manager. But i still cannot choose that installed themes.
When i enter to themes , i can see my installed themes. But i cannot select any of the themes. How to choose default theme from terminal?
Please help me ASAP
:(((((
Hello guys,
I tried the ins traction above.
1. i removed /usr/share/themes folder
2. And i tried cp -r /home/usr/share/themes /usr/share/themes
but not found following /home/usr/share/themes folder.
3. Then i rebooted my phone. Than once turned on the phone, Theme broken. Looks like some of the old windows (like win 95).After that i entered Settings and clicked to Themes menu but still i cannot enter. So i used keyboard Enter button. Then entered to Themes. But there is noting
Finally i installed new theme from application manager. But i still cannot choose that installed themes.
When i enter to themes , i can see my installed themes. But i cannot select any of the themes. How to choose default theme from terminal?
Please help me ASAP
:(((((
With removing of the Themes Folder, u took the chance away for the system to copy the files to the other directory.
So that far, theres no solution unless uve got a "securitycopy" of the directory.
On the side, how to get that info to the app manager im also interested, how to do that, or where the installed apps are listed :)
Sorry, for the little help
So far
I installed new system ...
ok so bringing this back a bit, uninstalling apps like crazy and my root still stays at 44mb, tried apt-get clean / remove still stays the same size o.O
gav
Out of interest, volt, how do you suggest Nokia solve this problem, if not optifying?
i'd suggest nokia to provide option to upgrade n900 to the 8GB OneNAND for those real linux users. Or start selling a 8GB OneNAND model, and i'll glad to trade in for that model.
i'd suggest nokia to provide option to upgrade n900 to the 8GB OneNAND for those real linux users. Or start selling a 8GB OneNAND model, and i'll glad to trade in for that model.
Please see my response in the prior rootfs thread you posted in. That's not an 8-Gigabyte chip, it's an 8-Gigabit (1-Gigabyte) chip.
ok so bringing this back a bit, uninstalling apps like crazy and my root still stays at 44mb, tried apt-get clean / remove still stays the same size o.O
gav
I had much the same issue, couldn't figure out what I'd installed that was using all the space - 'storage usage' pointed me in the right direction for some things. Anyway, the comment (linked below) should start you on the right path, though some of the things the individual linked do not need to be any longer because they already are in PR1.2.
This post a few pages back fixed things (http://talk.maemo.org/showpost.php?p=516359&postcount=207)
I've saved about 80 megabytes by using symbolic links for a bunch of stuff in /usr/lib /usr/share and a few odds and ends in /var
No performance impact, though I picked things that largely don't matter a great deal to me.
bujingai
2010-06-19, 10:01
Nokia-N900-42-11:~# df -h
Filesystem Size Used Available Use% Mounted on
rootfs 227.8M 142.2M 81.4M 64% /
ubi0:rootfs 227.8M 142.2M 81.4M 64% /
tmpfs 1.0M 84.0k 940.0k 8% /tmp
tmpfs 256.0k 92.0k 164.0k 36% /var/run
none 10.0M 72.0k 9.9M 1% /dev
tmpfs 64.0M 4.0k 64.0M 0% /dev/shm
/dev/mmcblk0p2 2.0G 1.9G 0 100% /home
/home/opt 2.0G 1.9G 0 100% /opt
/opt/pymaemo/usr/lib/python2.5
2.0G 1.9G 0 100% /usr/lib/python2.5
/opt/pymaemo/usr/share/pyshared
2.0G 1.9G 0 100% /usr/share/pyshared
/opt/pymaemo/usr/lib/pyshared
2.0G 1.9G 0 100% /usr/lib/pyshared
/opt/pymaemo/usr/share/python-support
2.0G 1.9G 0 100% /usr/share/python-support
/opt/pymaemo/usr/lib/python-support
2.0G 1.9G 0 100% /usr/lib/python-support
/dev/mmcblk0p1 27.0G 10.5G 16.5G 39% /home/user/MyDocs
Nokia-N900-42-11:~#
Nokia-N900-42-11:~#
hi guys pls help...i have 81.4mb left on my n900 but still it still ask me to free up some space.
Hello ppl!
Im kind of a noob and have problems with my n900. I only have 49.9mb free space on rootfs and the new maemo update needs 113mb. I've read in this tread that non optified apps can take up space on rootfs so i've uninstalled everything i've ever installed. I ran apt-get clean (which doesnt do anyting) and apt-get autoremove (which have deleted alot, but not enough)
What more can i do? As i said, im a noob so please explain in detail :P
Thanks in advance!!
The rootfs is separate because it's a high-speed flash memory chip connected directly to the processor. It's only 256M because that was the largest that was available at the time.
Thank you. I had the same problem, and following your advice, I've removed (as root) one of the applications that wasn't optified.
In my case, I've solved the problem removing youtube-dl. I couldn't use apt-get, because it had a failure, due to the lack of space. I just did:
# rm /usr/bin/youtube-dl
# touch youtube-dl
# dpkg --configure -a
And then I was inmediately able to run apt-get... :)
Sir I dont have rootsh installed but terminal can see the exact screen shot like the previous. for terminal ... Can you please advise me how to take it forward from there? I hardly have any applications insatlled but then I am layman for this ...... kindly help if possible
Cheers!!!!
Sir I dont have rootsh installed but terminal can see the exact screen shot like the previous. for terminal ... Can you please advise me how to take it forward from there? I hardly have any applications insatlled but then I am layman for this ...... kindly help if possible
Cheers!!!!
If you hardly have any applications installed then you shouldn't be having any issues with rootfs space (and I don't know which "previous" screen shot you mean - the last screen shot posted to this thread is quite a few pages back and shows everything working okay). Exactly what error message are you getting?
unable to receive or send new messages
device storage full
remove data to free memory
by the way thanks for prompt response :-)
vBulletin® v3.8.8, Copyright ©2000-2025, vBulletin Solutions, Inc.