summaryrefslogtreecommitdiffstats
path: root/builder
diff options
context:
space:
mode:
authorjandob2015-12-12 09:29:53 +0100
committerjandob2015-12-12 09:29:53 +0100
commitba795216807f3ea583f11388341daad3a64141a1 (patch)
treeb30a2a26e56782d170261df44ce4ccc7dcb2dd1d /builder
parentfix (diff)
parentFix. (diff)
downloadsystemd-init-ba795216807f3ea583f11388341daad3a64141a1.tar.gz
systemd-init-ba795216807f3ea583f11388341daad3a64141a1.tar.xz
systemd-init-ba795216807f3ea583f11388341daad3a64141a1.zip
merge
Diffstat (limited to 'builder')
-rwxr-xr-xbuilder/build-initramfs.sh37
1 files changed, 37 insertions, 0 deletions
diff --git a/builder/build-initramfs.sh b/builder/build-initramfs.sh
index f1993fbf..a513b752 100755
--- a/builder/build-initramfs.sh
+++ b/builder/build-initramfs.sh
@@ -314,6 +314,24 @@ if [[ "$build_initramfs_target" != '' ]]; then
fakechroot chroot "$build_initramfs__target" mktemp --directory)"
mount --bind "$(pwd)" \
"${build_initramfs__target}${build_initramfs__temporary_working_directory}"
+
+ # TODO implement a more nice chroot method
+ mkdir --parents "${build_initramfs__temporary_working_directory}/proc"
+ mount /proc \
+ "${build_initramfs__temporary_working_directory}/proc" --types \
+ proc --options nosuid,noexec,nodev
+ mkdir --parents "${build_initramfs__temporary_working_directory}/dev"
+ mount udev "${build_initramfs__temporary_working_directory}/dev" \
+ --types devtmpfs --options mode=0755,nosuid
+ mkdir --parents \
+ "${build_initramfs__temporary_working_directory}/dev/pts"
+ mount devpts "${build_initramfs__temporary_working_directory}/dev/pts" \
+ --types devpts --options mode=0620,gid=5,nosuid,noexec
+ mkdir --parents \
+ "${build_initramfs__temporary_working_directory}/dev/shm"
+ mount shm "${build_initramfs__temporary_working_directory}/dev/shm" \
+ --types tmpfs --options mode=1777,nosuid,nodev
+
build_initramfs__parameter_skip=false
build_initramfs__parameter_to_forward=()
for build_initramfs__parameter; do
@@ -327,11 +345,30 @@ if [[ "$build_initramfs_target" != '' ]]; then
build_initramfs__parameter_to_forward+=("$build_initramfs__parameter")
fi
done
+ # NOTE: We temporary patch dracut to avoid removing the environment
+ # variables "LD_LIBRARY_PATH" and "LD_PRELOAD" to get "fakechroot"
+ # working with dracut. So we should remove this variables before
+ # running the patched dracut version to follow the initial intention.
+ unset LD_LIBRARY_PATH
+ unset LD_PRELOAD
+ # TODO
+ # patch dracut.sh temporary:
+ # unset LD_LIBRARY_PATH
+ # unset LD_PRELOAD
+ # have to be removed! Since they broke the fakechroot environment.
# TODO check FAKECHROOT_CMD_SUBST
FAKECHROOT_CMD_SUBST=/usr/bin/ldconfig=/usr/bin/ldconfig fakeroot \
fakechroot chroot "${build_initramfs__target}" \
"${build_initramfs__temporary_working_directory}/${BASH_SOURCE[0]}" \
${build_initramfs__parameter_to_forward[*]}
+
+ umount /proc
+ umount /dev
+ umount /dev/pts
+ umount /dev/shm
+
+ umount "${build_initramfs__target}${build_initramfs__temporary_working_directory}"
+
mv "${build_initramfs__target}/$build_initramfs_file_path" \
"$build_initramfs_file_path"
fi