Reputation: 3716
I am using Yocto 2.3 to build my device image.
My image includes packagegroup-core-boot
that, in turn, includes busybox
.
IMAGE_INSTALL = "\
....
packagegroup-core-boot \
Busybox is configured to include syslogd:
CONFIG_SYSLOGD=y
CONFIG_FEATURE_ROTATE_LOGFILE=y
CONFIG_FEATURE_REMOTE_LOG=y
CONFIG_FEATURE_SYSLOGD_DUP=y
CONFIG_FEATURE_SYSLOGD_CFG=y
CONFIG_FEATURE_SYSLOGD_READ_BUFFER_SIZE=256
CONFIG_FEATURE_IPC_SYSLOG=y
CONFIG_FEATURE_IPC_SYSLOG_BUFFER_SIZE=64
CONFIG_LOGREAD=y
CONFIG_FEATURE_LOGREAD_REDUCED_LOCKING=y
CONFIG_FEATURE_KMSG_SYSLOG=y
CONFIG_KLOGD=y
It is built and installed correctly.
Relevant syslog files do appear in busybox image
directory:
tmp/work/armv5e-poky-linux-gnueabi/busybox/1.24.1-r0/image$ tree etc/
etc/
├── default
├── init.d
│ └── syslog.busybox
├── syslog.conf.busybox
├── syslog-startup.conf.busybox
These files don't appear in my main image rootfs, though. Only the syslogd
command is included. See output on target device:
# ls -l $( which syslogd )
lrwxrwxrwx 1 root root 19 Jan 10 12:31 /sbin/syslogd -> /bin/busybox.nosuid
What can be happening to make this files not to be included in the final image?
Additional question:
As shown in the tree
output, the init script for syslog is included in busybox but no link to /etc/rc?.d/
is created.
I understand that is should be created by a do_install()
hook, shouldn't?
Thanks in advance.
EDIT
Contents of packages-split
, as @Anders says, seems ok:
poky/build-idprint/tmp/work/armv5e-poky-linux-gnueabi/busybox/1.24.1-r0$ tree packages-split/busybox-syslog/
packages-split/busybox-syslog/
└── etc
├── init.d
│ ├── syslog
│ └── syslog.busybox
├── syslog.conf
├── syslog.conf.busybox
├── syslog-startup.conf
└── syslog-startup.conf.busybox
I just can't figure out what is stripping this files out of the final image.
Upvotes: 0
Views: 1394
Reputation: 8981
Check tmp/work/armv5e-poky-linux-gnueabi/busybox/1.24.1-r0/packages-split
. This is where all files are split into the packages that will be generated. If you search that directory, you'll find eg syslog.conf
in the busybox-syslog
package.
Thus, in order to get those files into your image, you'll need to add busybox-syslog
to your image. I.e. IMAGE_INSTALL += "busybox-syslog"
.
Upvotes: 2