All of lore.kernel.org
 help / color / mirror / Atom feed
* systemd: /run directory not created
@ 2013-01-23 15:19 Jack Mitchell
  2013-01-24  9:46 ` Radu Moisan
  0 siblings, 1 reply; 25+ messages in thread
From: Jack Mitchell @ 2013-01-23 15:19 UTC (permalink / raw)
  To: Patches and discussions about the oe-core layer

When I attempt to boot a systemd enabled image I get an error stating 
that the run directory could not be mounted as it doesn't exist. I 
checked the target rootfs and there isn't a /run directory. What is 
responsible for creating this and why is it not doing it's job?

[ 2.631549] systemd[1]: Failed to mount /run: No such file or directory

Possibly of interest is that I am running a custom distro with manually 
specified DISTRO_FEATURES.

-- 

   Jack Mitchell (jack@embed.me.uk)
   Embedded Systems Engineer
   http://www.embed.me.uk

--




^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: systemd: /run directory not created
  2013-01-23 15:19 systemd: /run directory not created Jack Mitchell
@ 2013-01-24  9:46 ` Radu Moisan
  2013-01-24 12:01   ` Burton, Ross
  0 siblings, 1 reply; 25+ messages in thread
From: Radu Moisan @ 2013-01-24  9:46 UTC (permalink / raw)
  To: openembedded-core

On 01/23/2013 05:19 PM, Jack Mitchell wrote:
> When I attempt to boot a systemd enabled image I get an error stating 
> that the run directory could not be mounted as it doesn't exist. I 
> checked the target rootfs and there isn't a /run directory. What is 
> responsible for creating this and why is it not doing it's job?
>
> [ 2.631549] systemd[1]: Failed to mount /run: No such file or directory
>
> Possibly of interest is that I am running a custom distro with 
> manually specified DISTRO_FEATURES.
>

Possibly because /run was a link created by the initscripts which are 
now disabled when systemd is the init manager. I'll look into this and 
update 00-create-volatile.conf so that systemd will handle the link 
creation in stead.

Radu



^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: systemd: /run directory not created
  2013-01-24  9:46 ` Radu Moisan
@ 2013-01-24 12:01   ` Burton, Ross
  2013-01-24 12:11     ` Radu Moisan
  0 siblings, 1 reply; 25+ messages in thread
From: Burton, Ross @ 2013-01-24 12:01 UTC (permalink / raw)
  To: Radu Moisan; +Cc: openembedded-core

On 24 January 2013 09:46, Radu Moisan <radu.moisan@intel.com> wrote:
> Possibly because /run was a link created by the initscripts which are now
> disabled when systemd is the init manager. I'll look into this and update
> 00-create-volatile.conf so that systemd will handle the link creation in
> stead.

I wonder how my images booted...  initscripts is sysvinit specific,
the systemd startup should handle this somehow.

(insert standard argument that we should adopt /run across all init systems)

Ross



^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: systemd: /run directory not created
  2013-01-24 12:01   ` Burton, Ross
@ 2013-01-24 12:11     ` Radu Moisan
  2013-01-24 12:11       ` Burton, Ross
  2013-01-24 12:20       ` Enrico Scholz
  0 siblings, 2 replies; 25+ messages in thread
From: Radu Moisan @ 2013-01-24 12:11 UTC (permalink / raw)
  To: Burton, Ross; +Cc: openembedded-core


On 01/24/2013 02:01 PM, Burton, Ross wrote:
> On 24 January 2013 09:46, Radu Moisan <radu.moisan@intel.com> wrote:
>> Possibly because /run was a link created by the initscripts which are now
>> disabled when systemd is the init manager. I'll look into this and update
>> 00-create-volatile.conf so that systemd will handle the link creation in
>> stead.
> I wonder how my images booted...  initscripts is sysvinit specific,
> the systemd startup should handle this somehow.
>
> (insert standard argument that we should adopt /run across all init systems)
>
This is exactly what I was looking for. /run shouldn't be there, yet 
somehow it is. I was looking into how/where systemd is creating /run but 
no lead for now.

Radu



^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: systemd: /run directory not created
  2013-01-24 12:11     ` Radu Moisan
@ 2013-01-24 12:11       ` Burton, Ross
  2013-01-24 12:20       ` Enrico Scholz
  1 sibling, 0 replies; 25+ messages in thread
From: Burton, Ross @ 2013-01-24 12:11 UTC (permalink / raw)
  To: Radu Moisan; +Cc: openembedded-core

On 24 January 2013 12:11, Radu Moisan <radu.moisan@intel.com> wrote:
> This is exactly what I was looking for. /run shouldn't be there, yet somehow
> it is. I was looking into how/where systemd is creating /run but no lead for
> now.

As far as I'm aware systemd will mount a tmpfs on /run itself on
startup, but the directory needs to exist first.

Ross



^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: systemd: /run directory not created
  2013-01-24 12:11     ` Radu Moisan
  2013-01-24 12:11       ` Burton, Ross
@ 2013-01-24 12:20       ` Enrico Scholz
  2013-01-24 12:34         ` Radu Moisan
  1 sibling, 1 reply; 25+ messages in thread
From: Enrico Scholz @ 2013-01-24 12:20 UTC (permalink / raw)
  To: openembedded-core

Radu Moisan <radu.moisan-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
writes:

>>> Possibly because /run was a link created by the initscripts which
>>> are now disabled when systemd is the init manager. I'll look into
>>> this and update 00-create-volatile.conf so that systemd will handle
>>> the link creation in stead.
>> I wonder how my images booted...  initscripts is sysvinit specific,
>> the systemd startup should handle this somehow.
>>
>> (insert standard argument that we should adopt /run across all init
>> systems)

yes; that's the best way.  Make /var/run a symlink pointing to /run.


> This is exactly what I was looking for. /run shouldn't be there, yet
> somehow it is. I was looking into how/where systemd is creating /run
> but no lead for now.

/run is part of systemd's api and mounted very early internally by
systemd.  This mountpoint must exist in the filesystem and it will
probably not work when it is symlink into /var/volatile which gets
mounted later.


Enrico



^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: systemd: /run directory not created
  2013-01-24 12:20       ` Enrico Scholz
