NAND Full Requirement

Erik Garrison erik at laptop.org
Tue Jul 22 16:16:58 EDT 2008


On Tue, Jul 22, 2008 at 04:01:35PM -0400, Greg Smith wrote:
> Hi All,
> 
> Here's the requirement for Uruguay NAND full situation.
> 
> I need this fixed ASAP.
> 
> - The XO must always boot up to sugar including allowing access to the 
> journal. That is no matter the fullness of the NAND
> - If the NAND has less than nnMB (50?) free, warn the user that they are 
> low on space.
> - Must be installable on 656 in the Uruguay configuration
> - Must not delete any user created files
> - Must not disable any activities or other functionality
> 
> So far they have:
> - a dialog box which warns when you get low on space
> - Chris's script which allows deleting stuff automaticaly but probably 
> user stuff
> 
> What else they want, not sure... I will talk to Emliano ASAP and let you 
>   know.
> 
> Erik will propose one solution (related to RamFS I believe).
> 

See: http://dev.laptop.org/ticket/7587#comment:4

On boot, check NAND discomfort level.  If high, use unionfs(4) to mount
a read/write tmpfs over top of a read-only jffs2 rootfs.  Set unionfs
flags to enable file deletion from the 'ro' root partition (or if this
is impossible, mount the fs in another location to allow deletions).
Set a flag to tell olpc-session or Sugar to enter into a deletion
dialog.  

Benefits:
This solution theoretically allows all software to run an a NAND-full
machine.  Thus students who arrive at school with a NAND-full machine
could still work with their XO through lessons and manage flash cleanup
as time is available.  Requires minimal code-level changes to enable.

Drawbacks:
Working on this solution may distract from efforts to get our system to
boot cleanly on top of a read-only root fs.  C. Scott and others have
suggested that we ultimately want to do this.

Issues: 
Currently unionfs is untested on the XO.  I am waiting for a
unionfs-enabled kernel (currently building).  Theoretically it will
work, as per every Linux livecd under the sun.

Erik



More information about the Devel mailing list