SwapSpace

From Openmoko

Revision as of 19:40, 6 March 2009 by Isaksen (Talk | contribs)

Jump to: navigation, search

WARNING: THIS MIGTH 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
Personal tools

WARNING: THIS MIGTH 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