summaryrefslogtreecommitdiffstats
path: root/builder/build-initramfs.sh
diff options
context:
space:
mode:
Diffstat (limited to 'builder/build-initramfs.sh')
-rwxr-xr-xbuilder/build-initramfs.sh27
1 files changed, 11 insertions, 16 deletions
diff --git a/builder/build-initramfs.sh b/builder/build-initramfs.sh
index 90a4fe77..71a65526 100755
--- a/builder/build-initramfs.sh
+++ b/builder/build-initramfs.sh
@@ -4,7 +4,7 @@
# region header
# Copyright Torben Sickert (info["~at~"]torben.website) 29.10.2015
-# Janosch Dobler (TODO) 29.10.2015
+# Janosch Dobler (info["~at~"]jandob.com) 29.10.2015
# License
# -------
@@ -283,17 +283,6 @@ function build_initramfs_initialize_dracut() {
popd
return $?
}
-function build_initramfs_create_qcow2_system() {
- # Packs current distribution in a qcow2 container.
- #
- # Examples:
- #
- # >>> build_initramfs_create_qcow2_system
- echo TODO
- # dmsetup snapshot ...
- #qemu-img create -f qcow2 "${CONTAINER_PATH}" "${QCOW_SIZE}"
- return $?
-}
function build_initramfs_cleanup() {
# Removes distribution specific generated files.
#
@@ -315,8 +304,8 @@ function build_initramfs_cleanup() {
## region dependency checks
-utils.dependency_check "${build_initramfs_dependencies[*]}"
-utils_dependency_check_pkgconfig "${build_initramfs_dependencies_pkgconfig[*]}"
+utils.dependency_check ${build_initramfs_dependencies[*]}
+utils_dependency_check_pkgconfig ${build_initramfs_dependencies_pkgconfig[*]}
# TODO check for existing kernel headers.
# Find lib locations: $(gcc -print-prog-name=cc1plus) -v
if ! ldconfig --print-cache | grep libz.so; then
@@ -337,8 +326,14 @@ if [[ "$build_initramfs_target" != '' ]]; then
build_initramfs__target="$build_initramfs_target"
if [[ -f "$build_initramfs_target" ]]; then
build_initramfs__target="$(mktemp --directory)"
- # TODO
- #qemu-nbd "$build_initramfs_target" "$build_initramfs__target"
+ build_initramfs__xmount_mountpoint_target="$(mktemp --directory)"
+ xmount --in qemu "$build_initramfs_target" --out raw \
+ "$build_initramfs__xmount_mountpoint_target"
+ build_initramfs__xmount_device_target="$(losetup --find)"
+ losetup "$build_initramfs__xmount_device_target" loopdev \
+ "${build_initramfs__xmount_mountpoint_target}/"*.dd
+ mount "$build_initramfs__xmount_device_target" \
+ "$build_initramfs__target"
fi
if [[ -d "$build_initramfs__target" ]]; then
build_initramfs__temporary_working_directory="$(chroot \