On Tue, Aug 2, 2011 at 5:40 PM, Thomas Bächler <thomas@archlinux.org> wrote:
Am 02.08.2011 17:10, schrieb Tom Gundersen:
This website created by the systemd folks sums it up nicely (just replace "systemd" with "initscripts" everywhere): <http://www.freedesktop.org/wiki/Software/systemd/separate-usr-is-broken>.
Heh, doesn't the "separate-usr-is-broken" in the URL say it all? (Didn't read it yet, will have to soon.)
I'd be very happy if we just agreed that "separate-usr-is-broken" and stopped trying to support it, and closed all bugs as WONTFIX. I just assumed that was going to be a no-go, so tried finding a workaround.
The purpose of the initrd is to do as few things as possible to get to the "real" system. If we can support a system that gets to the point of mounting /usr without needing things from /usr, we do it. If we can't support it, there is no point in ugly workarounds - if it's broken by design, don't do it.
I won't accept any patch that modifies the mkinitcpio core to support this. I might consider a patch that does this in a hook and thus keeps things modular, if you think it is necessary. For example, write a hook that adds a new mount handler:
The simple case of having /usr as a regular partition can be achieved as simply as the below patch (which certainly could be wrapped in a hook). The question is how complicated setups we want to support, or if we should just give up altogether (which you alluded to above). commit 6814b137178ad6a676b74ea57f91a3b0f8622171 Author: Tom Gundersen <teg@jklm.no> Date: Tue Aug 2 17:47:52 2011 +0200 monut /usr diff --git a/init b/init index 9bcc21a..a7e7f2b 100644 --- a/init +++ b/init @@ -84,6 +84,9 @@ fi # Mount root at /new_root mkdir -p /new_root ${mount_handler:-default_mount_handler} /new_root +cp /new_root/etc/fstab /etc/fstab +mount /usr +mount --move /usr /new_root/usr init=${init:-/sbin/init} if [ "$(stat -c %D /)" = "$(stat -c %D /new_root)" ]; then