Magellan Linux

Annotation of /trunk/installer/include/prepare_disks.sh

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1047 - (hide annotations) (download) (as text)
Sun May 30 23:08:59 2010 UTC (14 years ago) by niro
File MIME type: application/x-sh
File size: 2202 byte(s)
-better ncurses support

1 niro 773 #!/bin/sh
2 niro 1020 # $Id$
3 niro 773
4     : ${INSTALL_ROOT="/mnt/magellan"}
5     KNOWN_DISKS="ROOT BOOT SWAP HOME TMP USER VAR SVR OPT"
6    
7     format_disks()
8     {
9     local disk
10     local disk_part
11     local disk_fs
12     local opts
13     local progress
14 niro 1047 local percent
15 niro 773
16     declare -i progress=0
17    
18     # disk format
19     for disk in ${KNOWN_DISKS}
20     do
21     disk_part=$(eval echo \$PARTITION_DISK_${disk})
22     disk_fs=$(eval echo \$PARTITION_FS_${disk})
23    
24     if [[ ! -z ${disk_part} ]]
25     then
26     if [[ ! -z ${disk_fs} ]]
27     then
28     case ${disk_fs} in
29 niro 1020 swap) mkswap ${disk_part} &> /dev/null;;
30     reiserfs) mkfs.${disk_fs} -f ${disk_part} &> /dev/null;;
31     keep-as-is) echo "keeping as-is." ;;
32     *) mkfs.${disk_fs} ${disk_part} &> /dev/null;;
33 niro 773 esac
34     fi
35     fi
36    
37     (( progress++ ))
38 niro 1047 percent=$(echo ${progress} 9 | awk '{print ($1 / $2 * 100) - 1}')
39     if [[ ${GUITYPE} = ncurses ]]
40     then
41     # no floats in ncurses gui possible
42     printf %.0f "${percent}"
43     else
44     echo "${percent}"
45     fi
46 niro 773 done
47    
48     echo "100"
49     }
50    
51     mount_disks()
52     {
53     local disk
54     local disk_part
55     local dest
56    
57     # activate swap
58     swapon ${PARTITION_DISK_SWAP}
59    
60     # first mount rootfs
61     mount ${PARTITION_DISK_ROOT} ${INSTALL_ROOT}
62    
63     # than all other
64     for disk in ${KNOWN_DISKS}
65     do
66     case ${disk} in
67     BOOT) dest=boot ;;
68     HOME) dest=home ;;
69     TMP) dest=tmp ;;
70     USER) dest=usr ;;
71     VAR) dest=var ;;
72     SVR) dest=svr ;;
73     OPT) dest=opt ;;
74     *) continue ;;
75     esac
76    
77     disk_part=$(eval echo \$PARTITION_DISK_${disk})
78     if [[ ! -z ${disk_part} ]]
79     then
80     install -d ${INSTALL_ROOT}/${dest}
81     mount ${disk_part} ${INSTALL_ROOT}/${dest}
82     fi
83     done
84     }
85    
86     umount_disks()
87     {
88     local disk
89     local disk_part
90     local dest
91    
92     # first umount all other
93     for disk in ${KNOWN_DISKS}
94     do
95     # excludes
96     case ${disk} in
97     ROOT) continue ;;
98     SWAP) continue ;;
99     esac
100    
101     disk_part=$(eval echo \$PARTITION_DISK_${disk})
102     [[ ! -z ${disk_part} ]] && umount ${disk_part}
103     done
104    
105     # then umount rootfs
106     umount ${PARTITION_DISK_ROOT}
107    
108     # de-activate swap
109     swapoff ${PARTITION_DISK_SWAP}
110     }
111    
112     case $1 in
113     --format | -f) format_disks ;;
114     --mount | -m ) mount_disks ;;
115     --umount | -u ) umount_disks ;;
116 niro 1020 *) echo "unknown option '$1'." ;;
117 niro 773 esac
118 niro 1047
119     case $2 in
120     --ncurses) GUITYPE="ncurses" ;;
121     --gtk) GUITYPE="gtk" ;;
122     *) GUITYPE="gtk" ;;
123     esac

Properties

Name Value
svn:executable *