@ 2013-01-24 12:34         ` Radu Moisan
  2013-01-24 12:53           ` Enrico Scholz
  0 siblings, 1 reply; 25+ messages in thread
From: Radu Moisan @ 2013-01-24 12:34 UTC (permalink / raw)
  To: openembedded-core


On 01/24/2013 02:20 PM, Enrico Scholz wrote:
> Radu Moisan <radu.moisan-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
> writes:
>
>>>> Possibly because /run was a link created by the initscripts which
>>>> are now disabled when systemd is the init manager. I'll look into
>>>> this and update 00-create-volatile.conf so that systemd will handle
>>>> the link creation in stead.
>>> I wonder how my images booted...  initscripts is sysvinit specific,
>>> the systemd startup should handle this somehow.
>>>
>>> (insert standard argument that we should adopt /run across all init
>>> systems)
> yes; that's the best way.  Make /var/run a symlink pointing to /run.
>
>
>> This is exactly what I was looking for. /run shouldn't be there, yet
>> somehow it is. I was looking into how/where systemd is creating /run
>> but no lead for now.
> /run is part of systemd's api and mounted very early internally by
> systemd.  This mountpoint must exist in the filesystem and it will
> probably not work when it is symlink into /var/volatile which gets
> mounted later.
>
>
Isn't systemd looking into fstab.systemd for mount points?

Radu



^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: systemd: /run directory not created
  2013-01-24 12:34         ` Radu Moisan
@ 2013-01-24 12:53           ` Enrico Scholz
  2013-01-24 13:03             ` Radu Moisan
  0 siblings, 1 reply; 25+ messages in thread
From: Enrico Scholz @ 2013-01-24 12:53 UTC (permalink / raw)
  To: openembedded-core

Radu Moisan <radu.moisan-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
writes:

>> /run is part of systemd's api and mounted very early internally by
>> systemd.  This mountpoint must exist in the filesystem and it will
>> probably not work when it is symlink into /var/volatile which gets
>> mounted later.
>
> Isn't systemd looking into fstab.systemd for mount points?

not for /run or /proc or so. In src/core/mount-setup.c there is a
'mount_table[]' list which is evaluated before fstab is parsed.  You
can override this by setting $SYSTEMD_SKIP_API_MOUNTS but this will
create other problems.


Enrico



^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: systemd: /run directory not created
  2013-01-24 12:53           ` Enrico Scholz
@ 2013-01-24 13:03             ` Radu Moisan
  2013-01-24 14:52               ` Burton, Ross
  0 siblings, 1 reply; 25+ messages in thread
From: Radu Moisan @ 2013-01-24 13:03 UTC (permalink / raw)
  To: openembedded-core


On 01/24/2013 02:53 PM, Enrico Scholz wrote:
> Radu Moisan <radu.moisan-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
> writes:
>
>>> /run is part of systemd's api and mounted very early internally by
>>> systemd.  This mountpoint must exist in the filesystem and it will
>>> probably not work when it is symlink into /var/volatile which gets
>>> mounted later.
>> Isn't systemd looking into fstab.systemd for mount points?
> not for /run or /proc or so. In src/core/mount-setup.c there is a
> 'mount_table[]' list which is evaluated before fstab is parsed.  You
> can override this by setting $SYSTEMD_SKIP_API_MOUNTS but this will
> create other problems.
>
>
ok, thanks Enrico, this clears the picture for me.
Well then it looks like Jack's problems is coming from some other place.

Radu



^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: systemd: /run directory not created
  2013-01-24 13:03             ` Radu Moisan
@ 2013-01-24 14:52               ` Burton, Ross
  2013-01-25  8:28                 ` Radu Moisan
  0 siblings, 1 reply; 25+ messages in thread
From: Burton, Ross @ 2013-01-24 14:52 UTC (permalink / raw)
  To: Radu Moisan; +Cc: openembedded-core

On 24 January 2013 13:03, Radu Moisan <radu.moisan@intel.com> wrote:
> ok, thanks Enrico, this clears the picture for me.
> Well then it looks like Jack's problems is coming from some other place.

No - /run needs to exist for the mount to happen, and there isn't a
/run in the filesystem.  Whatever creates the root filesystem
structure should also create /run I guess.

Ross



^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: systemd: /run directory not created
  2013-01-24 14:52               ` Burton, Ross
@ 2013-01-25  8:28                 ` Radu Moisan
  2013-02-14 14:31                   ` Jack Mitchell
  0 siblings, 1 reply; 25+ messages in thread
From: Radu Moisan @ 2013-01-25  8:28 UTC (permalink / raw)
  To: Burton, Ross; +Cc: openembedded-core


On 01/24/2013 04:52 PM, Burton, Ross wrote:
> On 24 January 2013 13:03, Radu Moisan <radu.moisan@intel.com> wrote:
>> ok, thanks Enrico, this clears the picture for me.
>> Well then it looks like Jack's problems is coming from some other place.
> No - /run needs to exist for the mount to happen, and there isn't a
> /run in the filesystem.  Whatever creates the root filesystem
> structure should also create /run I guess.

I agree, but what I meant was that my initial assumptions were wrong 
with concern to Jack's problem. I run it on qemu and /run is there. His 
problem related to /run creation while I was thinking about mounting issue.

Radu



^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: systemd: /run directory not created
  2013-01-25  8:28                 ` Radu Moisan
@ 2013-02-14 14:31                   ` Jack Mitchell
  2013-02-14 15:31                     ` Burton, Ross
  0 siblings, 1 reply; 25+ messages in thread
From: Jack Mitchell @ 2013-02-14 14:31 UTC (permalink / raw)
  To: openembedded-core

On 25/01/13 08:28, Radu Moisan wrote:
>
> On 01/24/2013 04:52 PM, Burton, Ross wrote:
>> On 24 January 2013 13:03, Radu Moisan <radu.moisan@intel.com> wrote:
>>> ok, thanks Enrico, this clears the picture for me.
>>> Well then it looks like Jack's problems is coming from some other 
>>> place.
>> No - /run needs to exist for the mount to happen, and there isn't a
>> /run in the filesystem.  Whatever creates the root filesystem
>> structure should also create /run I guess.
>
> I agree, but what I meant was that my initial assumptions were wrong 
> with concern to Jack's problem. I run it on qemu and /run is there. 
> His problem related to /run creation while I was thinking about 
> mounting issue.
>
> Radu
>

Did this ever go anywhere? I have just tried again today with exactly 
the same result, all I did was change the DISTRO_FEATURES_INITMAN to 
systemd.

Regards

-- 

   Jack Mitchell (jack@embed.me.uk)
   Embedded Systems Engineer
   http://www.embed.me.uk

--




^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: systemd: /run directory not created
  2013-02-14 14:31                   ` Jack Mitchell
@ 2013-02-14 15:31                     ` Burton, Ross
  2013-02-14 15:44                       ` Jack Mitchell
  0 siblings, 1 reply; 25+ messages in thread
From: Burton, Ross @ 2013-02-14 15:31 UTC (permalink / raw)
  To: ml; +Cc: openembedded-core

On 14 February 2013 14:31, Jack Mitchell <ml@communistcode.co.uk> wrote:
> Did this ever go anywhere? I have just tried again today with exactly the
> same result, all I did was change the DISTRO_FEATURES_INITMAN to systemd.

Odd, as I just built and booted a systemd image (core-image-sato, in
poky master), and it worked fine.

Ross



^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: systemd: /run directory not created
  2013-02-14 15:31                     ` Burton, Ross
@ 2013-02-14 15:44                       ` Jack Mitchell
  2013-02-14 15:57                         ` Jack Mitchell
  2013-02-21 22:27                         ` Khem Raj
  0 siblings, 2 replies; 25+ messages in thread
From: Jack Mitchell @ 2013-02-14 15:44 UTC (permalink / raw)
  To: Burton, Ross; +Cc: openembedded-core

On 14/02/13 15:31, Burton, Ross wrote:
> On 14 February 2013 14:31, Jack Mitchell <ml@communistcode.co.uk> wrote:
>> Did this ever go anywhere? I have just tried again today with exactly the
>> same result, all I did was change the DISTRO_FEATURES_INITMAN to systemd.
> Odd, as I just built and booted a systemd image (core-image-sato, in
> poky master), and it worked fine.
>
> Ross

I have a custom distro definition that cuts a lot of features out. Can 
you find out which package is supposed to create run and I can check if 
it is pulled in properly on my setup?

I think something must be assumed somewhere and I don't have the 
features enabled to trigger it.

-- 

   Jack Mitchell (jack@embed.me.uk)
   Embedded Systems Engineer
   http://www.embed.me.uk

--




^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: systemd: /run directory not created
  2013-02-14 15:44                       ` Jack Mitchell
@ 2013-02-14 15:57                         ` Jack Mitchell
  2013-02-14 20:23                           ` Jack Mitchell
  2013-02-21 22:27                         ` Khem Raj
  1 sibling, 1 reply; 25+ messages in thread
From: Jack Mitchell @ 2013-02-14 15:57 UTC (permalink / raw)
  To: openembedded-core

On 14/02/13 15:44, Jack Mitchell wrote:
> On 14/02/13 15:31, Burton, Ross wrote:
>> On 14 February 2013 14:31, Jack Mitchell <ml@communistcode.co.uk> wrote:
>>> Did this ever go anywhere? I have just tried again today with 
>>> exactly the
>>> same result, all I did was change the DISTRO_FEATURES_INITMAN to 
>>> systemd.
>> Odd, as I just built and booted a systemd image (core-image-sato, in
>> poky master), and it worked fine.
>>
>> Ross
>
> I have a custom distro definition that cuts a lot of features out. Can 
> you find out which package is supposed to create run and I can check 
> if it is pulled in properly on my setup?
>
> I think something must be assumed somewhere and I don't have the 
> features enabled to trigger it.
>

 From a quick look it seems as though volatiles in initscripts-1.0 
should create the run directory if it's not found. However the 
initscripts package doesn't get pulled in on my image at all, and I 
can't see an equivalent in the systemd package.



-- 

   Jack Mitchell (jack@embed.me.uk)
   Embedded Systems Engineer
   http://www.embed.me.uk

--




^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: systemd: /run directory not created
  2013-02-14 15:57                         ` Jack Mitchell
@ 2013-02-14 20:23                           ` Jack Mitchell
  0 siblings, 0 replies; 25+ messages in thread
From: Jack Mitchell @ 2013-02-14 20:23 UTC (permalink / raw)
  To: openembedded-core

On 02/14/13 15:57, Jack Mitchell wrote:
> On 14/02/13 15:44, Jack Mitchell wrote:
>> On 14/02/13 15:31, Burton, Ross wrote:
>>> On 14 February 2013 14:31, Jack Mitchell <ml@communistcode.co.uk> 
>>> wrote:
>>>> Did this ever go anywhere? I have just tried again today with 
>>>> exactly the
>>>> same result, all I did was change the DISTRO_FEATURES_INITMAN to 
>>>> systemd.
>>> Odd, as I just built and booted a systemd image (core-image-sato, in
>>> poky master), and it worked fine.
>>>
>>> Ross
>>
>> I have a custom distro definition that cuts a lot of features out. 
>> Can you find out which package is supposed to create run and I can 
>> check if it is pulled in properly on my setup?
>>
>> I think something must be assumed somewhere and I don't have the 
>> features enabled to trigger it.
>>
>
> From a quick look it seems as though volatiles in initscripts-1.0 
> should create the run directory if it's not found. However the 
> initscripts package doesn't get pulled in on my image at all, and I 
> can't see an equivalent in the systemd package

