User:Tanner

m (init)
(restore script)
Line 7: Line 7:
== Reflashing & Restore ==
== Reflashing & Restore ==
 +
 +
 +
#!/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`

Revision as of 20:22, 1 February 2010

Tips and tricks:

Repartitioning

Reflashing & Restore

#!/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`