tazusb annotate tazusb-box @ rev 170

Add linux64 support
author Pascal Bellard <pascal.bellard@slitaz.org>
date Wed Dec 03 13:30:45 2014 +0100 (2014-12-03)
parents a5f5b6aad358
children 8ddffadf56a6
rev   line source
pankso@110 1 #!/bin/sh
pankso@110 2 #
pankso@110 3 # Tiny GTK interface to SliTaz Live USB tool aka TazUSB.
pankso@110 4 #
pankso@110 5 # Copyright (C) 2012 SliTaz GNU/Linux - GNU gpl v2
pankso@110 6 #
pankso@110 7 # Authors : Christophe Lincoln <pankso@slitaz.org>
pankso@110 8 #
pankso@130 9 . /lib/libtaz.sh
pankso@110 10
pankso@110 11 # TazUSBbox is only for root.
pankso@110 12 if test $(id -u) != 0 ; then
pankso@125 13 exec tazbox su tazusb-box
pankso@110 14 exit 0
pankso@110 15 fi
pankso@110 16
pankso@130 17 # We can specify an ISO on cmdline: tazusb-box --iso=/path/to/image.iso
pankso@130 18 [ "$iso" ] || iso=" "
pankso@130 19
pankso@125 20 title="TazUSB Box"
pankso@130 21 icon="/usr/share/pixmaps/slitaz-icon.png"
pankso@130 22 opts="--window-icon=$icon --height=220 --width=520 --center --on-top"
pankso@125 23
pankso@110 24 # I18n
pankso@110 25 . /usr/bin/gettext.sh
pankso@110 26 TEXTDOMAIN='tazusb-box'
pankso@110 27 export TEXTDOMAIN
pankso@110 28
pankso@125 29 # Main text information
pankso@110 30 info="$(gettext "<b>Generate SliTaz LiveUSB media and boot in RAM!</b> \
pankso@110 31 Insert a LiveCD into the cdrom drive or use a local ISO image, select \
pankso@110 32 the correct device and press OK.")
pankso@110 33 "
pankso@110 34
pankso@110 35 #
pankso@110 36 # Functions
pankso@110 37 #
pankso@110 38
pankso@125 39 # Nice GTK output for commands.
pankso@125 40 output() {
pankso@130 41 yad --text-info $opts --title="$title" --tail --margins=4 \
pankso@130 42 --button="Reboot:reboot" --button="gtk-close:0"
pankso@110 43 }
pankso@110 44
pankso@110 45 list_devices() {
pankso@110 46 if [ -d /proc/scsi/usb-storage ]; then
pankso@110 47 dev="$(blkid | cut -d ":" -f 1)"
pankso@110 48 echo $dev | sed s'/ /!/'g
pankso@110 49 else
pankso@110 50 gettext "No USB media found"
pankso@110 51 fi
pankso@110 52 }
pankso@110 53
pankso@110 54 # Main GUI box function with pure Yad spec
pankso@130 55 usbbox_main() {
pankso@130 56 yad --form $opts --title="$title" --text="$info" \
pankso@130 57 --image=usb-creator --image-on-top \
pankso@110 58 --field="$(gettext "ISO Image:")":FL \
pankso@110 59 --field="$(gettext "USB Media:")":CB \
pankso@130 60 "$iso" "$(list_devices)"
pankso@110 61 }
pankso@110 62
pankso@110 63 # Handler
pankso@130 64 usbbox() {
pankso@110 65 # Store box results
pankso@130 66 main=$(usbbox_main)
pankso@130 67
pankso@110 68 # Deal with --button values
pankso@130 69 case $? in
pankso@110 70 1) exit 0 ;;
pankso@110 71 *) continue ;;
pankso@110 72 esac
pankso@130 73
pankso@110 74 # Deal with $main values. Exit if any device.
pankso@110 75 dev=$(echo $main | cut -d "|" -f 2)
pankso@110 76 if ! echo $dev | grep -q /dev; then
pankso@130 77 echo "No device: exit" && exit 0
pankso@130 78 fi
pankso@110 79 if echo "$main" | grep -q ".iso|"; then
pankso@110 80 iso=$(echo $main | cut -d "|" -f 1)
pankso@130 81 yes "" | tazusb gen-iso2usb $iso $dev --output=raw | output
pankso@110 82 else
pankso@130 83 yes "" | tazusb gen-liveusb $dev --output=raw | output
pankso@110 84 fi
pankso@110 85 }
pankso@110 86
pankso@110 87 #
pankso@110 88 # Script commands
pankso@110 89 #
pankso@110 90
pankso@110 91 case "$1" in
pankso@110 92 usage)
pankso@130 93 echo "Usage: $(basename $0) [list]" ;;
pankso@130 94 list)
pankso@130 95 list_devices ;;
pankso@130 96 *)
pankso@130 97 usbbox ;;
pankso@110 98 esac
pankso@110 99
pankso@110 100 exit 0
pankso@110 101