[OE-core] [PATCH] image_types: preserve rootfs if mkext234fs() fails
Robert Yang
liezhi.yang at windriver.com
Wed Dec 20 09:55:31 UTC 2017
On 12/20/2017 05:51 PM, Richard Purdie wrote:
> On Tue, 2017-12-19 at 15:54 -0500, Tom Rini wrote:
>> On Tue, Dec 19, 2017 at 12:11:48PM -0800, Saul Wold wrote:
>>>
>>> We have seen more failures, but have not been able to directly
>>> reproduce
>>> it maybe svaing the rootfs and it contains some content that is
>>> tripping
>>> up the e2fsprogs mkfs.ext4 populate_rootfs() function
>>>
>>> Signed-off-by: Saul Wold <sgw at linux.intel.com>
>>> ---
>>> meta/classes/image_types.bbclass | 7 ++++++-
>>> 1 file changed, 6 insertions(+), 1 deletion(-)
>>>
>>> diff --git a/meta/classes/image_types.bbclass
>>> b/meta/classes/image_types.bbclass
>>> index 9188bed4197..6b4f39ed274 100644
>>> --- a/meta/classes/image_types.bbclass
>>> +++ b/meta/classes/image_types.bbclass
>>> @@ -86,9 +86,14 @@ oe_mkext234fs () {
>>> bbdebug 1 Executing "dd if=/dev/zero
>>> of=${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.$fstype
>>> seek=$ROOTFS_SIZE count=$COUNT bs=1024"
>>> dd if=/dev/zero
>>> of=${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.$fstype
>>> seek=$ROOTFS_SIZE count=$COUNT bs=1024
>>> bbdebug 1 "Actual Rootfs size: `du -s ${IMAGE_ROOTFS}`"
>>> - bbdebug 1 "Actual Partion size: `ls -s
>>> ${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.$fstype`"
>>> + bbdebug 1 "Actual Partion size: `ls -l
>>> ${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.$fstype`"
>>> bbdebug 1 Executing "mkfs.$fstype -F $extra_imagecmd
>>> ${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.$fstype -d
>>> ${IMAGE_ROOTFS}"
>>> mkfs.$fstype -F $extra_imagecmd
>>> ${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.$fstype -d
>>> ${IMAGE_ROOTFS}
>>> + if [ $? -ne 0 ]; then
>>> + tmp_saved_rootfs=`mktemp -d -p /tmp
>>> saved_rootfs.XXXXX`
>>> + cp -r ${IMAGE_ROOTFS} $tmp_saved_rootfs
>>> + fi
>> Wouldn't it be better to just fail on error here, rather than dump
>> stuff to /tmp ?
>
> We have a problem with a recurring issue where the image generation
> code is failing in the eSDK selftests. The eSDK selftests run a
> completely separate build which then gets cleaned up. I'm not entirely
> sure the best way to handle this but that is why Saul is proposing
> this.
>
> It may be an idea to detect the failing selftest and then stop the
> cleanup in that case. That is going to be fairly invasive on the
+1 on this, the cleanup makes the debug very hard when error happens.
// Robert
> selftest code though
>
> I may just pull this into master-next (but not master) so at least if
> it fails there we have better debugging. We are struggling to get to
> the bottom of the issue :(.
>
> Cheers,
>
> Richard
>
>
More information about the Openembedded-core
mailing list