123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- #!/bin/sh
- #(c) 2003/4 Barry kauler
- #2007 Lesser GPL licence v2 (http://www.fsf.org/licensing/licenses/lgpl.html)
- echo "This script was written for the particular situation of Puppy"
- echo "installed on a USB memory device, usually a Flash card, and"
- echo "you want to edit the file image.gz"
- echo "The installation of Puppy on a Flash card is such that image.gz"
- echo "is just a file on the card, along with vmlinuz and all the files"
- echo "and folders of your home directory."
- echo "When Puppy is booted, the Flash card is mounted on /root, and"
- echo "image.gz can be found at /root/image.gz"
- echo " "
- RAMDSKSIZE="`cat /etc/ramdisksize`"
- # the home device, probably sda1, was saved into /tmp/homedevice
- # during bootup, by /etc/rc.d/rc.sysinit
- # if mounted successfully, otherwise the file doesn't exist...
- if [ -e /tmp/homedevice ];then
- SDX1="`cat /tmp/homedevice`"
- echo "Your home device is $SDX1"
- else
- echo "Home device not accessable. Exiting."
- exit 0
- fi
- # The flash card has image.gz, which has the compressed Puppy
- # root filesystem. This script enables you to copy any files
- # to it, making them a permanent part of Puppy.
- echo "Uncompressing image.gz to /dev/ram1..."
- gunzip -c /root/image.gz | dd of=/dev/ram1
- echo "Need to be a bit cautious here. Older versions of Puppy, before"
- echo "v0.7.6 I think, used the minix filesystem for image.gz, whereas"
- echo "Puppy is now using ext2."
- echo "this script assumes that image.gz is a ext2 filesystem -- if it"
- echo "is minix or something else, you will need to edit this script."
- echo '(be careful, the filesystem used for image.gz is not necessarily'
- echo ' the same as the filesystem of the partition mounted on /root!)'
- echo " "
- echo "Mounting /dev/ram1 on /mnt/ram1..."
- mount -t ext2 /dev/ram1 /mnt/ram1
- echo "Use a file-manager such as Rox to copy any files to"
- echo "/mnt/ram1. When finished, Press ENTER key to continue..."
- echo -n '(or CTRL-C to abort): '
- read VAL1
- cd /
- umount -f /mnt/ram1
- echo "Copying /dev/ram1 to home device..."
- # /dev/sda1 mounted at /root during boot...
- dd if=/dev/ram1 bs=1k count=$RAMDSKSIZE | gzip - > /root/image.gz
- sync
- echo " "
- echo "Freeing memory used for /dev/ram1..."
- freeramdisk /dev/ram1
- echo "Done"
|