diff options
| author | jandob | 2015-12-12 09:29:53 +0100 |
|---|---|---|
| committer | jandob | 2015-12-12 09:29:53 +0100 |
| commit | ba795216807f3ea583f11388341daad3a64141a1 (patch) | |
| tree | b30a2a26e56782d170261df44ce4ccc7dcb2dd1d | |
| parent | fix (diff) | |
| parent | Fix. (diff) | |
| download | systemd-init-ba795216807f3ea583f11388341daad3a64141a1.tar.gz systemd-init-ba795216807f3ea583f11388341daad3a64141a1.tar.xz systemd-init-ba795216807f3ea583f11388341daad3a64141a1.zip | |
merge
| -rwxr-xr-x | builder/build-initramfs.sh | 37 |
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 |
