diff options
Diffstat (limited to 'builder/build-initramfs.sh')
-rwxr-xr-x | builder/build-initramfs.sh | 27 |
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 \ |