[oe] How best replace /etc/init.d files with debugging versions right before jffs2 file is generated?

Ulf Samuelsson ulf_samuelsson at telia.com
Sat Oct 29 16:01:06 UTC 2011


2011-10-29 17:00, Anders Darander skrev:
> On 29 okt 2011, at 16:22, "Ulf Samuelsson"<ulf_samuelsson at telia.com>  wrote:
>
>> 2011-10-29 15:52, Ulf Samuelsson skrev:
>>> Having some problems booting a rootfs generated by openembedded,
>>>
>>> "hwclock can't find /dev/misc/rtc"
>>>
>>> and I would like to emit some debug  information by replacing some files
>>> in the /etc/init.d directory before the rootfs is finalized.
>>>
>>> If I try to "install" from another package, I will get a conflict.
>>>
>>> I guess I could loop mount the file system and then copy.
>>> Any other suggestions?
>>>
>> Just discovered that loop mounting jffs2 isn't that easy.
>> Need to find the blkmtd driver somewhere, recompile kernel?
> Yes, loop mounting filesystems designed for raw flash requires quite some extra steps. It's generally doable, but...
>
>> I can of course add some files to tmp/rootfs and regenerate the jffs2.
>>
>> Other ideas (allowing automation) appreciated.
> Well, you could always use a bbappend to the recipe in question, and override/replace the files that way. Or, if it's just temporarily, just modify the scripts directly in the oe tree, or if the file is taken from a tarball, modify it in the build directory and force a re-install and packaging.
>
> Cheers,
> Anders
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel at lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel
One would think that it was possible to do something with the rootfs, 
just before the mkfs.jffs2 was started.

Key seems to be redefining "IMAGE_CMD_jffs2"

This is set in conf/bitbake.conf:
IMAGE_CMD_jffs2 = "mkfs.jffs2 -x lzo --root=${IMAGE_ROOTFS} --faketime 
--output=${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.jffs2 ${EXTRA_IMAGECMD}"

It is possible to add something either in this file, or override in 
"local.conf"


PREPROCESS_JFFS2 = "tar -jxvf <myfile>.tar.bz2 -C ${IMAGE_ROOTFS}"


IMAGE_CMD_jffs2 = "${PREPROCESS_JFFS2} ; mkfs.jffs2 -x lzo 
--root=${IMAGE_ROOTFS} --faketime 
--output=${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.jffs2 ${EXTRA_IMAGECMD}"

If it is added to bitbake.conf, then PREPROCESS_JFFS2 needs to be set to 
something harmless.
PREPROCESS_JFFS2 ?= "touch ${IMAGE_ROOTFS}"


BTW: Why not run sumtool on the final result? This should speed up the load.

----------------------------------------

This works for me without making a kludge of the openembedded tree.


-- 
Best Regards
Ulf Samuelsson





More information about the Openembedded-devel mailing list