User:Tanner
Packages
info about some of the packages I've uploaded to extras-devel
see also http://wiki.maemo.org/Packaging
A backport of Debhelper 7 for Fremantle is available in extras-devel. It works transparently and can coexist with debhelper 5 in the SDK. It also works on the autobuilder, if you specify
Build-Depends: debhelper7
in debian/control. The following lines in debian/rules are necessary to use it:
PATH:=/usr/bin/dh7:/usr/bin:$(PATH) export PATH SBOX_REDIRECT_IGNORE=/usr/bin/perl export SBOX_REDIRECT_IGNORE
If you also need a more recent cdbs, then use the package cdbs-dh7, which conflicts with the standard cdbs and does not work on autobuilder yet.
To replace many tools you can also use the following line as a template
SBOX_REDIRECT_IGNORE:=$(shell echo /usr/bin/{perl,dh_*} | sed "s/ /:/g")
R (statistics)
bug: installation fails with ucfr missing solution: wait or edit r-base-core.postinst and comment line 44 out
bug: linking against BLAS and LAPACK currently hardcodes the links found in the -dev package.
bonnie++ (filesystem benchmarks)
see post and ff
an extremely efficient compressor. it is much faster than bzip2 for decompression and about 30% smaller files.
bug: keyboard doesn't work. bug: window close button is not visible
experimental packages
some experimental ports which I have not yet uploaded to extras-devel can be found in my repository
deb http://www.maemory.com/N900/ fremantle free incompatible
currently: python2.6, perl5.10
Tips and tricks:
alternative USB host solution
fresh builds
Repartitioning
brainstorm brainstorm discussion repartitioning thread
how to swap FAT and ext3 parition how to implement USB mass storage with a loopback file
Reflashing & Restore
this is a slightly modified version of the script I use to restore my N900 after a reflash. My reflashing procedure is:
- store all settings with Backup on my SD card
- reflash with standard http://wiki.maemo.org/Updating_the_firmware, i.e.
sudo flasher-3.5 -F RX-51_2009SE_2.2009.51-1_PR_COMBINED_MR0_ARM.bin -f -R
- restore old backup except programs
- install gainroot
- in Terminal:
sudo su - /home/backup/restore
with following script in /home/backup (feedback and patches are welcome). It excepts that did a backup of /root and your selected modified files (e.g. /etc/ssh) in /home/backup. the file minimal should contain a list (line by line) of the package names you want to install.
#!/bin/sh
# N900 restore script
# © 2010 by Thomas Tanner <tanner@maemory.com>
# licensed under GPLv3
set -x
# script and data must be in /home/backup
cd /home/backup
# remove old opt
rm -rf /home/opt
mkdir /home/opt
# copy /root backup
rm -rf /root
cp -a root /
# copy modifed files for /etc
cp -a etc/* /etc
# enable user ssh login with ~/.ssh/authorized_keys
sed 's/^user:!/user:\*/' /etc/passwd > /etc/passwd.tmp
cp /etc/passwd.tmp /etc/passwd # mv
# move root stuff to /home
dirs="usr/share/icons usr/share/nokia-maps usr/share/themes usr/share/fonts usr/share/locale usr/lib/locale var/lib/apt"
#optional: var/lib/dpkg
if test -d /home/var/cache/apt; then
# keep existing apt cache
rm -rf /var/cache/apt
ln -s /home/var/cache/apt /var/cache/apt
else
dirs="$dirs var/cache/apt"
fi
(cd / && du -sc $dirs)
for d in $dirs; do
test -L /$d && continue
echo moving /$d
rm -rf /home/$d
mkdir -p /home/$d
cp -a /$d /home/$d/..
rm -rf /$d
ln -s /home/$d /$d
done
mount /home/user/MyDocs # non-standard partition layout
apt-get update
apt-get -y install mc python-support openssh-server
# install my standard set of packages
apt-get -y install `cat minimal`