diff options
Diffstat (limited to 'packages/altboot/files/altboot-menu/Advanced/80-copyrootfs')
-rw-r--r-- | packages/altboot/files/altboot-menu/Advanced/80-copyrootfs | 323 |
1 files changed, 0 insertions, 323 deletions
diff --git a/packages/altboot/files/altboot-menu/Advanced/80-copyrootfs b/packages/altboot/files/altboot-menu/Advanced/80-copyrootfs deleted file mode 100644 index 2d305e349f..0000000000 --- a/packages/altboot/files/altboot-menu/Advanced/80-copyrootfs +++ /dev/null @@ -1,323 +0,0 @@ -# !/bin/sh -M_TITLE="Copy rootfs to SD/CF" -M_FLAGS="noRemember" - -# Unfinished script. -exit 0 - -ask_target() { - available_disks="`mount | grep "/media" | grep -v ram | awk '{print $3}'`" - - if test -z "$available_disks" - then - die "No mounted targets found!" - fi - - cnt=1 - for d in $available_disks - do - echo -e "\t[$cnt] $d" - let cnt=$cnt+1 - done - - while test -z "$ROOTFS_TARGET" - do - echo -n "Target: " - read junk </dev/tty1 - - x=1 - for d in $available_disks - do - if test "$junk" = "$x" - then - ROOTFS_TARGET="$d" - break - fi - let x=$x+1 - done - - - done - - ROOTFS_TARGET_DEV="`mount | grep "$ROOTFS_TARGET " | awk '{print $1}'`" - ROOTFS_TARGET_FS="`mount | grep "$ROOTFS_TARGET " | awk '{print $5}'`" - - echo "Using [$ROOTFS_TARGET] on [$ROOTFS_TARGET_DEV] with [$ROOTFS_TARGET_FS] filesystem" -} - -ask_format() { - if test "$ROOTFS_TARGET_FS" != ext2 - then - echo -e "\nYou are not using the ext2 filesystem on your target ($ROOTFS_TARGET_FS)$.\nYou now have two choices:" - echo -e "\t[1] Reformat to ext2" - echo -e "\t[2] Use an image-file ontop of the existing filesystem" - - while true - do - echo -n "Your choice: " - read junk </dev/tty1 - - case "$junk" in - 1) ROOTFS_TARGET_TYPE="ext2" - break ;; - 2) ROOTFS_TARGET_TYPE="image" - break ;; - esac - done - - echo "Mode: [$ROOTFS_TARGET_TYPE]" - else - echo -e "\nYou are using the ext2 filesystem on your target.\nYou now have two choices:" - echo -e "\t[1] Install to the target directly" - echo -e "\t[2] Use an image-file ontop of the existing filesystem\n" - - while true - do - echo -n "Your choice: " - read junk </dev/tty1 - - case "$junk" in - 1) ROOTFS_TARGET_TYPE="direct" - break ;; - 2) ROOTFS_TARGET_TYPE="image" - break ;; - esac - done - - echo "Mode: [$ROOTFS_TARGET_TYPE]" - - fi -} - -ask_confirm() { - echo -e "\nYour choices are:" - echo -e "\tTarget:\t$ROOTFS_TARGET_DEV (currently mounted as $ROOTFS_TARGET)" - case "$ROOTFS_TARGET_TYPE" in - direct) echo -e "\tType:\t${C_RED}direct install, reformat if required${C_RESET}";; - image) echo -e "\tType:\tinstall into image-file";; - esac - - while true - do - echo -n "Continue? [y|n] " - read junk </dev/tty1 - - case "$junk" in - y) break ;; - n) exit 1 - esac - done -} - -direct_install() { - - #format_target - - echo -n "Creating temporary directory..." - mkdir -p /media/temp && echo ok || die "mkdir -p /media/temp failed!" - - echo -n "Mounting [$ROOTFS_TARGET_DEV] as /media/temp..." - mount "$ROOTFS_TARGET_DEV" /media/temp && echo "ok" || die "mount "$ROOTFS_TARGET_DEV" /media/temp FAILED" - - copy_files -} - -format_target() { - echo -e "\n\nI'm about to format your target ($ROOTFS_TARGET_DEV) to the ext2 filesystem\n" - echo -e "${C_RED}YOU WILL LOSE ALL DATA ON YOUR TARGET IF YOU CONTINUE${C_RESET}\n" - - while true - do - echo -n "Continue? [y|n] " - read junk </dev/tty1 - - case "$junk" in - y) break ;; - n) die "User aborted mkfs" - break ;; - esac - done - - echo -n "Umounting $ROOTFS_TARGET_DEV..." - umount "$ROOTFS_TARGET_DEV" && echo "ok" || die "umount $ROOTFS_TARGET_DEV failed!" - - - echo "Formatting..." - /sbin/mkfs.ext2 -m0 "$ROOTFS_TARGET_DEV" && echo -e "\nmkfs.ext2 finished" || die "\nmkfs.ext2 FAILED" - } - -image_install() { - flash_size="` df -h | grep "/"$| awk '{print $3}'| sed s/M//`" - - echo -e "\nHow many MB do you want to configure for the image file?" - echo -e "It is generally a good idea to use 2.5x the used flash size ($flash_size)\n" - - while test -z "$ROOTFS_IMAGE_SIZE" - do - echo -n "Size in MegaBytes: " - read junk - - # test fails if $junk isn't a number - if test "$junk" -gt 0 >/dev/null 2>&1 - then - echo -n "Use [$junk]MB? [y|n] " - read junk2 - if test "$junk2" = y - then - ROOTFS_IMAGE_SIZE="$junk" - fi - fi - done - - echo -e "\nPlease enter a name for the image file." - echo "The name must _not_ contain whitespaces or the '-' sign." - - while test -z "$ROOTFS_IMAGE_NAME" - do - echo -n "File name: " - read junk - - if ! test -z "$junk" - then - echo -n "Use [$junk] as image name? [y|n] " - read junk2 - - if test "$junk2" = y - then - ROOTFS_IMAGE_NAME="$junk" - fi - fi - done - - echo -e "\nDo you want to format [$ROOTFS_TARGET_DEV] to the ext2 filesystem?" - - while true - do - echo -n "Format to ext2? [y|n] " - read junk - case "$junk" in - y) format_target - break ;; - n) break ;; - esac - done - - /etc/init.d/devices start - - echo -en "\nCreating image file [$ROOTFS_TARGET/$IMAGE_PATH/$ROOTFS_IMAGE_NAME-rootfs.bin] (${ROOTFS_IMAGE_SIZE}MB)..." - mkdir -p "$ROOTFS_TARGET/$IMAGE_PATH" - - dd if=/dev/zero of="$ROOTFS_TARGET/$IMAGE_PATH/$ROOTFS_IMAGE_NAME-rootfs.bin" bs=1024k count=$ROOTFS_IMAGE_SIZE >/dev/null 2>&1 && echo ok || die "FAILED" - losetup /dev/loop1 "$ROOTFS_TARGET/$IMAGE_PATH/$ROOTFS_IMAGE_NAME-rootfs.bin" - - echo -n "Creating filesystem..." - mkfs.ext2 -m0 /dev/loop1 >/dev/null 2>&1 && echo ok || die FAILED - - mkdir -p /media/temp - mount /dev/loop1 /media/temp || die "mount /dev/loop1 /media/temo FAILED!" - - copy_files - -} - -copy_files() { - echo -e "\nCopying files..." - - exclude_list="tmp sys proc var dev media root" - mkdir_list="var proc sys dev media/card media/cf /media/hdd" - - if (cat /etc/fstab | grep -q "/home") - then - echo "Note: /home appears to be mounted on a different flash partition: not copying /home" - exclude_list="$exclude_list home" - mkdir_list="$mkdir_list home/root" - - fi - - - - source_dirs="`ls -1 /`" - - echo -n "Excluding [" - for d in $exclude_list - do - echo -n "$d " - source_dirs="`echo "$source_dirs" | grep -v "$d"`" - done - echo "] from copy" - - - cd / - for dir in $source_dirs - do - if test -d "$dir" - then - echo -n "Copying [$dir]..." - cp -a $dir /media/temp && echo ok || echo FAILED - fi - done - - for dir in $mkdir_list - do - mkdir -p /media/temp/$dir - done - - rm /media/temp/etc/rcS.s/S39sd - -} -run_module() { - - test -e /etc/altboot.func && . /etc/altboot.func || die "ERROR: /etc/altboot.func not found. Check your installation!" - - echo -e "${C_RED}* * * * * WARNING * * * * *${C_RESET}" - echo -e "${C_RED}Continueing will delete the content of the selected target device.\nTHIS IS NO JOKE. If you do now know what this menu-item does, exit NOW${C_RESET}" - - mount -o remount,rw / - - while true - do - echo -en "\nContinue? [y|n] " - read junk </dev/tty1 - - if test "$junk" = n - then - exit 0 - fi - - if test "$junk" = y - then - break - fi - done - -# echo -n "Trying to activate PCMCIA..." -# cardmgr -o >/dev/null 2>&1 && echo ok || echo "FAILED" -# -# echo -n "Trying to mount SD card..." -# /etc/init.d/sd start >/dev/null 2>&1 -# sleep 3 -# /etc/sdcontrol insert >/dev/null 2>&1 && echo ok || echo "FAILED" - - #exit 0 - echo -e "\nPlease select the target device:" - - # Sets ROOTFS_TARGET* - ask_target - - # Sets ROOTFS_TARGET_TYPE ([direct | image] - ask_format - - # Ask confirmation - ask_confirm - - case "$ROOTFS_TARGET_TYPE" in - direct) direct_install;; - image) image_install;; - esac -} - -case "$1" in -title) echo "$M_TITLE";; -flags) echo "$M_FLAGS";; -run) run_module;; -esac |