Doing a manual ln -s var/run run on my mounted SD card gets systemd to 
the first [OK] part but then the board dies on me, it's a usb ftdi 
serial and even that connection gets wiped. I think there is something 
fundamentally wrong somewhere, which is causing the systemd setup to not 
execute properly, or the fact that there are minimal packages and 
minimal features in my distro image is causing the problem.

What I will maybe try to do tomorrow is build a stock core-image-minimal 
with systemd, then remove distro features one by one and see if it breaks.



^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: systemd: /run directory not created
  2013-02-14 15:44                       ` Jack Mitchell
  2013-02-14 15:57                         ` Jack Mitchell
@ 2013-02-21 22:27                         ` Khem Raj
  2013-02-22  9:22                           ` Jack Mitchell
  1 sibling, 1 reply; 25+ messages in thread
From: Khem Raj @ 2013-02-21 22:27 UTC (permalink / raw)
  To: Jack Mitchell; +Cc: openembedded-core

On (14/02/13 15:44), Jack Mitchell wrote:
> On 14/02/13 15:31, Burton, Ross wrote:
> >On 14 February 2013 14:31, Jack Mitchell <ml@communistcode.co.uk> wrote:
> >>Did this ever go anywhere? I have just tried again today with exactly the
> >>same result, all I did was change the DISTRO_FEATURES_INITMAN to systemd.
> >Odd, as I just built and booted a systemd image (core-image-sato, in
> >poky master), and it worked fine.
> >
> >Ross
> 
> I have a custom distro definition that cuts a lot of features out.
> Can you find out which package is supposed to create run and I can
> check if it is pulled in properly on my setup?
> 
> I think something must be assumed somewhere and I don't have the
> features enabled to trigger it.

its created by base-files package. If you need hint how it works
with systemd take a look at bbappend that angstrom has for base-files
in meta-angstrom



^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: systemd: /run directory not created
  2013-02-21 22:27                         ` Khem Raj
@ 2013-02-22  9:22                           ` Jack Mitchell
  2013-02-22 14:15                             ` Jack Mitchell
  0 siblings, 1 reply; 25+ messages in thread
From: Jack Mitchell @ 2013-02-22  9:22 UTC (permalink / raw)
  To: Patches and discussions about the oe-core layer

On 21/02/13 22:27, Khem Raj wrote:
> On (14/02/13 15:44), Jack Mitchell wrote:
>> On 14/02/13 15:31, Burton, Ross wrote:
>>> On 14 February 2013 14:31, Jack Mitchell <ml@communistcode.co.uk> wrote:
>>>> Did this ever go anywhere? I have just tried again today with exactly the
>>>> same result, all I did was change the DISTRO_FEATURES_INITMAN to systemd.
>>> Odd, as I just built and booted a systemd image (core-image-sato, in
>>> poky master), and it worked fine.
>>>
>>> Ross
>> I have a custom distro definition that cuts a lot of features out.
>> Can you find out which package is supposed to create run and I can
>> check if it is pulled in properly on my setup?
>>
>> I think something must be assumed somewhere and I don't have the
>> features enabled to trigger it.
> its created by base-files package. If you need hint how it works
> with systemd take a look at bbappend that angstrom has for base-files
> in meta-angstrom
Ah, I see. Thanks Khem.

So, the next question is; how come Angstrom requires these files to be 
appended to base-files in order to get systemd going, when oe-core doesn't?

I notice there is:

${localstatedir}/volatile/run \

In the base-files oe-core package, while in Angstrom we have:

${localstatedir}/run \
/run \

I understand oe-core having it as a volatile; but I don't understand why it doesn't create the /run directory. I see some kind of logic regarding it here:

volatiles = "run log lock tmp"

for d in ${volatiles}; do
ln -sf volatile/$d ${D}${localstatedir}/$d
done

However, if it doesn't create the directory on my target filesystem then 
something must be wrong...


-- 

   Jack Mitchell (jack@embed.me.uk)
   Embedded Systems Engineer
   http://www.embed.me.uk

--




^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: systemd: /run directory not created
  2013-02-22  9:22                           ` Jack Mitchell
@ 2013-02-22 14:15                             ` Jack Mitchell
  2013-02-22 14:50                               ` Jack Mitchell
  0 siblings, 1 reply; 25+ messages in thread
From: Jack Mitchell @ 2013-02-22 14:15 UTC (permalink / raw)
  To: openembedded-core

On 22/02/13 09:22, Jack Mitchell wrote:
> On 21/02/13 22:27, Khem Raj wrote:
>> On (14/02/13 15:44), Jack Mitchell wrote:
>>> On 14/02/13 15:31, Burton, Ross wrote:
>>>> On 14 February 2013 14:31, Jack Mitchell <ml@communistcode.co.uk> 
>>>> wrote:
>>>>> Did this ever go anywhere? I have just tried again today with 
>>>>> exactly the
>>>>> same result, all I did was change the DISTRO_FEATURES_INITMAN to 
>>>>> systemd.
>>>> Odd, as I just built and booted a systemd image (core-image-sato, in
>>>> poky master), and it worked fine.
>>>>
>>>> Ross
>>> I have a custom distro definition that cuts a lot of features out.
>>> Can you find out which package is supposed to create run and I can
>>> check if it is pulled in properly on my setup?
>>>
>>> I think something must be assumed somewhere and I don't have the
>>> features enabled to trigger it.
>> its created by base-files package. If you need hint how it works
>> with systemd take a look at bbappend that angstrom has for base-files
>> in meta-angstrom
> Ah, I see. Thanks Khem.
>
> So, the next question is; how come Angstrom requires these files to be 
> appended to base-files in order to get systemd going, when oe-core 
> doesn't?
>
> I notice there is:
>
> ${localstatedir}/volatile/run \
>
> In the base-files oe-core package, while in Angstrom we have:
>
> ${localstatedir}/run \
> /run \
>
> I understand oe-core having it as a volatile; but I don't understand 
> why it doesn't create the /run directory. I see some kind of logic 
> regarding it here:
>
> volatiles = "run log lock tmp"
>
> for d in ${volatiles}; do
> ln -sf volatile/$d ${D}${localstatedir}/$d
> done
>
> However, if it doesn't create the directory on my target filesystem 
> then something must be wrong...
>
>

