SwapSpace
From Openmoko
(+cat, +link) |
m (spelling) |
||
Line 1: | Line 1: | ||
− | WARNING: THIS | + | WARNING: THIS MIGHT KILL YOUR SD CARD, since there migth be alot of read/writes on the same spot. |
The Freerunner has only 128mb ram, when this is used up applications get killed. | The Freerunner has only 128mb ram, when this is used up applications get killed. | ||
Revision as of 22:18, 27 August 2009
WARNING: THIS MIGHT KILL YOUR SD CARD, since there migth be alot of read/writes on the same spot. The Freerunner has only 128mb ram, when this is used up applications get killed.
Make swap when you are connected to your openmoko with ssh
64M byte of swap just as an example
dd if=/dev/zero of=/swapfile bs=1024 count=65536
Next time you boot there will be swap
echo "/swapfile swap swap defaults 0 0">> /etc/fstab
Make swap
mkswap /swapfile
Make the swap file work now:
swapon /swapfile
Make swap when microSD card is in a card reader
The uSD card is booted on /boot. To use this, we need to make sure that the microsd card is booted, and the Swap can be turned on.
Create the swapfile on the uSD card.
# dd if=/dev/zero of=/boot/swapfile bs=1024k count=128 # mkswap /boot/swapfile
Now, we can put in an init script for Fyp which does this for us everytime we boot.
# touch /etc/init.d/extswap.sh # chmod +x /etc/init.d/extswap.sh # cat > /etc/init.d/extswap.sh #! /bin/sh ### BEGIN INIT INFO # Provides: extswap # Required-Start: mountall # Required-Stop: # Default-Start: S # Default-Stop: # Short-Description: Uses Additional Swap If Available. # Description: ### END INIT INFO PATH=/sbin:/bin . /lib/init/vars.sh . /lib/lsb/init-functions do_start() { if [ -e /boot/swapfile ] ; then for loopdev in `ls /dev/loop* 2>/dev/null` ; do losetup $loopdev /boot/swapfile && swapon $loopdev && echo $loopdev > /var/extswapfile && break done fi } do_stop() { loopdev=`cat /var/extswapfile 2>/dev/null` swapoff -v $loopdev 2>/dev/null && rm -f /var/extswapfile && losetup -d $loopdev } case "$1" in start|"") do_start ;; restart|reload|force-reload) do_stop do_start ;; stop) do_stop ;; *) echo "Usage: extswap.sh [start|stop|restart]" >&2 exit 3 ;; esac # update-rc.d extswap.sh defaults