[systemd-devel] initrd mount inactive
Aaron_Wright at selinc.com
Aaron_Wright at selinc.com
Mon Apr 27 11:47:41 PDT 2015
I applied commit 628c89cc68ab96fce2de7ebba5933725d147aecc - core: rework
device state logic, but now I'm left with a random chance to boot or not.
Some boots it comes up with "/var mounted" and lots of nice colored "[ OK
]"s.
Some boots it comes up with "Unit var.mount is bound to inactive unit
/dev/mapper/<name>. Stopping, too." and no colored "[ OK ]"s and about
half the logs; only the "systemd[1]" messages, and it just hangs at some
point; it never reaches the default target.
I create /dev/mapper/<name> in initrd with cryptsetup, and then mount it
to /newroot/var before switching root to /newroot and running systemd. I
don't use systemd in initrd.
Am I going about this wrong? What am I doing wrong here? What is the best
way to mount /var in initrd and make systemd happy?
PS - I also added a commit to log what the inactive unit was.
"Aaron Wright" <Aaron_Wright at selinc.com> wrote on 03/12/2015 08:42:15 AM:
> Andrei Borzenkov <arvidjaar at gmail.com> wrote on 03/11/2015 08:44:28 PM:
> > Aaron_Wright at selinc.com пишет:
> >
> > > I'm working with an embedded device that mounts / and /var in
initrd. It
> > > then switches root and fires up systemd. Early in the boot, after
paths
> > > target, /var gets unmounted. I want systemd to not do that, but I
can't
> > > figure out how to stop it.
> > > I would like systemd to leave /var mounted, but still unmount it
during
> > > shutdown. I would rather not move the mounting of /var out of
initrd. Is
> > > this possible?
> > > I'm trying to use a very stripped down systemd. As minimal as
possible.
> >
> > Do you use udev in initrd?
> >
>
> No. initrd is a custom script I wrote, and it mounts devtmpfs for its
devices.
>
> > > I'm using systemd-219. The logs say that var.mount is bound to
> an inactive
> > > unit, and it is stopping too. I assume that is why /var gets
unmounted,
> > > but I don't know what to do to stop it. There is no /etc/fstab
> file. There
> > > is no var.mount file.
> > > I assume I'm either missing something simple, or it is not possible.
> >
> > Did you try this commit?
> >
> >
> > commit 628c89cc68ab96fce2de7ebba5933725d147aecc
> > ...snip...
> >
>
> I was finally able to get /var to stay mounted when I included the
> local-fs.target and local-fs-pre.target units on the device.
> Apparently they are used magically by systemd. I'm not sure why or
> how, but it does finally work, so I'm happy. This leads to my other
> question about what units are required. I'll continue on that
> discussion on that thread.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/systemd-devel/attachments/20150427/e5e5288c/attachment.html>
More information about the systemd-devel
mailing list