Ok, some oddities and questions.

I have slightly altered the base-files volatiles create loop from:


for d in ${volatiles}; do
ln -sf volatile/$d ${D}${localstatedir}/$d
done

to

   for d in ${volatiles}; do
     ln -sfv /volatile/$d ${D}/$d
   done

Which gives the output:
DEBUG: Executing shell function do_install
'/mnt/SSD/oe-r0005/r0005/tmp/work/beaglebone-oecore-linux-gnueabi/base-files/3.0.14-r73/image/run' 
-> '/volatile/run'
'/mnt/SSD/oe-r0005/r0005/tmp/work/beaglebone-oecore-linux-gnueabi/base-files/3.0.14-r73/image/log' 
-> '/volatile/log'
'/mnt/SSD/oe-r0005/r0005/tmp/work/beaglebone-oecore-linux-gnueabi/base-files/3.0.14-r73/image/lock' 
-> '/volatile/lock'
'/mnt/SSD/oe-r0005/r0005/tmp/work/beaglebone-oecore-linux-gnueabi/base-files/3.0.14-r73/image/tmp/tmp' 
-> '/volatile/tmp'
DEBUG: Shell function do_install finished

The oddity is the volatiles variable looks like this:

volatiles = "run log lock tmp"

So why do we get:

'/mnt/SSD/oe-r0005/r0005/tmp/work/beaglebone-oecore-linux-gnueabi/base-files/3.0.14-r73/image/tmp/tmp' 
-> '/volatile/tmp'

with /tmp/tmp?

I have also removed the ${localstatedir} otherwise I was getting this:

'/mnt/SSD/oe-r0005/r0005/tmp/work/beaglebone-oecore-linux-gnueabi/base-files/3.0.14-r73/image/var/run' 
-> '/volatile/run'

With the extra var/ in. Which would make sense for why I wasn't getting 
directories made in the root folder. I suppose the issue is, why was 
everyone else?

Can anyone shed any light on this?

-- 

   Jack Mitchell (jack@embed.me.uk)
   Embedded Systems Engineer
   http://www.embed.me.uk

--





^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: systemd: /run directory not created
  2013-02-22 14:15                             ` Jack Mitchell
@ 2013-02-22 14:50                               ` Jack Mitchell
  2013-04-15 12:58                                 ` Jack Mitchell
  2013-05-02 15:11                                 ` Jonathan Liu
  0 siblings, 2 replies; 25+ messages in thread
From: Jack Mitchell @ 2013-02-22 14:50 UTC (permalink / raw)
  To: openembedded-core

On 22/02/13 14:15, Jack Mitchell wrote:
> On 22/02/13 09:22, Jack Mitchell wrote:
>> On 21/02/13 22:27, Khem Raj wrote:
>>> On (14/02/13 15:44), Jack Mitchell wrote:
>>>> On 14/02/13 15:31, Burton, Ross wrote:
>>>>> On 14 February 2013 14:31, Jack Mitchell <ml@communistcode.co.uk> 
>>>>> wrote:
>>>>>> Did this ever go anywhere? I have just tried again today with 
>>>>>> exactly the
>>>>>> same result, all I did was change the DISTRO_FEATURES_INITMAN to 
>>>>>> systemd.
>>>>> Odd, as I just built and booted a systemd image (core-image-sato, in
>>>>> poky master), and it worked fine.
>>>>>
>>>>> Ross
>>>> I have a custom distro definition that cuts a lot of features out.
>>>> Can you find out which package is supposed to create run and I can
>>>> check if it is pulled in properly on my setup?
>>>>
>>>> I think something must be assumed somewhere and I don't have the
>>>> features enabled to trigger it.
>>> its created by base-files package. If you need hint how it works
>>> with systemd take a look at bbappend that angstrom has for base-files
>>> in meta-angstrom
>> Ah, I see. Thanks Khem.
>>
>> So, the next question is; how come Angstrom requires these files to 
>> be appended to base-files in order to get systemd going, when oe-core 
>> doesn't?
>>
>> I notice there is:
>>
>> ${localstatedir}/volatile/run \
>>
>> In the base-files oe-core package, while in Angstrom we have:
>>
>> ${localstatedir}/run \
>> /run \
>>
>> I understand oe-core having it as a volatile; but I don't understand 
>> why it doesn't create the /run directory. I see some kind of logic 
>> regarding it here:
>>
>> volatiles = "run log lock tmp"
>>
>> for d in ${volatiles}; do
>> ln -sf volatile/$d ${D}${localstatedir}/$d
>> done
>>
>> However, if it doesn't create the directory on my target filesystem 
>> then something must be wrong...
>>
>>
>
> Ok, some oddities and questions.
>
> I have slightly altered the base-files volatiles create loop from:
>
>
> for d in ${volatiles}; do
> ln -sf volatile/$d ${D}${localstatedir}/$d
> done
>
> to
>
>   for d in ${volatiles}; do
>     ln -sfv /volatile/$d ${D}/$d
>   done
>
> Which gives the output:
> DEBUG: Executing shell function do_install
> '/mnt/SSD/oe-r0005/r0005/tmp/work/beaglebone-oecore-linux-gnueabi/base-files/3.0.14-r73/image/run' 
> -> '/volatile/run'
> '/mnt/SSD/oe-r0005/r0005/tmp/work/beaglebone-oecore-linux-gnueabi/base-files/3.0.14-r73/image/log' 
> -> '/volatile/log'
> '/mnt/SSD/oe-r0005/r0005/tmp/work/beaglebone-oecore-linux-gnueabi/base-files/3.0.14-r73/image/lock' 
> -> '/volatile/lock'
> '/mnt/SSD/oe-r0005/r0005/tmp/work/beaglebone-oecore-linux-gnueabi/base-files/3.0.14-r73/image/tmp/tmp' 
> -> '/volatile/tmp'
> DEBUG: Shell function do_install finished
>
> The oddity is the volatiles variable looks like this:
>
> volatiles = "run log lock tmp"
>
> So why do we get:
>
> '/mnt/SSD/oe-r0005/r0005/tmp/work/beaglebone-oecore-linux-gnueabi/base-files/3.0.14-r73/image/tmp/tmp' 
> -> '/volatile/tmp'
>
> with /tmp/tmp?
>
> I have also removed the ${localstatedir} otherwise I was getting this:
>
> '/mnt/SSD/oe-r0005/r0005/tmp/work/beaglebone-oecore-linux-gnueabi/base-files/3.0.14-r73/image/var/run' 
> -> '/volatile/run'
>
> With the extra var/ in. Which would make sense for why I wasn't 
> getting directories made in the root folder. I suppose the issue is, 
> why was everyone else?
>
> Can anyone shed any light on this?
>

