diff options
author | Adam Coldrick <adam.coldrick@codethink.co.uk> | 2015-06-02 14:01:55 +0000 |
---|---|---|
committer | Adam Coldrick <adam.coldrick@codethink.co.uk> | 2015-06-02 14:01:55 +0000 |
commit | c6abc426b5857f9b1edd9c72e3094c1e2df8a7bf (patch) | |
tree | eff61e6fe9bb3adcf254c4e86eebca7190c65cce /extensions/image-package-example/common.sh.in | |
parent | 4f43fdd08770c113f7443fecbda43d4316091d4b (diff) | |
parent | 02faf51e91a8c55adfbb6d953bca354ab99bf261 (diff) | |
download | definitions-c6abc426b5857f9b1edd9c72e3094c1e2df8a7bf.tar.gz |
Merge branch 'baserock/adamcoldrick/all-exts-in-definitions-v2'
Reviewed-by: Richard Maw <richard.maw@codethink.co.uk>
Diffstat (limited to 'extensions/image-package-example/common.sh.in')
-rw-r--r-- | extensions/image-package-example/common.sh.in | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/extensions/image-package-example/common.sh.in b/extensions/image-package-example/common.sh.in new file mode 100644 index 00000000..9a7389a7 --- /dev/null +++ b/extensions/image-package-example/common.sh.in @@ -0,0 +1,72 @@ +#!/bin/false +# Script library to be used by disk-install.sh and make-disk-image.sh + +status(){ + echo "$@" +} + +info(){ + echo "$@" >&2 +} + +warn(){ + echo "$@" >&2 +} + +extract_rootfs(){ + tar -C "$1" -xf @@ROOTFS_TAR_PATH@@ . +} + +make_disk_image(){ + truncate --size "$1" "$2" +} + +format_disk(){ + local disk="$1" + mkfs.ext4 -F -L rootfs "$disk" +} + +install_fs_config(){ + local mountpoint="$1" + local rootdisk="${2-/dev/vda}" + cat >>"$mountpoint/etc/fstab" <<EOF +$rootdisk / ext4 rw,errors=remount-ro 0 0 +EOF + install -D -m 644 /proc/self/fd/0 "$mountpoint/boot/extlinux.conf" <<EOF +DEFAULT baserock +LABEL baserock +SAY Booting Baserock +LINUX /boot/vmlinuz +APPEND root=$rootdisk +EOF +} + +install_bootloader(){ + local disk="$1" + local mountpoint="$2" + dd if=@@IMAGE_DIR@@/mbr.bin conv=notrunc bs=440 count=1 of="$disk" + extlinux --install "$mountpoint/boot" +} + +loop_file(){ + losetup --show --find "$1" +} +unloop_file(){ + #losetup --detach "$1" + # unlooping handled by umount -d, for busybox compatibility + true +} + +temp_mount(){ + local mp="$(mktemp -d)" + if ! mount "$@" "$mp"; then + rmdir "$mp" + return 1 + fi + echo "$mp" +} +untemp_mount(){ + # Unmount and detach in one step for busybox compatibility + umount -d "$1" + rmdir "$1" +} |