proper partx support

This commit is contained in:
parazyd 2017-05-15 16:05:03 +02:00
parent 51f8be6509
commit 09d62450cb
No known key found for this signature in database
GPG Key ID: F0CB28FCF78637DE
2 changed files with 12 additions and 15 deletions

View File

@ -19,6 +19,8 @@
## helper functions that make my life easier
vars+=(loopdevice)
build_image_dist() {
fn build_image_dist
req=(arch size parted_type)
@ -143,20 +145,17 @@ wrapup() {
exit 1
}
findloopmapp() {
fn findloopmapp
findloopdev() {
fn findloopdev
req=(workdir image_name)
ckreq || return 1
notice "finding a free loopdevice"
loopdevice=$(sudo losetup -f --show $workdir/${image_name}.img)
mappdevice=$(sudo partx -va $loopdevice | \
sed -E 's/.*(loop[0-9])p.*/\1/g' | sed 1q)
sudo partx -av $loopdevice || zerr
func "loopdevice: $loopdevice"
func "mappdevice: $mappdevice"
silly sleep 2
}

View File

@ -45,12 +45,11 @@ image_partition_raw_dos() {
parted $workdir/${image_name}.img --script -- mkpart primary ${parted_boot}
parted $workdir/${image_name}.img --script -- mkpart primary ${parted_root}
## get loopdevice and mapper device (see ./helpers)
findloopmapp
## get loopdevice (see ./helpers)
findloopdev
mappdevice="/dev/mapper/${mappdevice}"
bootpart=${mappdevice}p1
rootpart=${mappdevice}p2
bootpart=${loopdevice}p1
rootpart=${loopdevice}p2
notice "formatting partitions..."
sudo mkfs.vfat ${bootpart}
@ -77,11 +76,10 @@ image_partition_raw_gpt() {
awk '/Sec GPT table/ {print $1}') - ${gpt_root[1]}) \
-l Root $workdir/${image_name}.img
findloopmapp
findloopdev
mappdevice="/dev/mapper/${mappdevice}"
bootpart=${mappdevice}p1
rootpart=${mappdevice}p2
bootpart="${loopdevice}p1"
rootpart="${loopdevice}p2"
notice "formatting partitions..."
sudo mkfs.ext4 -L rootfs ${rootpart}