[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#810965: [PATCH initramfs-tools 1/3] init: Always mount /usr before looking for the real init



In order to support usrmerge, we must always mount /usr before we
can even check whether the selected init program is executable.
We can no longer make this conditional on whether it's systemd.

Add Breaks relationships to initscripts (versioned) and upstart
(unversioned).

Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
---
 debian/control |  2 +-
 init           | 13 ++++++-------
 2 files changed, 7 insertions(+), 8 deletions(-)

diff --git a/debian/control b/debian/control
index 3a08f01..af7e559 100644
--- a/debian/control
+++ b/debian/control
@@ -15,7 +15,7 @@ Depends: initramfs-tools-core (= ${binary:Version}), linux-base, ${misc:Depends}
 Suggests: bash-completion
 Provides: linux-initramfs-tool
 Conflicts: linux-initramfs-tool, usplash (<< 0.5.50)
-Breaks: cryptsetup (<< 2:1.6.6-4~), elilo (<< 3.12-3.1~), lilo (<< 22.8-8.2~), s390-tools (<< 1.8.3-2~), console-setup (<< 1.72), systemd-sysv (<< 186), lvm2 (<< 2.02.111-2.1~)
+Breaks: cryptsetup (<< 2:1.6.6-4~), elilo (<< 3.12-3.1~), lilo (<< 22.8-8.2~), s390-tools (<< 1.8.3-2~), console-setup (<< 1.72), systemd-sysv (<< 186), lvm2 (<< 2.02.111-2.1~), initscripts (<< 2.88dsf-59.3~), upstart
 Description: generic modular initramfs generator (automation)
  This package builds a bootable initramfs for Linux kernel packages.  The
  initramfs is loaded along with the kernel and is responsible for
diff --git a/init b/init
index 60e76c3..23feb73 100755
--- a/init
+++ b/init
@@ -230,6 +230,12 @@ mount_premount
 mountroot
 log_end_msg
 
+if read_fstab_entry /usr; then
+	log_begin_msg "Mounting /usr file system"
+	mountfs /usr
+	log_end_msg
+fi
+
 validate_init() {
 	checktarget="${1}"
 
@@ -268,13 +274,6 @@ if ! validate_init "$init"; then
 	done
 fi
 
-# Mount /usr only if init is systemd (after reading symlink)
-if [ "${checktarget##*/}" = systemd ] && read_fstab_entry /usr; then
-	log_begin_msg "Mounting /usr file system"
-	mountfs /usr
-	log_end_msg
-fi
-
 # Mount cleanup
 mount_bottom
 nfs_bottom

Attachment: signature.asc
Description: Digital signature


Reply to: