agherzan / meta-raspberrypi

Yocto/OE BSP layer for the Raspberry Pi boards
https://www.yoctoproject.org/
MIT License
540 stars 414 forks source link

wic error #151

Closed naveen230 closed 6 years ago

naveen230 commented 7 years ago
Hello I'm using pyro branches of meta-raspberrypi meta-mender meta-openembedded poky to create basic rpi image and getting following error because of the rootfs size.Any suggestions to overcome this issue? 7-sdimg/ INFO: Creating image(s)...
WARNING: overhead-factor was specified, but size was not, so bitbake variables will be used for the size. In this case both IMAGE_OVERHEAD_FACTOR and --overhead-factor will be applied
ERROR: Actual rootfs size (17273 kB) is larger than allowed size 16384 kB
+ bb_exit_handler
+ ret=1
+ echo WARNING: exit code 1 from a shell command.
WARNING: exit code 1 from a shell command.
+ exit 1
ERROR: Function failed: do_image_sdimg (log file is located at /root/poky/build/tmp/work/raspberrypi3-poky-linux-gnueabi/rpi-basic-image/1.0-r0/temp/log.do_image_sdimg.3276)

ERROR: Task (/root/poky/meta-raspberrypi/recipes-core/images/rpi-basic-image.bb:do_image_sdimg) failed with exit code '1' NOTE: Tasks Summary: Attempted 4697 tasks of which 4691 didn't need to be rerun and 1 failed.

pbrkr commented 6 years ago

I'm not sure I understand this issue - you're saying it's a wic error but it doesn't look like you're using wic. If this is still an issue could you send a the full bitbake output so we can see what's going wrong.

agherzan commented 6 years ago

@betafive this error is a rootfs size restriction error. I bet that somewhere @naveen230 is using a size rootfs size restriction configuration. Looks completely unrelated to the BSP but let's give the user a couple of days to reply.

Sdcxv commented 6 years ago

I encountered a similar problem, here is the layers I had added.

$ bitbake-layers show-layers
NOTE: Starting bitbake server...
layer                 path                                      priority
==========================================================================
meta                  /home/sdcxv/poky/meta-mender/openembedded-core/meta  5
meta-oe               /home/sdcxv/poky/meta-mender/meta-openembedded/meta-oe  6
meta-python           /home/sdcxv/poky/meta-mender/meta-openembedded/meta-python  7
meta-multimedia       /home/sdcxv/poky/meta-mender/meta-openembedded/meta-multimedia  6
meta-networking       /home/sdcxv/poky/meta-mender/meta-openembedded/meta-networking  5
meta-mender-core      /home/sdcxv/poky/meta-mender/meta-mender-core  6
meta-mender-demo      /home/sdcxv/meta-mender/meta-mender-demo  6
meta-raspberrypi      /home/sdcxv/poky/meta-mender/meta-raspberrypi  9
meta-mender-raspberrypi  /home/sdcxv/poky/meta-mender/meta-mender-raspberrypi  10

And here is my log files

