Revision 77449e7c common.sh.in
b/common.sh.in | ||
---|---|---|
111 | 111 |
} |
112 | 112 |
|
113 | 113 |
format_disk0() { |
114 |
if [ "${SWAP}" = "yes" ] ; then |
|
114 |
local sfdisk_cmd="$SFDISK -uM -H 255 -S 63 --quiet --Linux \"$1\"" |
|
115 |
if [ "${SWAP}" = "yes" -a -z "${KERNEL_PATH}" ] ; then |
|
115 | 116 |
# Create three partitions: |
116 | 117 |
# 1 - 100MB /boot, bootable |
117 | 118 |
# 2 - Size of Memory, swap |
118 | 119 |
# 3 - Rest |
119 |
$SFDISK -uM -H 255 -S 63 --quiet --Linux "$1" <<EOF
|
|
120 |
$sfdisk_cmd <<EOF
|
|
120 | 121 |
,100,L,* |
121 | 122 |
,$INSTANCE_BE_memory,S |
122 | 123 |
,,L |
123 | 124 |
EOF |
124 |
else
|
|
125 |
elif [ "${SWAP}" = "no" -a -z "${KERNEL_PATH}" ] ; then
|
|
125 | 126 |
# Create two partitions: |
126 | 127 |
# 1 - 100MB /boot, bootable |
127 | 128 |
# 2 - Rest |
128 |
$SFDISK -uM -H 255 -S 63 --quiet --Linux "$1" <<EOF
|
|
129 |
$sfdisk_cmd <<EOF
|
|
129 | 130 |
,100,L,* |
130 | 131 |
,,L |
131 | 132 |
EOF |
133 |
elif [ "${SWAP}" = "yes" -a -n "${KERNEL_PATH}" ] ; then |
|
134 |
# Create two partitions: |
|
135 |
# 1 - Size of Memory, swap |
|
136 |
# 2 - Rest |
|
137 |
$sfdisk_cmd <<EOF |
|
138 |
,$INSTANCE_BE_memory,S |
|
139 |
,,L |
|
140 |
EOF |
|
141 |
elif [ "${SWAP}" = "no" -a -n "${KERNEL_PATH}" ] ; then |
|
142 |
# Create two partitions: |
|
143 |
# 1 - Whole |
|
144 |
$sfdisk_cmd <<EOF |
|
145 |
,,L |
|
146 |
EOF |
|
132 | 147 |
fi |
133 | 148 |
} |
134 | 149 |
|
135 | 150 |
mkfs_disk0() { |
136 |
local boot_dev=$1 root_dev=$2 swap_dev=$3 |
|
137 |
# Format /boot |
|
138 |
mke2fs -Fjq -L /boot $boot_dev |
|
139 | 151 |
# Format / |
140 |
mke2fs -Fjq -L / $root_dev |
|
141 |
if [ "${SWAP}" = "yes" ] ; then |
|
152 |
mkfs.ext3 -Fq -L / $root_dev |
|
153 |
# Format /boot |
|
154 |
if [ -n "${boot_dev}" ] ; then |
|
155 |
mkfs.ext3 -Fq -L /boot $boot_dev |
|
156 |
fi |
|
157 |
# Format swap |
|
158 |
if [ -n "${swap_dev}" ] ; then |
|
142 | 159 |
# Format swap |
143 | 160 |
mkswap -f $swap_dev |
144 | 161 |
fi |
145 | 162 |
} |
146 | 163 |
|
147 | 164 |
mount_disk0() { |
148 |
local target=$1 root_dev=$2 boot_dev=$3
|
|
165 |
local target=$1 |
|
149 | 166 |
mount $root_dev $target |
150 | 167 |
CLEANUP+=("umount $target") |
151 |
$MKDIR_P $target/boot |
|
152 |
mount $boot_dev $target/boot |
|
153 |
CLEANUP+=("umount $target/boot") |
|
168 |
if [ -n "${boot_dev}" ] ; then |
|
169 |
$MKDIR_P $target/boot |
|
170 |
mount $boot_dev $target/boot |
|
171 |
CLEANUP+=("umount $target/boot") |
|
172 |
fi |
|
154 | 173 |
} |
155 | 174 |
|
156 | 175 |
map_disk0() { |
157 |
blockdev="$1" |
|
158 |
filesystem_dev_base=`$KPARTX -l -p- $blockdev | \ |
|
159 |
grep -m 1 -- "-1.*$blockdev" | \ |
|
160 |
$AWK '{print $1}'` |
|
161 |
if [ -z "$filesystem_dev_base" ]; then |
|
162 |
log_error "Cannot interpret kpartx output and get partition mapping" |
|
163 |
exit 1 |
|
164 |
fi |
|
165 |
$KPARTX -a -p- $blockdev > /dev/null |
|
166 |
filesystem_dev="/dev/mapper/${filesystem_dev_base/%-1/}" |
|
167 |
if [ ! -b "/dev/mapper/$filesystem_dev_base" ]; then |
|
168 |
log_error "Can't find kpartx mapped partition: /dev/mapper/$filesystem_dev_base" |
|
169 |
exit 1 |
|
170 |
fi |
|
171 |
echo "$filesystem_dev" |
|
176 |
blockdev="$1" |
|
177 |
filesystem_dev_base=`$KPARTX -l -p- $blockdev | \ |
|
178 |
grep -m 1 -- "-1.*$blockdev" | \ |
|
179 |
$AWK '{print $1}'` |
|
180 |
if [ -z "$filesystem_dev_base" ]; then |
|
181 |
log_error "Cannot interpret kpartx output and get partition mapping" |
|
182 |
exit 1 |
|
183 |
fi |
|
184 |
$KPARTX -a -p- $blockdev > /dev/null |
|
185 |
filesystem_dev="/dev/mapper/${filesystem_dev_base/%-1/}" |
|
186 |
if [ ! -b "/dev/mapper/$filesystem_dev_base" ]; then |
|
187 |
log_error "Can't find kpartx mapped partition: /dev/mapper/$filesystem_dev_base" |
|
188 |
exit 1 |
|
189 |
fi |
|
190 |
if [ "${SWAP}" = "yes" -a -z "${KERNEL_PATH}" ] ; then |
|
191 |
boot_dev="${filesystem_base_dev}-1" |
|
192 |
swap_dev="${filesystem_base_dev}-2" |
|
193 |
root_dev="${filesystem_base_dev}-3" |
|
194 |
elif [ "${SWAP}" = "no" -a -z "${KERNEL_PATH}" ] ; then |
|
195 |
boot_dev="${filesystem_base_dev}-1" |
|
196 |
root_dev="${filesystem_base_dev}-2" |
|
197 |
elif [ "${SWAP}" = "yes" -a -n "${KERNEL_PATH}" ] ; then |
|
198 |
swap_dev="${filesystem_base_dev}-1" |
|
199 |
root_dev="${filesystem_base_dev}-2" |
|
200 |
elif [ "${SWAP}" = "no" -a -n "${KERNEL_PATH}" ] ; then |
|
201 |
root_dev="${filesystem_base_dev}-1" |
|
202 |
fi |
|
203 |
echo "$filesystem_dev" |
|
172 | 204 |
} |
173 | 205 |
|
174 | 206 |
unmap_disk0() { |
... | ... | |
208 | 240 |
: ${IMAGE_DEBUG:="0"} |
209 | 241 |
|
210 | 242 |
SCRIPT_NAME=$(basename $0) |
243 |
KERNEL_PATH="$INSTANCE_HV_kernel_path" |
|
211 | 244 |
|
212 | 245 |
if [ -f /sbin/blkid -a -x /sbin/blkid ]; then |
213 | 246 |
VOL_ID="/sbin/blkid -o value -s UUID" |
Also available in: Unified diff