some modification on instpkg
[cmdllinux.git] / scripts / manage / partdrive
blob6f4e02be18cdf9faa87c2752054caf3583cb2dd2
1 #! /bin/sh
3 : ${DIALOG=dialog}
5 tempfile=`mktemp 2> /dev/null` || tempfile=/tmp/test$$
6 trap "rm -f $tempfile" 0 1 2 5 15
8 lsdev()
10 test -L /sys/block/$(ls /sys/block | head -n 1) && \
11 find /sys/devices -path "*/block/*" \( -name "[hs]d[a-z]" -o -name "ub[a-z]" \) || \
12 find /sys/block \( -name "[hs]d[a-z]" -o -name "ub[a-z]" \)
15 lsdrives()
17 for drv in $(lsdev); do
18 echo -n "/dev/$(basename $drv) "
19 cd $drv
20 dirrel="$(readlink device)"
21 [ -e $dirrel/model ] && model=`cat $dirrel/vendor | sed 's/ *$//' | tr ' ' _`_`cat $dirrel/model | sed 's/ *$//' | tr ' ' _` && echo "$model" && continue
22 dirrel=$(dirname $(readlink device))
23 [ -e $dirrel/manufacturer ] && model=`cat $dirrel/manufacturer | sed 's/ *$//' | tr ' ' _`_`cat $dirrel/product | sed 's/ *$//' | tr ' ' _` && echo "$model" && continue
24 echo "-"
25 done
28 $DIALOG --backtitle "Partition your disks" \
29 --title "" --clear \
30 --menu "" 20 61 15 \
31 `lsdrives` 2> $tempfile
33 retval=$?
35 choice=`cat $tempfile`
36 case $retval in
38 if [ ! -z "$choice" ]; then
39 cfdisk $choice
40 hdparm -z $choice
44 #cancel pressed
46 255)
47 #ESC pressed
49 esac