$ cat log.do_image_sdimg
DEBUG: Executing python function set_image_size
DEBUG: 100228.000000 = 100228 * 1.000000
DEBUG: 212992.000000 = max(100228.000000, 212992)[212992.000000] + 1
DEBUG: 212992.000000 = int(212992.000000)
DEBUG: 212992 = aligned(212992)
DEBUG: returning 212992
DEBUG: Python function set_image_size finished
DEBUG: Executing python function extend_recipe_sysroot
NOTE: Direct dependencies are ['virtual:native:/home/sdcxv/poky/meta-mender/openembedded-core/meta/recipes-devtools/prelink/prelink_git.bb:do_populate_sysroot', '/home/sdcxv/poky/meta-mender/openembedded-core/meta/recipes-devtools/quilt/quilt-native_0.65.bb:do_populate_sysroot', 'virtual:native:/home/sdcxv/poky/meta-mender/openembedded-core/meta/recipes-devtools/makedevs/makedevs_1.0.1.bb:do_populate_sysroot', '/home/sdcxv/poky/meta-mender/openembedded-core/meta/recipes-core/glibc/ldconfig-native_2.12.1.bb:do_populate_sysroot', '/home/sdcxv/poky/meta-mender/openembedded-core/meta/recipes-core/glibc/glibc_2.27.bb:do_populate_sysroot', '/home/sdcxv/poky/meta-mender/openembedded-core/meta/recipes-devtools/gcc/gcc-runtime_7.3.bb:do_populate_sysroot', 'virtual:native:/home/sdcxv/poky/meta-mender/openembedded-core/meta/recipes-devtools/opkg-utils/opkg-utils_0.3.6.bb:do_populate_sysroot', '/home/sdcxv/poky/meta-mender/openembedded-core/meta/recipes-devtools/gcc/gcc-cross_7.3.bb:do_populate_sysroot', '/home/sdcxv/poky/meta-mender/openembedded-core/meta/recipes-core/meta/wic-tools.bb:do_populate_sysroot', 'virtual:native:/home/sdcxv/poky/meta-mender/openembedded-core/meta/recipes-devtools/mtools/mtools_4.0.18.bb:do_populate_sysroot', '/home/sdcxv/poky/meta-mender/meta-raspberrypi/recipes-bsp/bootfiles/bcm2835-bootfiles.bb:do_populate_sysroot', 'virtual:native:/home/sdcxv/poky/meta-mender/openembedded-core/meta/recipes-devtools/fdisk/gptfdisk_1.0.3.bb:do_populate_sysroot', 'virtual:native:/home/sdcxv/poky/meta-mender/openembedded-core/meta/recipes-devtools/pseudo/pseudo_git.bb:do_populate_sysroot', '/home/sdcxv/poky/meta-mender/openembedded-core/meta/recipes-kernel/kmod/depmodwrapper-cross_1.0.bb:do_populate_sysroot', 'virtual:native:/home/sdcxv/poky/meta-mender/openembedded-core/meta/recipes-extended/parted/parted_3.2.bb:do_populate_sysroot', 'virtual:native:/home/sdcxv/poky/meta-mender/openembedded-core/meta/recipes-devtools/dosfstools/dosfstools_4.1.bb:do_populate_sysroot', '/home/sdcxv/poky/meta-mender/openembedded-core/meta/recipes-devtools/mklibs/mklibs-native_0.1.43.bb:do_populate_sysroot', 'virtual:native:/home/sdcxv/poky/meta-mender/openembedded-core/meta/recipes-core/update-rc.d/update-rc.d_0.7.bb:do_populate_sysroot', 'virtual:native:/home/sdcxv/poky/meta-mender/openembedded-core/meta/recipes-devtools/opkg/opkg_0.3.6.bb:do_populate_sysroot', '/home/sdcxv/poky/meta-mender/openembedded-core/meta/recipes-devtools/qemu/qemuwrapper-cross_1.0.bb:do_populate_sysroot', 'virtual:native:/home/sdcxv/poky/meta-mender/openembedded-core/meta/recipes-extended/pigz/pigz_2.4.bb:do_populate_sysroot', 'virtual:native:/home/sdcxv/poky/meta-mender/openembedded-core/meta/recipes-devtools/rsync/rsync_3.1.3.bb:do_populate_sysroot']
NOTE: Installed into sysroot: []
NOTE: Skipping as already exists in sysroot: ['prelink-native', 'quilt-native', 'makedevs-native', 'ldconfig-native', 'glibc', 'gcc-runtime', 'opkg-utils-native', 'gcc-cross-arm', 'wic-tools', 'mtools-native', 'bcm2835-bootfiles', 'gptfdisk-native', 'pseudo-native', 'depmodwrapper-cross', 'parted-native', 'dosfstools-native', 'mklibs-native', 'update-rc.d-native', 'opkg-native', 'qemuwrapper-cross', 'pigz-native', 'rsync-native', 'automake-native', 'gnu-config-native', 'elfutils-native', 'binutils-native', 'autoconf-native', 'libtool-native', 'xz-native', 'systemd-systemctl-native', 'qemu-native', 'shadow-native', 'linux-libc-headers', 'libgcc', 'binutils-cross-arm', 'gmp-native', 'libmpc-native', 'mpfr-native', 'zlib-native', 'flex-native', 'texinfo-dummy-native', 'debianutils-native', 'openssl-native', 'popt-native', 'ncurses-native', 'util-linux-native', 'gettext-minimal-native', 'readline-native', 'pkgconfig-native', 'kmod-native', 'libarchive-native', 'libsolv-native', 'attr-native', 'acl-native', 'bison-native', 'm4-native', 'dtc-native', 'glib-2.0-native', 'pixman-native', 'libsdl-native', 'alsa-lib-native', 'cryptodev-linux-native', 'makedepend-native', 'lzo-native', 'python3-native', 'gtk-doc-native', 'e2fsprogs-native', 'bzip2-native', 'ninja-native', 'expat-native', 'cmake-native', 'rpm-native', 'libpcre-native', 'libffi-native', 'util-macros-native', 'libpng-native', 'libxext-native', 'libxrender-native', 'libxrandr-native', 'libx11-native', 'xproto-native', 'sqlite3-native', 'gdbm-native', 're2c-native', 'curl-native', 'db-native', 'file-native', 'dbus-native', 'nss-native', 'xextproto-native', 'renderproto-native', 'randrproto-native', 'libxcb-native', 'kbproto-native', 'xtrans-native', 'inputproto-native', 'autoconf-archive-native', 'nspr-native', 'xcb-proto-native', 'libpthread-stubs-native', 'libxau-native', 'libxdmcp-native']
DEBUG: Python function extend_recipe_sysroot finished
DEBUG: Executing shell function do_image_sdimg
+ mkdir -p /home/sdcxv/poky/meta-mender/openembedded-core/build/tmp-glibc/work/raspberrypi3-oe-linux-gnueabi/core-image-full-cmdline/1.0-r0
+ mkdir -p /home/sdcxv/poky/meta-mender/openembedded-core/build/tmp-glibc/work/raspberrypi3-oe-linux-gnueabi/core-image-full-cmdline/1.0-r0/rootfs
+ rm -rf /home/sdcxv/poky/meta-mender/openembedded-core/build/tmp-glibc/work/raspberrypi3-oe-linux-gnueabi/core-image-full-cmdline/1.0-r0/data
+ mkdir -p /home/sdcxv/poky/meta-mender/openembedded-core/build/tmp-glibc/work/raspberrypi3-oe-linux-gnueabi/core-image-full-cmdline/1.0-r0/data
+ '[' -n /home/sdcxv/poky/meta-mender/openembedded-core/build/tmp-glibc/deploy/images/raspberrypi3/persist ']'
+ rsync -a --no-owner --no-group /home/sdcxv/poky/meta-mender/openembedded-core/build/tmp-glibc/deploy/images/raspberrypi3/persist/persistent.txt /home/sdcxv/poky/meta-mender/openembedded-core/build/tmp-glibc/work/raspberrypi3-oe-linux-gnueabi/core-image-full-cmdline/1.0-r0/data
+ chown -R root:root /home/sdcxv/poky/meta-mender/openembedded-core/build/tmp-glibc/work/raspberrypi3-oe-linux-gnueabi/core-image-full-cmdline/1.0-r0/data
+ '[' -f /home/sdcxv/poky/meta-mender/openembedded-core/build/tmp-glibc/deploy/images/raspberrypi3/data.tar ']'
+ cd /home/sdcxv/poky/meta-mender/openembedded-core/build/tmp-glibc/work/raspberrypi3-oe-linux-gnueabi/core-image-full-cmdline/1.0-r0
+ tar xf /home/sdcxv/poky/meta-mender/openembedded-core/build/tmp-glibc/deploy/images/raspberrypi3/data.tar
+ mkdir -p /home/sdcxv/poky/meta-mender/openembedded-core/build/tmp-glibc/work/raspberrypi3-oe-linux-gnueabi/core-image-full-cmdline/1.0-r0/data/mender
+ echo device_type=raspberrypi3
+ chmod 0444 /home/sdcxv/poky/meta-mender/openembedded-core/build/tmp-glibc/work/raspberrypi3-oe-linux-gnueabi/core-image-full-cmdline/1.0-r0/data/mender/device_type
+ dd if=/dev/zero of=/home/sdcxv/poky/meta-mender/openembedded-core/build/tmp-glibc/work/raspberrypi3-oe-linux-gnueabi/core-image-full-cmdline/1.0-r0/data.ext4 count=0 bs=1M seek=128
0+0 records in
0+0 records out
0 bytes (0 B) copied, 0.000166688 s, 0.0 kB/s
+ mkfs.ext4 -F /home/sdcxv/poky/meta-mender/openembedded-core/build/tmp-glibc/work/raspberrypi3-oe-linux-gnueabi/core-image-full-cmdline/1.0-r0/data.ext4 -d /home/sdcxv/poky/meta-mender/openembedded-core/build/tmp-glibc/work/raspberrypi3-oe-linux-gnueabi/core-image-full-cmdline/1.0-r0/data -L data
mke2fs 1.43.8 (1-Jan-2018)
Discarding device blocks: done
Creating filesystem with 131072 1k blocks and 32768 inodes
Filesystem UUID: 071d167a-322a-406b-9971-f9d2f105eb08
Superblock backups stored on blocks:
        8193, 24577, 40961, 57345, 73729

Allocating group tables: done
Writing inode tables: done
Creating journal (4096 blocks): done
Copying files into the device: done
Writing superblocks and filesystem accounting information: done

+ install -m 0644 /home/sdcxv/poky/meta-mender/openembedded-core/build/tmp-glibc/deploy/images/raspberrypi3/uboot.env /home/sdcxv/poky/meta-mender/openembedded-core/build/tmp-glibc/work/raspberrypi3-oe-linux-gnueabi/core-image-full-cmdline/1.0-r0/
+ wks=/home/sdcxv/poky/meta-mender/openembedded-core/build/tmp-glibc/work/raspberrypi3-oe-linux-gnueabi/core-image-full-cmdline/1.0-r0/mender-sdimg.wks
+ rm -f /home/sdcxv/poky/meta-mender/openembedded-core/build/tmp-glibc/work/raspberrypi3-oe-linux-gnueabi/core-image-full-cmdline/1.0-r0/mender-sdimg.wks
+ '[' -n '' ']'
+ true
+ '[' -n 8388608 ']'
++ expr 8388608 / 1024
+ boot_env_align_kb=8192
+ cat
+ cat
+ echo '### Contents of wks file ###'
### Contents of wks file ###
+ cat /home/sdcxv/poky/meta-mender/openembedded-core/build/tmp-glibc/work/raspberrypi3-oe-linux-gnueabi/core-image-full-cmdline/1.0-r0/mender-sdimg.wks
part --source rawcopy --sourceparams="file=/home/sdcxv/poky/meta-mender/openembedded-core/build/tmp-glibc/work/raspberrypi3-oe-linux-gnueabi/core-image-full-cmdline/1.0-r0/uboot.env" --ondisk mmcblk0 --align 8192 --no-table
part --source bootimg-partition --ondisk mmcblk0 --fstype=vfat --label boot --align 8192 --active --fixed-size 16
part --source rootfs --ondisk mmcblk0 --fstype=ext4 --label primary --align 8192 --fixed-size 212992k
part --source rootfs --ondisk mmcblk0 --fstype=ext4 --label secondary --align 8192 --fixed-size 212992k
part --source rawcopy --sourceparams=file="/home/sdcxv/poky/meta-mender/openembedded-core/build/tmp-glibc/work/raspberrypi3-oe-linux-gnueabi/core-image-full-cmdline/1.0-r0/data.ext4" --ondisk mmcblk0 --fstype=ext4 --label data --align 8192 --fixed-size 128
bootloader --ptable msdos
+ echo '### End of contents of wks file ###'
### End of contents of wks file ###
+ outimgname=/home/sdcxv/poky/meta-mender/openembedded-core/build/tmp-glibc/work/raspberrypi3-oe-linux-gnueabi/core-image-full-cmdline/1.0-r0/deploy-core-image-full-cmdline-image-complete/core-image-full-cmdline-raspberrypi3-20180321042413.sdimg
+ wicout=/home/sdcxv/poky/meta-mender/openembedded-core/build/tmp-glibc/work/raspberrypi3-oe-linux-gnueabi/core-image-full-cmdline/1.0-r0/deploy-core-image-full-cmdline-image-complete/core-image-full-cmdline-raspberrypi3-20180321042413-sdimg
+ BUILDDIR=/home/sdcxv/poky/meta-mender/openembedded-core/build
+ wic create /home/sdcxv/poky/meta-mender/openembedded-core/build/tmp-glibc/work/raspberrypi3-oe-linux-gnueabi/core-image-full-cmdline/1.0-r0/mender-sdimg.wks --vars /home/sdcxv/poky/meta-mender/openembedded-core/build/tmp-glibc/sysroots/raspberrypi3/imgdata/ -e core-image-full-cmdline -o /home/sdcxv/poky/meta-mender/openembedded-core/build/tmp-glibc/work/raspberrypi3-oe-linux-gnueabi/core-image-full-cmdline/1.0-r0/deploy-core-image-full-cmdline-image-complete/core-image-full-cmdline-raspberrypi3-20180321042413-sdimg/
INFO: Creating image(s)...

