<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://maemo.octonezd.me/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=178.165.183.141</id>
	<title>Maemo Wiki Mirror - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://maemo.octonezd.me/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=178.165.183.141"/>
	<link rel="alternate" type="text/html" href="https://maemo.octonezd.me/index.php/Special:Contributions/178.165.183.141"/>
	<updated>2026-04-22T11:32:51Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>https://maemo.octonezd.me/index.php?title=User:Tanner&amp;diff=50496</id>
		<title>User:Tanner</title>
		<link rel="alternate" type="text/html" href="https://maemo.octonezd.me/index.php?title=User:Tanner&amp;diff=50496"/>
		<updated>2010-06-03T17:50:54Z</updated>

		<summary type="html">&lt;p&gt;178.165.183.141: /* full optification */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Packages =&lt;br /&gt;
&lt;br /&gt;
info about some of the packages I&#039;ve uploaded to extras-devel&lt;br /&gt;
&lt;br /&gt;
== [http://maemo.org/packages/view/debhelper7/ debhelper7] ==&lt;br /&gt;
&lt;br /&gt;
see also http://wiki.maemo.org/Packaging&lt;br /&gt;
&lt;br /&gt;
A backport of Debhelper 7 for Fremantle is available in extras-devel.&lt;br /&gt;
It works transparently and can coexist with debhelper 5 in the SDK.&lt;br /&gt;
It also works on the autobuilder, if you specify&lt;br /&gt;
 Build-Depends: debhelper7&lt;br /&gt;
in debian/control.&lt;br /&gt;
The following lines in debian/rules are necessary to use it:&lt;br /&gt;
&lt;br /&gt;
 PATH:=/usr/bin/dh7:/usr/bin:$(PATH)&lt;br /&gt;
 export PATH&lt;br /&gt;
 SBOX_REDIRECT_IGNORE=/usr/bin/perl&lt;br /&gt;
 export SBOX_REDIRECT_IGNORE&lt;br /&gt;
&lt;br /&gt;
We are working on enhancement to make optification is easier, i.e. direct installation of files in the /opt hierarchy.&lt;br /&gt;
&lt;br /&gt;
If you also need a more recent cdbs, then use the package [http://maemo.org/packages/view/cdbs-dh7/ cdbs-dh7],&lt;br /&gt;
which conflicts with the standard cdbs and does not work on autobuilder yet.&lt;br /&gt;
&lt;br /&gt;
To replace several tools in scratchbox you can also use the following line as a template&lt;br /&gt;
 SBOX_REDIRECT_IGNORE:=$(shell echo /usr/bin/{perl,dh_*} | sed &amp;quot;s/ /:/g&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
== CLI icon ==&lt;br /&gt;
&lt;br /&gt;
For your convenience I have uuencoded Tim Samoff&#039;s [http://lists.maemo.org/pipermail/maemo-community/2010-January/003870.html CLI icon]&lt;br /&gt;
which is supposed to be added to the debian/control file of CLI apps. You can download it [http://maemory.com/N900/tools/cli.icon.txt here].&lt;br /&gt;
&lt;br /&gt;
== [http://maemo.org/packages/view/kernel-flasher-maemo/ custom Linux kernel] ==&lt;br /&gt;
&lt;br /&gt;
My custom kernel which contains probably everything one could need on the N900:&lt;br /&gt;
&lt;br /&gt;
 This custom kernel contains additional modules for IPv6, packet filtering,&lt;br /&gt;
 NAT, tunneling, kernel configuration, Wifi mesh networking,&lt;br /&gt;
 ext4, XFS, reiserfs, NTFS reading, NILFS2, ISO9660, UDF, CIFS, automounter,&lt;br /&gt;
 UNIONFS, device mapper and dmloop, cryptography, cryptoloop,&lt;br /&gt;
 EFI partitions, UTF8 codepages, mouse+joystick input,&lt;br /&gt;
 USB/IP and generic USB device drivers.&lt;br /&gt;
 It shows a boot logo.&lt;br /&gt;
&lt;br /&gt;
Just install the package &amp;quot;kernel-flasher-maemo&amp;quot; from extras-devel/non-free (section System) and reboot.&lt;br /&gt;
Reverting to the original kernel is simple:  &amp;quot;apt-get install --reinstall kernel kernel-flasher&amp;quot;  or reflash only the original kernel image.&lt;br /&gt;
see [http://talk.maemo.org/showthread.php?t=43420 TMO page] for more details.&lt;br /&gt;
&lt;br /&gt;
== GNU tools ==&lt;br /&gt;
the crippled busybox is installed on the N900.&lt;br /&gt;
command line users prefer the real GNU tools.&lt;br /&gt;
these are the optified packages for the device.&lt;br /&gt;
Most of them do not take use more RAM than busybox (a few KBs)!&lt;br /&gt;
[http://maemo.org/packages/view/coreutils-gnu/ coreutils-gnu]&lt;br /&gt;
[http://maemo.org/packages/view/diffutils-gnu/ diffutils-gnu]&lt;br /&gt;
[http://maemo.org/packages/view/findutils-gnu/ findutils-gnu]&lt;br /&gt;
[http://maemo.org/packages/view/grep-gnu/ grep-gnu]&lt;br /&gt;
[http://maemo.org/packages/view/sed-gnu/ sed-gnu]&lt;br /&gt;
[http://maemo.org/packages/view/tar-gnu/ tar-gnu]&lt;br /&gt;
&lt;br /&gt;
== [http://maemo.org/packages/view/texlive-latex-base/ TeXLive 2009] ==&lt;br /&gt;
[http://talk.maemo.org/showthread.php?t=42087 talk page]&lt;br /&gt;
&lt;br /&gt;
== [http://maemo.org/packages/view/r-base-core/ R] (statistics) ==&lt;br /&gt;
&lt;br /&gt;
bug: installation fails with ucfr missing&lt;br /&gt;
solution: wait or edit r-base-core.postinst and comment line 44 out&lt;br /&gt;
&lt;br /&gt;
== [http://maemo.org/packages/view/libblas3gf/ BLAS] [http://maemo.org/packages/view/liblapack3gf/ LAPACK] [http://maemo.org/packages/view/libsuitesparse-3.1.0/ suitesparse] ==&lt;br /&gt;
&lt;br /&gt;
bug: linking against BLAS and LAPACK currently hardcodes the links found in the -dev package.&lt;br /&gt;
&lt;br /&gt;
== [http://maemo.org/packages/view/python-numpy/ numpy], [http://maemo.org/packages/view/python-scipy/ scipy], [http://maemo.org/packages/view/python-sympy/ sympy] ==&lt;br /&gt;
&lt;br /&gt;
[http://talk.maemo.org/showthread.php?t=33020 some discussion]&lt;br /&gt;
&lt;br /&gt;
== [http://maemo.org/packages/view/bonnie++/ bonnie++] (filesystem benchmarks) ==&lt;br /&gt;
see [http://talk.maemo.org/showpost.php?p=504332&amp;amp;postcount=76 post and ff]&lt;br /&gt;
&lt;br /&gt;
== [http://maemo.org/packages/view/tcl8.5/ tcl8.5] [http://maemo.org/packages/view/tk8.5/ tk8.5] [http://maemo.org/packages/view/python-tk/ python-tk] ==&lt;br /&gt;
&lt;br /&gt;
== [http://maemo.org/packages/view/lzma/ lzma] and its successor [http://maemo.org/packages/view/xz-utils/ xz-utils] ==&lt;br /&gt;
&lt;br /&gt;
an extremely efficient compressor. it is much faster than bzip2 for decompression and yields about 30% smaller files.&lt;br /&gt;
&lt;br /&gt;
== [http://maemo.org/packages/view/xskat/ xskat] ==&lt;br /&gt;
&lt;br /&gt;
bug: keyboard doesn&#039;t work.&lt;br /&gt;
bug: window close button is not visible&lt;br /&gt;
&lt;br /&gt;
== experimental packages ==&lt;br /&gt;
&lt;br /&gt;
some experimental ports which I have not yet uploaded to extras-devel can be found in my repository&lt;br /&gt;
&lt;br /&gt;
 deb http://www.maemory.com/N900/ fremantle free incompatible&lt;br /&gt;
&lt;br /&gt;
currently: python2.6, perl5.10, GNU compiler collection 4.4.3, autoconf 2.64, automake1.10&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
= Ideas/plans: =&lt;br /&gt;
&lt;br /&gt;
== [https://garage.maemo.org/projects/moebian/ Moebian]: Maemo/MeeGo on Debian ==&lt;br /&gt;
&lt;br /&gt;
[http://wiki.maemo.org/Maemo_on_Debian Wiki] and [http://talk.maemo.org/showthread.php?t=44967 discussion]&lt;br /&gt;
&lt;br /&gt;
== Brainstorm: [https://maemo.org/community/brainstorm/view/more_efficient_and_flexible_use_of_internal_flash Repartitioning] ==&lt;br /&gt;
&lt;br /&gt;
[http://talk.maemo.org/showthread.php?t=37869 brainstorm discussion]&lt;br /&gt;
[http://talk.maemo.org/showthread.php?t=35122 repartitioning thread]&lt;br /&gt;
&lt;br /&gt;
== Brainstorm: [http://maemo.org/community/brainstorm/view/stylus_and_finger_friendly_uis/ Stylus and finger friendly UIs] == &lt;br /&gt;
&lt;br /&gt;
[http://talk.maemo.org/showthread.php?p=525854 brainstorm discussion]&lt;br /&gt;
&lt;br /&gt;
== alternative USB host solution ==&lt;br /&gt;
&lt;br /&gt;
[http://talk.maemo.org/showthread.php?t=41870 USB/IP]&lt;br /&gt;
&lt;br /&gt;
== full [http://wiki.maemo.org/Opt_Problem optification] ==&lt;br /&gt;
&lt;br /&gt;
Ideally addon software should be installed only in /opt without any symlinks in / (NAND)&lt;br /&gt;
in accordance with [http://www.pathname.com/fhs/2.2/fhs-3.12.html FHS].&lt;br /&gt;
/usr/local should be moved and symlinked to /opt/local and is reserved for own programs not maintained by dpkg.&lt;br /&gt;
&lt;br /&gt;
A package may either install its files directly (for small packages) in the /opt/maemo hierarchy (bin,etc,lib,man,share)&lt;br /&gt;
or in a separate directory /opt/&amp;lt;package&amp;gt; with its own hierarchy (bin,etc,lib,man,share).&lt;br /&gt;
For the latter solution packages should symlink all non-private files to /opt/maemo/{bin,etc,lib,man,share}&lt;br /&gt;
and the search paths of Maemo need to be adjusted in /etc/profile and  /etc/osso-af-init/af-defines.sh:&lt;br /&gt;
&lt;br /&gt;
* PATH=$PATH:/opt/maemo/usr/bin  (and sbin for root)&lt;br /&gt;
* ld.so.conf: add /opt/maemo/usr/lib&lt;br /&gt;
* locales: [https://bugs.maemo.org/show_bug.cgi?id=8363 LOCPATH]=LOCPATH=/usr/share/locale:/opt/maemo/usr/share/locale&lt;br /&gt;
* MANPATH=/opt/maemo/usr/share/man&lt;br /&gt;
* pkgconfig: /usr/share/pkgconfig:/opt/maemo/usr/share/pkgconfig&lt;br /&gt;
* info in info?: /usr/share/info:/opt/maemo/usr/share/info&lt;br /&gt;
* apps in hildon: [https://bugs.maemo.org/show_bug.cgi?id=10531 Bug about Application Menu] /usr/share/applications:/opt/maemo/usr/share/applications&lt;br /&gt;
* icons in hildon ?: /usr/share/icons:/opt/maemo/usr/share/icons&lt;br /&gt;
this list may be incomplete - please help to complete it&lt;br /&gt;
&lt;br /&gt;
As NAND is much faster than eMMC a cache manager could mantain a list&lt;br /&gt;
of very often used binaries and libraries in /opt and automatically&lt;br /&gt;
copy them and symlink them to a fixed size cache in NAND.&lt;br /&gt;
&lt;br /&gt;
TMPDIR=/var/tmp should be moved to /opt/tmp&lt;br /&gt;
or /var/opt should symlink to /opt/var and contain a larger tmp directory.&lt;br /&gt;
&lt;br /&gt;
== chroot instead of /opt ==&lt;br /&gt;
I have described my currently preferred [http://maemo.org/community/brainstorm/view/remove_256mb_limitation_of_the_rootfs_partition_in_the_n900/ solution as #5]&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
= Tips and tricks: =&lt;br /&gt;
&lt;br /&gt;
== fresh builds ==&lt;br /&gt;
&lt;br /&gt;
[http://maemo.org/packages/repository/latest/fremantle_extras-devel_free_armel/all/ latest packages]&lt;br /&gt;
&lt;br /&gt;
[https://garage.maemo.org/builder/fremantle/?C=M;O=D autobuilder current builds]&lt;br /&gt;
&lt;br /&gt;
== [[Repartitioning the flash]] ==&lt;br /&gt;
&lt;br /&gt;
[http://talk.maemo.org/showpost.php?p=424811&amp;amp;postcount=66 how to swap FAT and ext3 parition]&lt;br /&gt;
[http://talk.maemo.org/showpost.php?p=425359&amp;amp;postcount=68 how to implement USB mass storage with a loopback file]&lt;br /&gt;
&lt;br /&gt;
== Setting up a repository mirror on your server ==&lt;br /&gt;
&lt;br /&gt;
[http://www.maemory.com/mirror/repro-maemo.tgz reprepro configuration]&lt;br /&gt;
&lt;br /&gt;
== Safely free some space on rootfs ==&lt;br /&gt;
&lt;br /&gt;
[http://maemory.com/N900/tools/moveroot.sh This script] shows you how much space is freed.&lt;br /&gt;
It can also detect whether some directories have already been moved.&lt;br /&gt;
WARNING: Although this script works for most users, you should always perform a backup before running it.&lt;br /&gt;
Do not use this script if you have already used some other methods or scripts from [[Free_up_rootfs_space]]!&lt;br /&gt;
In this case reflashing is recommended.&lt;br /&gt;
&lt;br /&gt;
# install the rootsh package from extras&lt;br /&gt;
# download the [http://maemory.com/N900/tools/moveroot.sh script] to your MyDocs (or upload it via SSH)&lt;br /&gt;
# in Terminal run&lt;br /&gt;
 sudo gainroot&lt;br /&gt;
 sh /home/user/MyDocs/moveroot.sh&lt;br /&gt;
&lt;br /&gt;
It should have freed about 95MB on your rootfs.&lt;br /&gt;
Upgrading the firmware OTA after using the script is supposed to work.&lt;br /&gt;
If you reflash the firmware the script will automatically remove the files from the old firmware&lt;br /&gt;
when you run it again.&lt;br /&gt;
&lt;br /&gt;
[http://maemory.com/N900/tools/unmoveroot.sh This untested script] reverts the modifications and moves as many as possible files back to rootfs.&lt;br /&gt;
Make sure that you have enough space on rootfs for that. Otherwise it will abort the operation. Instructions are the same as for moveroot.sh,&lt;br /&gt;
except that you call unmoveroot.sh.&lt;br /&gt;
&lt;br /&gt;
== On-device flashing of a custom kernel image ==&lt;br /&gt;
&lt;br /&gt;
This how to flash a kernel on-device (without USB/flasher 3.5):&lt;br /&gt;
&lt;br /&gt;
# you have a kernel image /path/zImage (with it&#039;s modules installed)&lt;br /&gt;
# install the package &amp;quot;sdk-fiasco-gen&amp;quot; from SDK&lt;br /&gt;
# become root: &amp;quot;sudo gainroot&amp;quot;&lt;br /&gt;
# make a &amp;quot;fiasco&amp;quot; :)&lt;br /&gt;
 fiasco-gen -o /path/zImage.fiasco -g -k /path/zImage&lt;br /&gt;
# flash it&lt;br /&gt;
 /sbin/fiasco-image-update /path/zImage.fiasco &lt;br /&gt;
&lt;br /&gt;
== Reflashing &amp;amp; Restore ==&lt;br /&gt;
&lt;br /&gt;
this is a slightly modified version of the script I use to restore my N900 after a reflash.&lt;br /&gt;
My reflashing procedure is:&lt;br /&gt;
&lt;br /&gt;
# store all settings with Backup on my SD card&lt;br /&gt;
# reflash with standard http://wiki.maemo.org/Updating_the_firmware, i.e.&lt;br /&gt;
 sudo flasher-3.5 -F &#039;&#039;&amp;lt;current firmware image&amp;gt;&#039;&#039;.bin -f -R&lt;br /&gt;
# restore old backup except programs&lt;br /&gt;
# install rootsh from System&lt;br /&gt;
# in Terminal:&lt;br /&gt;
 sudo sh /home/backup/restore.sh&lt;br /&gt;
with [http://maemory.com/N900/tools/restore.sh this script (for PR&amp;lt;1.2] or  [http://maemory.com/N900/tools/restore1.2.sh this script (PR1.2)] in /home/backup (feedback and patches are welcome).&lt;br /&gt;
It expects that you made a backup of /root and your selected modified files (e.g. /etc/ssh) in /home/backup.&lt;br /&gt;
The file &amp;quot;pkgs&amp;quot; should contain a list (line by line) of the package names you want to install.&lt;/div&gt;</summary>
		<author><name>178.165.183.141</name></author>
	</entry>
	<entry>
		<id>https://maemo.octonezd.me/index.php?title=Opt_Problem&amp;diff=30818</id>
		<title>Opt Problem</title>
		<link rel="alternate" type="text/html" href="https://maemo.octonezd.me/index.php?title=Opt_Problem&amp;diff=30818"/>
		<updated>2010-06-03T14:38:26Z</updated>

		<summary type="html">&lt;p&gt;178.165.183.141: fix typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= The /opt Problem =&lt;br /&gt;
&lt;br /&gt;
There is not enough space on the [[rootfs]] to fit all applications, therefore an additional partition has to be used. But how?&lt;br /&gt;
&lt;br /&gt;
There is a section in the Maemo 5 Developer Guide explaining the basics: &lt;br /&gt;
[[Documentation/Maemo_5_Developer_Guide/Packaging,_Deploying_and_Distributing/Installing_under_opt_and_MyDocs|Installing under /opt and /MyDocs]]&lt;br /&gt;
&lt;br /&gt;
= Current situation =&lt;br /&gt;
&lt;br /&gt;
* 256MB OneNAND chip: bootloader, kernel, root (ubifs - with compression)&lt;br /&gt;
* 32GB eMMC: /home ~2GB (ext3), /home/user/MyDocs ~29GB (vfat), swap 0.7GB&lt;br /&gt;
* symlink: /opt/ -&amp;gt; /home/opt/&lt;br /&gt;
* OneNAND is probably &amp;quot;much&amp;quot; faster than the eMMC (hard numbers? read? write? small blobs? big blobs?)&lt;br /&gt;
* file system [http://talk.maemo.org/showpost.php?p=504332&amp;amp;postcount=76 benchmark results] for different media&lt;br /&gt;
* OneNAND performance figures: Sustained read performance: 108MB/s. Sustained write performance: up to 17MB/s. See [http://www.samsung.com/global/business/semiconductor/products/fusionmemory/downloads/onenand_brochure_200609.pdf Samsung OneNAND specs].&lt;br /&gt;
* eMMC performance figures: read performance 37MB/s. Write performance 20MB/s. Write speed of 17MB/s has been achieved in this test at [http://symbianbriefs.blogspot.com/2010/01/n900-review-part-10-transferring-data.html symbianbriefs.blogspot.com]. My own read tests however show ~11MB/s (370MB file).&lt;br /&gt;
* Decisions were taken in a &amp;quot;what shall we do about /opt?&amp;quot; BOF at the [[Maemo Summit 2009]]. Minutes: http://lists.maemo.org/pipermail/maemo-developers/2009-October/021289.html&lt;br /&gt;
&lt;br /&gt;
= Some goals =&lt;br /&gt;
&lt;br /&gt;
* Firmware should be flashable.&lt;br /&gt;
* Should not break applications.&lt;br /&gt;
* One should be able to install more than 256mb worth of software.&lt;br /&gt;
* Standards compliance, less need to make incompatible quirks.&lt;br /&gt;
* A fix should be doable after shipping (before shipping, probably not?)&lt;br /&gt;
&lt;br /&gt;
= Current problems / developer and packaging issues =&lt;br /&gt;
&lt;br /&gt;
This should be a list of current problems developers are experiencing related to optification:&lt;br /&gt;
&lt;br /&gt;
* [http://lists.maemo.org/pipermail/maemo-developers/2009-October/021419.html Optification breaks package on upgrade from non-optified older version]&lt;br /&gt;
&lt;br /&gt;
* Symlinks take up space in the rootfs. This may become an issue if there are lots of them.&lt;br /&gt;
&lt;br /&gt;
* [[/Non-Optified_packages|List of non-optified packages and applications]] - Please feel free to add every piece of software which is using too much space in rootfs&lt;br /&gt;
&lt;br /&gt;
= Tool for detection of non-optified packages =&lt;br /&gt;
[[Image:Storageusage.png|thumb|300px|&amp;lt;br&amp;gt;[http://code.google.com/p/storageusage/ Storage Usage] provides a great visual way to detect non-optified packages.&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
= Possible solutions, even the bad ones =&lt;br /&gt;
&lt;br /&gt;
==== Applications are made relocatable and installed to /opt ====&lt;br /&gt;
* Relocatable applications can move everywhere without breaking.&lt;br /&gt;
* No symlinks get scattered over the rootfs (symlinks take up space, too).&lt;br /&gt;
* Not all applications can easily be made relocatable.&lt;br /&gt;
* Requires more work by the programmer.&lt;br /&gt;
* May not be feasible for ports from an upstream source.&lt;br /&gt;
* Putting a startup script into /usr/bin setting up environment variables such as LD_LIBRARY_PATH can help.&lt;br /&gt;
* autotools-based packages can use --prefix=/opt/&amp;lt;packagename&amp;gt;.&lt;br /&gt;
* Python apps can make use of the [http://docs.python.org/reference/datamodel.html#index-821 __file__] module-scope variable to determine where they are installed (e.g. installdir = os.path.dirname(__file__)).&lt;br /&gt;
* Could be taken into account as an alternative to maemo-optify wherever feasible.&lt;br /&gt;
&lt;br /&gt;
==== Have a 2-5gb partition on the emmc for addon packages mounted to /usr/local or /opt ====&lt;br /&gt;
* Most apps by default usually go there&lt;br /&gt;
* for /opt store according to the FHS standard /opt/&amp;lt;package&amp;gt; and symlink to /opt/maemo/{bin,lib,share,...} (actually the standard is /opt/&amp;lt;vendor&amp;gt;/whatever In this case using /opt/maemo directly would work).&lt;br /&gt;
* Having ld.so.conf and PATH set properly avoids all the symlink madness&lt;br /&gt;
* Don&#039;t do symlinks for /usr/local|/opt - make it a real partition&lt;br /&gt;
* Explain to people why they don&#039;t have full 32GB of storage - or use LVM on the eMMC to dynamicaly change the size as things get installed through some dpkg hooks or such - we do know how much it will take ahead of time so if there isn&#039;t enough storage do a resize(VFAT should be resizable with something like gparted maybe?) ext3/2 are both online resizeable (growth only!)&lt;br /&gt;
* Requires a bit more work when packaging - make some defaults pre-set in SDK&lt;br /&gt;
* All apps should use a normal usr layout underneath any path. Example: /opt/maemo/{bin,sbin,lib, etc...} same if it would be in /usr/local - works like GNU stow&lt;br /&gt;
&lt;br /&gt;
==== store addon packages completely in /home/opt hierarchy ====&lt;br /&gt;
* [http://wiki.maemo.org/User:Tanner#full_optification see this page]&lt;br /&gt;
* like previous solution but on the standard /home partition&lt;br /&gt;
* very clean solution as no files (except for /var/lib/dpkg which may be moved as well) are created or modified on the NAND.&lt;br /&gt;
* /etc and /var could be copied there as well and mounted to root using bind. This way OneNAND would only be changed be reflashes and if /home is not mounted (e.g., by a keypress during boot) a fallback  system could boot from unmodified OneNAND.&lt;br /&gt;
* if OneNAND is significantly faster, mark some often used shared libraries as candidates for a /usr/lib/cache directory in which they are copied during installation until a certain cache limit is reached.&lt;br /&gt;
&lt;br /&gt;
==== During packaging move all files &amp;gt;500kb to /opt and symlink to root ====&lt;br /&gt;
* Optify is basically this.&lt;br /&gt;
* Install is not slowed down, work is done when packaging.&lt;br /&gt;
* Some packages break when replaced with symlinks. How to prevent - hack on hack?&lt;br /&gt;
* A buildbot could force this to debian/rules automatically.&lt;br /&gt;
&lt;br /&gt;
==== Use aufs/unionfs to overlay OneNAND root with eMMC filesystem. ====&lt;br /&gt;
* This could be partial overlay, for example only /lib and /usr. &lt;br /&gt;
* Could keep essential libraries on OneNAND so they would work faster.&lt;br /&gt;
* Has anyone measured the speed penalty for aufs/unionfs usage?&lt;br /&gt;
* Is it faster or slower that moving root to eMMC?&lt;br /&gt;
* Might be difficult to have new programs to benefit from faster OneNAND.&lt;br /&gt;
&lt;br /&gt;
==== Hack with --datadir, --libdir etc. through debian/rules ====&lt;br /&gt;
* Could be forced by a buildbot.&lt;br /&gt;
* Should move most of the big lumps on larger media if there are some.&lt;br /&gt;
* Works at least with packages with configure.&lt;br /&gt;
* Requires at least additional $LIBDIR setup?&lt;br /&gt;
* Programs which have hardcoded paths (ugly code) break.&lt;br /&gt;
* Could additionally symlink files from opt to root.&lt;br /&gt;
&lt;br /&gt;
==== Require that applications have --prefix /opt ====&lt;br /&gt;
* Could be forced by a buildbot.&lt;br /&gt;
* Should not break anything.&lt;br /&gt;
* Programs would not benefit from faster OneNAND.&lt;br /&gt;
* Requires at least additional $PATH setup?&lt;br /&gt;
* Programs which have hardcoded paths (ugly code) break.&lt;br /&gt;
* Could additionally symlink files from opt to root.&lt;br /&gt;
* Just reminds me of 770&#039;s /var/lib/install..&lt;br /&gt;
* Against standard&lt;br /&gt;
&lt;br /&gt;
==== Move root from OneNAND to eMMC and combine with /home to create a new root ====&lt;br /&gt;
* How much faster OneNAND is? Numbers?&lt;br /&gt;
* Can flasher flash on eMMC?&lt;br /&gt;
* Leave only the bootable and rescue stuff in the rootfs&lt;br /&gt;
* Maybe use it uncompressed for speed and add a /fast/usr folder to OneNAND to store some system files that would benefit from the speed (example: move /usr/something to /fast/usr and symlink it or just place /fast/usr in the path)&lt;br /&gt;
&lt;br /&gt;
==== Use mount -o bind (or -o rbind) ====&lt;br /&gt;
* Method: Do not use NAND for any additional data. Boot into standard image. Any additional changes made are only available after -o bind or -o rbind which are defined in /etc/fstab . Setup provides potential fail-over; if -o bind or -o rbind fails user gets into &#039;rescue shell&#039; providing 1) recovery method 2) quick install to vanilla firmware without 3rd party utilities, networking, or computer (think: no network available, expensive roaming, no computer with fwflasher or Nokia Software Downloader available, ...)&lt;br /&gt;
&lt;br /&gt;
==== Turn the problem around, pivot the root with /opt ====&lt;br /&gt;
* After pivot /opt would be root and old root would be /opt. Symlink the old root contents to new root would make those available.&lt;br /&gt;
* Can the base system dependencies handle this?&lt;br /&gt;
* Can Nokia created software handle this? &lt;br /&gt;
* Could this work? If so, then all additional packages would install directly on eMMC.&lt;br /&gt;
&lt;br /&gt;
==== After install move all files &amp;gt;500kb to /opt and symlink to root ====&lt;br /&gt;
* Could be done at background after install or with post-install hook.&lt;br /&gt;
* There might not be enough space on / even for install.&lt;br /&gt;
* Install is already slow, could make it even slower.&lt;br /&gt;
* Some packages break when replaced with symlinks. How to prevent - hack on hack?&lt;br /&gt;
* Uninstall might be messy, some post-remove magic needed.&lt;br /&gt;
&lt;br /&gt;
==== Chroot install in /opt, symlink to where it belongs ====&lt;br /&gt;
* A Bit like stow.&lt;br /&gt;
* Maybe somebody can see something good in this?&lt;br /&gt;
* Difficult hack.. would need all the tools etc to be visible in the chroot.&lt;br /&gt;
&lt;br /&gt;
==== Make /usr another partition ====&lt;br /&gt;
You know, historically /usr exists entirely for the purpose of separating the application partition from the underlying system, which is exactly our problem.&lt;br /&gt;
* All the core nokia software and libraries should be relocated to / or maybe a /maemo.&lt;br /&gt;
* /usr and /opt should become symlinks to /home/usr and /home/opt.&lt;br /&gt;
* Maemo targeted GUI software would be encouraged to use /opt/[application].&lt;br /&gt;
* Linux libraries and CLI software could safely use /usr, minimizing the required modifications.&lt;br /&gt;
* Any frequently used accessed files in /home but not /home/user/MyDocs could be cached in /cache, which then gets overlaid with /home using unionfs or something more specialized.&lt;br /&gt;
* Another location like /alt could be used by packages that know they need the NAND&#039;s speed, but this is discouraged.&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;/div&gt;</summary>
		<author><name>178.165.183.141</name></author>
	</entry>
</feed>