Magellan Linux

Annotation of /tags/installer-0_1_2/include/prepare_disks.sh

Parent Directory Parent Directory | Revision Log Revision Log


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

Properties

Name Value
svn:executable *