On 10/16/13 7:40 PM, Zbigniew Jędrzejewski-Szmek wrote:
On Wed, Oct 16, 2013 at 07:22:28PM +0200, Warpme wrote:
On 10/16/13 7:02 PM, Zbigniew Jędrzejewski-Szmek wrote:
On Wed, Oct 16, 2013 at 06:18:12PM +0200, Warpme wrote:
Hi,
I want to switch init system from SysV to systemd-196.
Sys is PXE booted disk-less appliance with rootfs based on overlayfs.

Currently I can PXEboot, successfully switch root from initrd to
overlayfs based root, systemd starts and executes many of it's
units.
Unfortunately user units are failing due / is read-only.
When I issue "mount -o remount,rw /"  - root becomes rw - so it
looks like systemd for some reason isn't remounting root to rw.
Interesting is that exactly the same initrd->overlayfs script (see
below) works OK for SysV - so I think issue isn't in my pivot_root
procedure but rather systemd receives / in rw but leaves in ro (as
"mount -o remount,rw /" allows to write to /).

Script switching initrd to overlayfs root looks following:

/bin/mount -n -t tmpfs none /rw
/bin/mkdir -p /rw/rootfs
/bin/mount -n -t overlayfs -o
lowerdir=/rootfs-ro,upperdir=/rw/rootfs none /rootfs
cd /rootfs
/bin/mkdir -p initrd proc sys
/sbin/pivot_root . initrd
exec /usr/sbin/chroot . /usr/lib/systemd/systemd

Where issue might be?
What's in /etc/fstab?

Zbyszek

Zbyszku,

Here is my fstab:

none / auto remount,rw 0 0
OK, so fstab-generator will ignore the mount point becuase of the 'none'.
This means that systemd will not remount it.

Actually, I don't understand why / is mounted read-only: -w is the default
for mount, and you don't specify -r anywhere. Maybe it's specific to overlayfs.

I think that your best option is to add

/bin/mount -o remount,rw /

in the script.

The other option — modifying systemd — is also possible, but it won't
happen without a good reason. Your usecase should be trivially solved
by modifying the script, so it's not good enough.

Zbyszek

Zbyszku,
I add remount just after pivot_root. No change.
I don't get one thing: why exactly such script works OK for SysV ?
If it works for SysV - it means script leaves / in rw mode.
So it leaves / in rw mode also for systemd (only difference between SysV and systemd is script last line).
So logic say for me that systemd changes / mode to ro. But why?
br

_______________________________________________
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel

Reply via email to