ERROR: Actual rootfs size (17096 kB) is larger than allowed size 16384 kB

+ bb_exit_handler
+ ret=1
+ case $ret in
+ case $BASH_VERSION in
+ echo 'WARNING: /home/sdcxv/poky/meta-mender/openembedded-core/build/tmp-glibc/work/raspberrypi3-oe-linux-gnueabi/core-image-full-cmdline/1.0-r0/temp/run.do_image_sdimg.16475:1 exit 1 from '\''BUILDDIR="/home/sdcxv/poky/meta-mender/openembedded-core/build" wic create "$wks" --vars "/home/sdcxv/poky/meta-mender/openembedded-core/build/tmp-glibc/sysroots/raspberrypi3/imgdata/" -e "core-image-full-cmdline" -o "$wicout/"'\'''
WARNING: /home/sdcxv/poky/meta-mender/openembedded-core/build/tmp-glibc/work/raspberrypi3-oe-linux-gnueabi/core-image-full-cmdline/1.0-r0/temp/run.do_image_sdimg.16475:1 exit 1 from 'BUILDDIR="/home/sdcxv/poky/meta-mender/openembedded-core/build" wic create "$wks" --vars "/home/sdcxv/poky/meta-mender/openembedded-core/build/tmp-glibc/sysroots/raspberrypi3/imgdata/" -e "core-image-full-cmdline" -o "$wicout/"'
+ exit 1
ERROR: Function failed: do_image_sdimg (log file is located at /home/sdcxv/poky/meta-mender/openembedded-core/build/tmp-glibc/work/raspberrypi3-oe-linux-gnueabi/core-image-full-cmdline/1.0-r0/temp/log.do_image_sdimg.16475)
Sdcxv commented 6 years ago

