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