Right,

I think it should be this (minus the debug):

   for d in run log tmp lock; do
     echo ${D}
     echo $d
     ln -sfv ${localstatedir}/volatile/$d ${D}/$d
   done

Which gives:

DEBUG: Executing shell function do_install
/mnt/SSD/oe-r0005/r0005/tmp/work/beaglebone-oecore-linux-gnueabi/base-files/3.0.14-r73/image
run
'/mnt/SSD/oe-r0005/r0005/tmp/work/beaglebone-oecore-linux-gnueabi/base-files/3.0.14-r73/image/run' 
-> '/var/volatile/run'
/mnt/SSD/oe-r0005/r0005/tmp/work/beaglebone-oecore-linux-gnueabi/base-files/3.0.14-r73/image
log
'/mnt/SSD/oe-r0005/r0005/tmp/work/beaglebone-oecore-linux-gnueabi/base-files/3.0.14-r73/image/log' 
-> '/var/volatile/log'
/mnt/SSD/oe-r0005/r0005/tmp/work/beaglebone-oecore-linux-gnueabi/base-files/3.0.14-r73/image
tmp
'/mnt/SSD/oe-r0005/r0005/tmp/work/beaglebone-oecore-linux-gnueabi/base-files/3.0.14-r73/image/tmp/tmp' 
-> '/var/volatile/tmp'
/mnt/SSD/oe-r0005/r0005/tmp/work/beaglebone-oecore-linux-gnueabi/base-files/3.0.14-r73/image
lock
'/mnt/SSD/oe-r0005/r0005/tmp/work/beaglebone-oecore-linux-gnueabi/base-files/3.0.14-r73/image/lock' 
-> '/var/volatile/lock'
DEBUG: Shell function do_install finished
~

The only issue I am having is still the double tmp/tmp thing; anyone 
know why it is doing it? It seems like a weird substitution or 
something.....




-- 

   Jack Mitchell (jack@embed.me.uk)
   Embedded Systems Engineer
   http://www.embed.me.uk

--




^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: systemd: /run directory not created
  2013-02-22 14:50                               ` Jack Mitchell
@ 2013-04-15 12:58                                 ` Jack Mitchell
  2013-04-15 13:10                                   ` Martin Jansa
  2013-05-02 15:11                                 ` Jonathan Liu
  1 sibling, 1 reply; 25+ messages in thread
From: Jack Mitchell @ 2013-04-15 12:58 UTC (permalink / raw)
  To: openembedded-core

Ok, I have just come back to trying out the new systemd implementation, 
and this bug still exists.

Exactly the same error as before:

[    2.390730] systemd[1]: Failed to mount /run: No such file or directory

