Magellan Linux

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1061 - (show annotations) (download) (as text)
Mon May 31 21:01:51 2010 UTC (13 years, 11 months ago) by niro
File MIME type: application/x-sh
File size: 2308 byte(s)
-pipe everything to INSTALLER_LOG
-fixed printf; added crlf for "gauge" in ncurses gui
-honor GUITYPE variable properly
1 #!/bin/sh
2 # $Id$
3
4 source /etc/installer.conf
5
6 : ${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 local percent
17
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 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 esac
36 fi
37 fi
38
39 (( progress++ ))
40 percent=$(echo ${progress} 9 | awk '{print ($1 / $2 * 100) - 1}')
41 if [[ ${GUITYPE} = ncurses ]]
42 then
43 # no floats in ncurses gui possible + crlf
44 printf %.0f "${percent}";printf '\n'
45 else
46 echo "${percent}"
47 fi
48 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 case $2 in
115 --ncurses) GUITYPE="ncurses" ;;
116 --gtk) GUITYPE="gtk" ;;
117 *) GUITYPE="gtk" ;;
118 esac
119
120 case $1 in
121 --format | -f) format_disks ;;
122 --mount | -m ) mount_disks ;;
123 --umount | -u ) umount_disks ;;
124 *) echo "unknown option '$1'." ;;
125 esac

Properties

Name Value
svn:executable *