I had added the following line into conf/local.conf

RPI_USE_U_BOOT = "1"
MENDER_PARTITION_ALIGNMENT_KB = "4096"
MENDER_BOOT_PART_SIZE_MB = "40"
IMAGE_INSTALL_append = " kernel-image kernel-devicetree"
IMAGE_FSTYPES_remove += " rpi-sdimg"

And run $ bitbake core-image-full-cmdline again, the problem solved.

Build Configuration:
BB_VERSION           = "1.37.0"
BUILD_SYS            = "x86_64-linux"
NATIVELSBSTRING      = "centos-7"
TARGET_SYS           = "arm-oe-linux-gnueabi"
MACHINE              = "raspberrypi3"
DISTRO               = "nodistro"
DISTRO_VERSION       = "nodistro.0"
TUNE_FEATURES        = "arm armv7ve vfp thumb neon vfpv4 callconvention-hard cortexa7"
TARGET_FPU           = "hard"
meta                 = "master:086308aa2a5e332de6f00ed397c4a55d132f158f"
meta-oe
meta-python
meta-multimedia
meta-networking      = "master:4598769a96980b756b3489ac71ed46a075cfabd7"
meta-mender-core
meta-mender-demo     = "rocko:cb4feead40e48c4ece1a041c995defecd0e7ee96"
meta-raspberrypi     = "master:f86f9f0013e11311c66fc640fbb43b399606ca2f"
meta-mender-raspberrypi = "rocko:cb4feead40e48c4ece1a041c995defecd0e7ee96"
......
NOTE: Tasks Summary: Attempted 3304 tasks of which 2909 didn't need to be rerun and all succeeded.

Summary: There were 8 WARNING messages shown.
agherzan commented 6 years ago

@Sdcxv can you reproduce this issue with only meta-rpi, meta-oe and poky layers?

naveen230 commented 6 years ago

I don't remember what I did but I'm able to develop the image now.Maybe I was using layers with different branches or using meta-debian caused this error.

pbrkr commented 6 years ago

@sdcxv: The error message is misleading, it refers to the 'rootfs' but it looks like the code in question in scripts/lib/wic/ksparser.py in poky (or oe-core) isn't specific to the rootfs. The issue is probably with the boot partition defined by the following line in the wks file which is printed:

part --source bootimg-partition --ondisk mmcblk0 --fstype=vfat --label boot --align 8192 --active --fixed-size 16

That needs increasing to allow more space. So I think it's the mender-sdimg.wks file that's at fault there.

Closing this as @naveen23's error has been solved and @Sdcxv's error isn't with this layer.

nucatus commented 3 years ago

Actually, this is because mender is handling the sd_img creation and the default partition size is too small. Setting the MENDER_BOOT_PART_SIZE_MB = "32" would fix the issue.