summaryrefslogtreecommitdiffstats
path: root/builder/build-initramfs.sh
diff options
context:
space:
mode:
authortorben2015-12-03 11:02:16 +0100
committertorben2015-12-03 11:02:16 +0100
commit040240a77267ff8b135d77fd989f648ed9a14363 (patch)
tree651d6c3e54e2218376e9c5cd56fc129bc0e2617f /builder/build-initramfs.sh
parentbugfixes (diff)
downloadsystemd-init-040240a77267ff8b135d77fd989f648ed9a14363.tar.gz
systemd-init-040240a77267ff8b135d77fd989f648ed9a14363.tar.xz
systemd-init-040240a77267ff8b135d77fd989f648ed9a14363.zip
Write new routine bodys.
Diffstat (limited to 'builder/build-initramfs.sh')
-rwxr-xr-xbuilder/build-initramfs.sh53
1 files changed, 37 insertions, 16 deletions
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