From 040240a77267ff8b135d77fd989f648ed9a14363 Mon Sep 17 00:00:00 2001 From: torben Date: Thu, 3 Dec 2015 11:02:16 +0100 Subject: Write new routine bodys. --- builder/build-initramfs.sh | 53 ++++++++++++++++++++++++++++++++-------------- 1 file changed, 37 insertions(+), 16 deletions(-) (limited to 'builder') diff --git a/builder/build-initramfs.sh b/builder/build-initramfs.sh index 503da8cd..3a5694a2 100755 --- a/builder/build-initramfs.sh +++ b/builder/build-initramfs.sh @@ -65,12 +65,10 @@ exceptions.init build_initramfs_verbose='no' build_initramfs_debug='no' -build_initramfs_create_system_image='no' +build_initramfs_create_system_image='' +build_initramfs_cleanup='no' build_initramfs_dependencies=(bash cpio git test shift echo mktemp cat rm sed \ gzip curl tar grep make gcc cmake) -# TODO Check for: -# /usr/lib/x86_64-linux-gnu/libz.so ldconfig -p |grep libz.so -# for dnbd3 # endregion @@ -102,8 +100,9 @@ function build_initramfs_print_command_line_option_description() { -d --debug Gives you any output from all tools which are used (default: "$build_initramfs_debug"). --l --load-environment Simple load the install arch linux scope without - doing anything else. +-c --cleanup Removes all distribution specific compiled files. + +-i --create-system-image Creates an image under given path from current system. -c --create-system-image Creates a system image file for given path (default: "$build_initramfs_create_system_image"). @@ -140,7 +139,11 @@ function build_initramfs_parse_command_line() { logging.set_commands_log_level debug logging.set_log_level debug ;; - -c|--create-system-image) + -c|--cleanup) + shift + build_initramfs_cleanup='yes' + ;; + -i|--create-system-image) shift build_initramfs_create_system_image="$1" shift @@ -196,8 +199,17 @@ function build_initramfs_create_qcow2_system() { # Examples: # # >>> build_initramfs_create_qcow2_system - # TODO - qemu-img create -f qcow2 "${CONTAINER_PATH}" "${QCOW_SIZE}" + echo TODO + #qemu-img create -f qcow2 "${CONTAINER_PATH}" "${QCOW_SIZE}" + return $? +} +function build_initramfs_cleanup() { + # Removes distribution specific generated files. + # + # Examples: + # + # >>> build_initramfs_cleanup + echo TODO return $? } @@ -205,11 +217,11 @@ function build_initramfs_create_qcow2_system() { # region controller -# TODO link dracut module if present in same folder or download if not present -# already. -# TODO write clean procedure (also clean dracut module). # TODO check for existing kernel headers: # ubuntu: sudo apt-get install linux-headers-$(uname -r) +# TODO Check for: +# /usr/lib/x86_64-linux-gnu/libz.so ldconfig -p |grep libz.so +# for dnbd3 utils.dependency_check "${build_initramfs_dependencies[*]}" if ! build_initramfs_parse_command_line "$@"; then @@ -245,10 +257,19 @@ if [ "$build_initramfs_debug" == 'yes' ]; then build_initramfs__loglevel="$build_initramfs__loglevel --stdlog 4" build_initramfs__modules="$build_initramfs__modules i18n terminfo" fi -logging.info 'Build initramfs.' -dracut/dracut.sh --local $build_initramfs__loglevel --force --modules \ - "$build_initramfs__modules" --no-hostonly /boot/initramfs-test.img -logging.info 'All done!' +if [[ "$build_initramfs_create_system_image" != '' ]]; then + logging.info 'Create system image.' + echo "$build_initramfs_create_system_image" + build_initramfs_create_qcow2_system "$build_initramfs_create_system_image" +elif [[ "$build_initramfs_cleanup" == 'yes' ]]; then + logging.info 'Removing distribution specific files.' + build_initramfs_cleanup +else + logging.info 'Build initramfs.' + dracut/dracut.sh --local $build_initramfs__loglevel --force --modules \ + "$build_initramfs__modules" --no-hostonly /boot/initramfs-test.img +fi +logging.info 'Done!' # endregion -- cgit v1.2.3-55-g7522