else
USERNAME=$(cat /etc/passwd | grep "999" | cut -f1 -d ':')
HOSTNAME=$(hostname)
- BUILD_SYSTEM="Debian"
fi
-export USERNAME USERFULLNAME HOSTNAME BUILD_SYSTEM
+export USERNAME USERFULLNAME HOSTNAME
# Source helper functions
helpers="/usr/share/initramfs-tools/scripts/live-helpers"
if [ ! -z "${MESSAGE}" ]
then
- echo -e "${MESSAGE}"
+ /bin/echo -e "${MESSAGE}"
exit 1
else
exit 0
echo "Options:"
echo " -c, --cow: specifies the copy on write directory (default: /live/cow)."
echo " -d, --device: specifies the output snapshot device (default: none)."
- echo " -o, --output: specifies the output image file (default: $type dependent)."
- echo " -r, --resync-string: internally used to resync previous made snapshots."
- echo " -t, --type: specifies the snapshot type between \"squashfs\", \"ext2\", \"ext3\" or \"cpio\".gz archive (default: cpio)"
- echo -e "\nLook at live-snapshot(1) man page for more information."
+ echo " -o, --output: specifies the output image file (default: ${type} dependent)."
+ echo " -r, --resync-string: internally used to resync previous made snapshots."
+ echo " -t, --type: specifies the snapshot type between \"squashfs\", \"ext2\", \"ext3\", \"jffs2\" or \"cpio\".gz archive (default: cpio)"
+ /bin/echo -e "\nLook at live-snapshot(1) man page for more information."
exit 0
}
genext2fs --size-in-blocks=${REAL_DIM} --reserved-blocks=0 --root="${COW}" "${DEST}" || exit 1
;;
+ jffs2)
+ mkfs.jffs2 --root="${COW}" --output="${DEST}" || exit 1
+ ;;
+
*)
echo "Internal error."
exit 1
Is_same_mount ()
{
- dir1="$(Base_path $1)"
- dir2="$(Base_path $2)"
+ dir1="$(Base_path ${1})"
+ dir2="$(Base_path ${2})"
if [ "${dir1}" = "${dir2}" ]
then
Parse_args ()
{
# Parse command line
- ARGS="$1"
+ ARGS="${1}"
ARGUMENTS="$(getopt --longoptions cow:,device:,output,resync-string:,type:,help,usage,version --name=${PROGRAM} --options c:d:o:t:r:,h,u,v --shell sh -- ${ARGS})"
- if [ "$?" != "0" ]
+ if [ "${?}" != "0" ]
then
echo "Terminating." >&2
exit 1
while true
do
- case "$1" in
+ case "${1}" in
-c|--cow)
- SNAP_COW="$2"
+ SNAP_COW="${2}"
shift 2
;;
-d|--device)
- SNAP_DEV="$2"
+ SNAP_DEV="${2}"
shift 2
;;
-o|--output)
- SNAP_OUTPUT="$2"
+ SNAP_OUTPUT="${2}"
shift 2
;;
-t|--type)
- SNAP_TYPE="$2"
+ SNAP_TYPE="${2}"
shift 2
;;
-r|--resync-string)
- SNAP_RSTRING="$2"
+ SNAP_RSTRING="${2}"
break
;;
Mount_device ()
{
- dev="$1"
+ dev="${1}"
if [ ! -d "${MOUNTP}" ]
then
# create a temp
mount -t tmpfs -o rw tmpfs "${MOUNTP}"
- if [ ! -L /home/$USERNAME/Desktop/live-snapshot ]
+ if [ ! -L /home/${USERNAME}/Desktop/live-snapshot ]
then
- ln -s "${MOUNTP}" /home/$USERNAME/Desktop/live-snapshot
+ ln -s "${MOUNTP}" /home/${USERNAME}/Desktop/live-snapshot
fi
else
if [ -b "${dev}" ]
DEV=""
DEST="${MOUNTP}/live-sn.cpio.gz"
TYPE="cpio"
- DESKTOP_LINK=/home/$USERNAME/Desktop/live-snapshot
+ DESKTOP_LINK=/home/${USERNAME}/Desktop/live-snapshot
if [ -n "${SNAP_RSTRING}" ]
then
TYPE="squashfs"
;;
+ *.jffs2)
+ TYPE="jffs2"
+ ;;
+
""|*.ext2|*.ext3)
TYPE="ext2"
;;
fi
case "${SNAP_TYPE}" in
- "cpio"|"squashfs"|"ext2"|"ext3")
+ "cpio"|"squashfs"|"ext2"|"ext3"|"jffs2")
TYPE="${SNAP_TYPE}"
;;
Usage "Error: ${COW} is not a directory"
fi
- Mount_device $DEV
+ Mount_device ${DEV}
}
Clean ()
{
- if [ -n "$DEV" ]
+ if [ -n "${DEV}" ]
then
umount "${MOUNTP}"
rmdir "${MOUNTP}"
Main ()
{
- Parse_args "$@"
+ Parse_args "${@}"
Defaults
Do_snapshot
Clean
}
-Main "$@"
+Main "${@}"