initrd: symlink tmp to var/tmp to save a second tmpfs mount
authorAaron LI <aly@aaronly.me>
Fri, 1 Jun 2018 06:57:37 +0000 (14:57 +0800)
committerAaron LI <liweitianux@live.com>
Fri, 8 Jun 2018 08:02:29 +0000 (16:02 +0800)
Since a tmpfs is required to mount at /var in the initrd, symlink /tmp to
/var/tmp to save a second tmpfs mount.

Add /mnt to the initrd hierarchy, which may be used by the user to manually
mount filesystems.  (Suggested-by: zrj)

etc/defaults/mkinitrd.conf
sbin/mkinitrd/mkinitrd.sh

index 824b313..9f854fd 100644 (file)
@@ -2,6 +2,8 @@
 #
 BOOT_DIR="/boot"
 CONTENT_DIRS="/usr/share/initrd"
-INITRD_DIRS="bin dev etc sbin tmp var new_root"
+# NOTE: 'new_root' will always be created, and 'tmp' will be symlinked
+#       to 'var/tmp'.
+INITRD_DIRS="bin dev etc mnt sbin var"
 INITRD_SIZE_MAX="15"  # MB
 TMP_DIR="/tmp"
index 7a1f97b..393488a 100644 (file)
@@ -121,8 +121,13 @@ destroy_vn()
 
 make_hier()
 {
-       for dir in ${INITRD_DIRS}; do
-               mkdir -p ${BUILD_DIR}/${dir}
+       mkdir -p ${BUILD_DIR}/new_root
+       # symlink 'tmp' to 'var/tmp', as '/var' will be mounted with
+       # tmpfs, saving a second tmpfs been mounted on '/tmp'.
+       ln -sf var/tmp ${BUILD_DIR}/tmp
+       for _dir in ${INITRD_DIRS}; do
+           [ ! -d "${BUILD_DIR}/${_dir}" ] &&
+               mkdir -p ${BUILD_DIR}/${_dir}
        done
        echo "Created directory structure"
 }