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 <m...@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

_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core

Reply via email to