Can we shed any light on why this directory is failing to be created and 
what can be done to fix it. Having looked in my final target filesystem 
there are no links to the volatiles in /var/voltatile/* to /*, should 
there be? The base-files packages looks like it should do it but 
obviously something is going wrong.

   for d in ${volatiles}; do
     ln -sf volatile/$d ${D}${localstatedir}/$d
   done

Cheers,
Jack.

-- 

   Jack Mitchell (jack@embed.me.uk)
   Embedded Systems Engineer
   http://www.embed.me.uk

--




^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: systemd: /run directory not created
  2013-04-15 12:58                                 ` Jack Mitchell
@ 2013-04-15 13:10                                   ` Martin Jansa
  2013-04-15 13:45                                     ` Jack Mitchell
  0 siblings, 1 reply; 25+ messages in thread
From: Martin Jansa @ 2013-04-15 13:10 UTC (permalink / raw)
  To: Jack Mitchell; +Cc: openembedded-core

[-- Attachment #1: Type: text/plain, Size: 1072 bytes --]

On Mon, Apr 15, 2013 at 01:58:52PM +0100, Jack Mitchell wrote:
> Ok, I have just come back to trying out the new systemd implementation, 
> and this bug still exists.
> 
> Exactly the same error as before:
> 
> [    2.390730] systemd[1]: Failed to mount /run: No such file or directory
> 
> Can we shed any light on why this directory is failing to be created and 
> what can be done to fix it. Having looked in my final target filesystem 
> there are no links to the volatiles in /var/voltatile/* to /*, should 
> there be? The base-files packages looks like it should do it but 
> obviously something is going wrong.
> 
>    for d in ${volatiles}; do
>      ln -sf volatile/$d ${D}${localstatedir}/$d
>    done

We're using base-files bbappend to create it and also replacing few
symlinks to volatile with real directories (not mandatory for systemd
iirc, but useful in some cases).

https://github.com/shr-distribution/meta-smartphone/commit/24161eed3c185867b2fd91aab6532f370d327cdd

-- 
Martin 'JaMa' Jansa     jabber: Martin.Jansa@gmail.com

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 205 bytes --]

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: systemd: /run directory not created
  2013-04-15 13:10                                   ` Martin Jansa
@ 2013-04-15 13:45                                     ` Jack Mitchell
  2013-05-02 15:01                                       ` Jonathan Liu
  0 siblings, 1 reply; 25+ messages in thread
From: Jack Mitchell @ 2013-04-15 13:45 UTC (permalink / raw)
  To: Martin Jansa; +Cc: openembedded-core

On 15/04/13 14:10, Martin Jansa wrote:
> On Mon, Apr 15, 2013 at 01:58:52PM +0100, Jack Mitchell wrote:
>> Ok, I have just come back to trying out the new systemd implementation,
>> and this bug still exists.
>>
>> Exactly the same error as before:
>>
>> [    2.390730] systemd[1]: Failed to mount /run: No such file or directory
>>
>> Can we shed any light on why this directory is failing to be created and
>> what can be done to fix it. Having looked in my final target filesystem
>> there are no links to the volatiles in /var/voltatile/* to /*, should
>> there be? The base-files packages looks like it should do it but
>> obviously something is going wrong.
>>
>>     for d in ${volatiles}; do
>>       ln -sf volatile/$d ${D}${localstatedir}/$d
>>     done
> We're using base-files bbappend to create it and also replacing few
> symlinks to volatile with real directories (not mandatory for systemd
> iirc, but useful in some cases).
>
> https://github.com/shr-distribution/meta-smartphone/commit/24161eed3c185867b2fd91aab6532f370d327cdd
>

Ok, manually adding /run to 775dirs in a base-files append fixed this 
for me. I still don't understand why this should be needed as an 
addition though...

-- 

   Jack Mitchell (jack@embed.me.uk)
   Embedded Systems Engineer
   http://www.embed.me.uk

--




^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: systemd: /run directory not created
  2013-04-15 13:45                                     ` Jack Mitchell
@ 2013-05-02 15:01                                       ` Jonathan Liu
  0 siblings, 0 replies; 25+ messages in thread
From: Jonathan Liu @ 2013-05-02 15:01 UTC (permalink / raw)
  To: ml; +Cc: Martin Jansa, openembedded-core

On 15/04/2013 11:45 PM, Jack Mitchell wrote:
> On 15/04/13 14:10, Martin Jansa wrote:
>> On Mon, Apr 15, 2013 at 01:58:52PM +0100, Jack Mitchell wrote:
>>> Ok, I have just come back to trying out the new systemd implementation,
>>> and this bug still exists.
>>>
>>> Exactly the same error as before:
>>>
>>> [    2.390730] systemd[1]: Failed to mount /run: No such file or 
>>> directory
>>>
>>> Can we shed any light on why this directory is failing to be created 
>>> and
>>> what can be done to fix it. Having looked in my final target filesystem
>>> there are no links to the volatiles in /var/voltatile/* to /*, should
>>> there be? The base-files packages looks like it should do it but
>>> obviously something is going wrong.
>>>
>>>     for d in ${volatiles}; do
>>>       ln -sf volatile/$d ${D}${localstatedir}/$d
>>>     done
>> We're using base-files bbappend to create it and also replacing few
>> symlinks to volatile with real directories (not mandatory for systemd
>> iirc, but useful in some cases).
>>
>> https://github.com/shr-distribution/meta-smartphone/commit/24161eed3c185867b2fd91aab6532f370d327cdd 
>>
>>
>
> Ok, manually adding /run to 775dirs in a base-files append fixed this 
> for me. I still don't understand why this should be needed as an 
> addition though...
>
I get this error booting hdddirect/vmdk image (no initrd) but not when 
booting hddimg (uses initrd).

Regards,
Jonathan



^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: systemd: /run directory not created
  2013-02-22 14:50                               ` Jack Mitchell
  2013-04-15 12:58                                 ` Jack Mitchell
@ 2013-05-02 15:11                                 ` Jonathan Liu
  1 sibling, 0 replies; 25+ messages in thread
From: Jonathan Liu @ 2013-05-02 15:11 UTC (permalink / raw)
  To: ml; +Cc: openembedded-core

On 23/02/2013 1:50 AM, Jack Mitchell wrote:
> On 22/02/13 14:15, Jack Mitchell wrote:
>> On 22/02/13 09:22, Jack Mitchell wrote:
>>> On 21/02/13 22:27, Khem Raj wrote:
>>>> On (14/02/13 15:44), Jack Mitchell wrote:
>>>>> On 14/02/13 15:31, Burton, Ross wrote:
>>>>>> On 14 February 2013 14:31, Jack Mitchell <ml@communistcode.co.uk> 
>>>>>> wrote:
>>>>>>> Did this ever go anywhere? I have just tried again today with 
>>>>>>> exactly the
>>>>>>> same result, all I did was change the DISTRO_FEATURES_INITMAN to 
>>>>>>> systemd.
>>>>>> Odd, as I just built and booted a systemd image (core-image-sato, in
>>>>>> poky master), and it worked fine.
>>>>>>
>>>>>> Ross
>>>>> I have a custom distro definition that cuts a lot of features out.
>>>>> Can you find out which package is supposed to create run and I can
>>>>> check if it is pulled in properly on my setup?
>>>>>
>>>>> I think something must be assumed somewhere and I don't have the
>>>>> features enabled to trigger it.
>>>> its created by base-files package. If you need hint how it works
>>>> with systemd take a look at bbappend that angstrom has for base-files
>>>> in meta-angstrom
>>> Ah, I see. Thanks Khem.
>>>
>>> So, the next question is; how come Angstrom requires these files to 
>>> be appended to base-files in order to get systemd going, when 
>>> oe-core doesn't?
>>>
>>> I notice there is:
>>>
>>> ${localstatedir}/volatile/run \
>>>
>>> In the base-files oe-core package, while in Angstrom we have:
>>>
>>> ${localstatedir}/run \
>>> /run \
>>>
>>> I understand oe-core having it as a volatile; but I don't understand 
>>> why it doesn't create the /run directory. I see some kind of logic 
>>> regarding it here:
>>>
>>> volatiles = "run log lock tmp"
>>>
>>> for d in ${volatiles}; do
>>> ln -sf volatile/$d ${D}${localstatedir}/$d
>>> done
>>>
>>> However, if it doesn't create the directory on my target filesystem 
>>> then something must be wrong...
>>>
>>>
>>
>> Ok, some oddities and questions.
>>
>> I have slightly altered the base-files volatiles create loop from:
>>
>>
>> for d in ${volatiles}; do
>> ln -sf volatile/$d ${D}${localstatedir}/$d
>> done
>>
>> to
>>
>>   for d in ${volatiles}; do
>>     ln -sfv /volatile/$d ${D}/$d
>>   done
>>
>> Which gives the output:
>> DEBUG: Executing shell function do_install
>> '/mnt/SSD/oe-r0005/r0005/tmp/work/beaglebone-oecore-linux-gnueabi/base-files/3.0.14-r73/image/run' 
>> -> '/volatile/run'
>> '/mnt/SSD/oe-r0005/r0005/tmp/work/beaglebone-oecore-linux-gnueabi/base-files/3.0.14-r73/image/log' 
>> -> '/volatile/log'
>> '/mnt/SSD/oe-r0005/r0005/tmp/work/beaglebone-oecore-linux-gnueabi/base-files/3.0.14-r73/image/lock' 
>> -> '/volatile/lock'
>> '/mnt/SSD/oe-r0005/r0005/tmp/work/beaglebone-oecore-linux-gnueabi/base-files/3.0.14-r73/image/tmp/tmp' 
>> -> '/volatile/tmp'
>> DEBUG: Shell function do_install finished
>>
>> The oddity is the volatiles variable looks like this:
>>
>> volatiles = "run log lock tmp"
>>
>> So why do we get:
>>
>> '/mnt/SSD/oe-r0005/r0005/tmp/work/beaglebone-oecore-linux-gnueabi/base-files/3.0.14-r73/image/tmp/tmp' 
>> -> '/volatile/tmp'
>>
>> with /tmp/tmp?
>>
>> I have also removed the ${localstatedir} otherwise I was getting this:
>>
>> '/mnt/SSD/oe-r0005/r0005/tmp/work/beaglebone-oecore-linux-gnueabi/base-files/3.0.14-r73/image/var/run' 
>> -> '/volatile/run'
>>
>> With the extra var/ in. Which would make sense for why I wasn't 
>> getting directories made in the root folder. I suppose the issue is, 
>> why was everyone else?
>>
>> Can anyone shed any light on this?
>>
>
> Right,
>
> I think it should be this (minus the debug):
>
>   for d in run log tmp lock; do
>     echo ${D}
>     echo $d
>     ln -sfv ${localstatedir}/volatile/$d ${D}/$d
>   done
>
> Which gives:
>
> DEBUG: Executing shell function do_install
> /mnt/SSD/oe-r0005/r0005/tmp/work/beaglebone-oecore-linux-gnueabi/base-files/3.0.14-r73/image 
>
> run
> '/mnt/SSD/oe-r0005/r0005/tmp/work/beaglebone-oecore-linux-gnueabi/base-files/3.0.14-r73/image/run' 
> -> '/var/volatile/run'
> /mnt/SSD/oe-r0005/r0005/tmp/work/beaglebone-oecore-linux-gnueabi/base-files/3.0.14-r73/image 
>
> log
> '/mnt/SSD/oe-r0005/r0005/tmp/work/beaglebone-oecore-linux-gnueabi/base-files/3.0.14-r73/image/log' 
> -> '/var/volatile/log'
> /mnt/SSD/oe-r0005/r0005/tmp/work/beaglebone-oecore-linux-gnueabi/base-files/3.0.14-r73/image 
>
> tmp
> '/mnt/SSD/oe-r0005/r0005/tmp/work/beaglebone-oecore-linux-gnueabi/base-files/3.0.14-r73/image/tmp/tmp' 
> -> '/var/volatile/tmp'
> /mnt/SSD/oe-r0005/r0005/tmp/work/beaglebone-oecore-linux-gnueabi/base-files/3.0.14-r73/image 
>
> lock
> '/mnt/SSD/oe-r0005/r0005/tmp/work/beaglebone-oecore-linux-gnueabi/base-files/3.0.14-r73/image/lock' 
> -> '/var/volatile/lock'
> DEBUG: Shell function do_install finished
> ~
>
> The only issue I am having is still the double tmp/tmp thing; anyone 
> know why it is doing it? It seems like a weird substitution or 
> something.....
${D}/tmp is a directory that already exists, so the symbolic link is 
created at ${D}/tmp/tmp instead. Probably need to remove /tmp from dirs1777.

Regards,
Jonathan



^ permalink raw reply	[flat|nested] 25+ messages in thread

end of thread, other threads:[~2013-05-02 15:33 UTC | newest]

Thread overview: 25+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-01-23 15:19 systemd: /run directory not created Jack Mitchell
2013-01-24  9:46 ` Radu Moisan
2013-01-24 12:01   ` Burton, Ross
2013-01-24 12:11     ` Radu Moisan
2013-01-24 12:11       ` Burton, Ross
2013-01-24 12:20       ` Enrico Scholz
2013-01-24 12:34         ` Radu Moisan
2013-01-24 12:53           ` Enrico Scholz
2013-01-24 13:03             ` Radu Moisan
2013-01-24 14:52               ` Burton, Ross
2013-01-25  8:28                 ` Radu Moisan
2013-02-14 14:31                   ` Jack Mitchell
2013-02-14 15:31                     ` Burton, Ross
2013-02-14 15:44                       ` Jack Mitchell
2013-02-14 15:57                         ` Jack Mitchell
2013-02-14 20:23                           ` Jack Mitchell
2013-02-21 22:27                         ` Khem Raj
2013-02-22  9:22                           ` Jack Mitchell
2013-02-22 14:15                             ` Jack Mitchell
2013-02-22 14:50                               ` Jack Mitchell
2013-04-15 12:58                                 ` Jack Mitchell
2013-04-15 13:10                                   ` Martin Jansa
2013-04-15 13:45                                     ` Jack Mitchell
2013-05-02 15:01                                       ` Jonathan Liu
2013-05-02 15:11                                 ` Jonathan Liu

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.