diff options
Diffstat (limited to 'src/partvi')
-rwxr-xr-x | src/partvi | 27 |
1 files changed, 3 insertions, 24 deletions
@@ -249,38 +249,17 @@ create_ptable_conf() | |||
249 | start=$((start + devsz)) | 249 | start=$((start + devsz)) |
250 | } | 250 | } |
251 | 251 | ||
252 | sfdisk_init() | ||
253 | { | ||
254 | local DEV LAST LAST_LBA | ||
255 | DEV=$1 | ||
256 | if [ -b "$DEV" ] | ||
257 | then | ||
258 | LAST=$($sudo blockdev --getsize64 "$DEV") || return | ||
259 | else | ||
260 | LAST=$(stat -L -c%s "$DEV") || return | ||
261 | fi | ||
262 | LAST_LBA=$((LAST / 512 - 34)) | ||
263 | |||
264 | cat <<END | ||
265 | label: gpt | ||
266 | unit: sectors | ||
267 | first-lba: 34 | ||
268 | last-lba: ${LAST_LBA} | ||
269 | |||
270 | END | ||
271 | } | ||
272 | |||
273 | pee_on_table() | 252 | pee_on_table() |
274 | { | 253 | { |
275 | GPT_TABLE_FILE=$builddir/table.gpt | 254 | GPT_TABLE_FILE=$builddir/table.gpt |
276 | DOS_TABLE_FILE=$builddir/table.mbr | 255 | DOS_TABLE_FILE=$builddir/table.mbr |
277 | 256 | ||
257 | printf 'label: gpt\n\n' > "$GPT_TABLE_FILE" | ||
258 | : > "$DOS_TABLE_FILE" | ||
259 | |||
278 | local dev="$1" | 260 | local dev="$1" |
279 | i=1 | 261 | i=1 |
280 | start=0 | 262 | start=0 |
281 | |||
282 | sfdisk_init "$dev" > "$GPT_TABLE_FILE" | ||
283 | : > "$DOS_TABLE_FILE" | ||
284 | iterate_partitions create_ptable_conf | 263 | iterate_partitions create_ptable_conf |
285 | 264 | ||
286 | ( | 265 | ( |