Compile Gateway-OS for Raspberrypi0-wifi

I’m trying to compile Gateway-os for raspberrypi0-wifi.
I modified some recipe files based on raspberry1, however when creating the image it generates this error:

yocto@de4fcd77a866:/build$ bitbake chirpstack-gateway-os-base

Loading cache: 100% |#################################################################| Time: 0:00:00
Loaded 3523 entries from dependency cache.
NOTE: Resolving any missing task queue dependencies

Build Configuration:
BB_VERSION = “1.44.0”
BUILD_SYS = “x86_64-linux”
NATIVELSBSTRING = “debian-10”
TARGET_SYS = “arm-oe-linux-gnueabi”
MACHINE = “raspberrypi0-wifi”
DISTRO = “chirpstack-gateway-os”
DISTRO_VERSION = “3.3.0-test.4”
TUNE_FEATURES = “arm armv6 vfp arm1176jzfs callconvention-hard”
TARGET_FPU = “hard”
meta
meta-raspberrypi
meta-tools
meta-semtech
meta-chirpstack = “master:e5113ee47ebe67e48321e3b75d842a286e7b3f27”
meta-swupdate = “HEAD:8ad6a75e1778cdda671b3d6aea2a9692613020ec”
meta-rust-bin = “HEAD:1f331eae72a7cc491dccd015a46fa07ea3d31b4e”
meta-clang = “HEAD:0c393398a91713a108f319ac75337c02b7ebeaa7”
meta-raspberrypi = “HEAD:d17588fe8673b794b589335a753f4c1c90e12f88”
meta-networking
meta-filesystems
meta-python
meta-oe = “HEAD:e855ecc6d35677e79780adc57b2552213c995731”
meta = “HEAD:af41a2238beec0c34c1c1e5f25eed55f2a214643”

Initialising tasks: 100% |############################################################| Time: 0:00:01
Sstate summary: Wanted 18 Found 10 Missed 8 Current 1452 (55% match, 99% complete)
NOTE: Executing Tasks
NOTE: Setscene tasks completed

> ERROR: chirpstack-gateway-os-base-1.0-r0 do_image_wic: Execution of '/build/tmp/raspberrypi/raspberrypi0-wifi-glibc/work/raspberrypi0_wifi-oe-linux-gnueabi/chirpstack-gateway-os-base/1.0-r0/temp/run.do_image_wic.19446' failed with exit code 1:
> INFO: Creating image(s)...
> 
> WARNING: bootloader config not specified, using defaults
> 
> ERROR: _exec_cmd: export PATH=/build/tmp/raspberrypi/raspberrypi0-wifi-glibc/work/raspberrypi0_wifi-oe-linux-gnueabi/chirpstack-gateway-os-base/1.0-r0/recipe-sysroot-native/sbin:/build/tmp/raspberrypi/raspberrypi0-wifi-glibc/work/raspberrypi0_wifi-oe-linux-gnueabi/chirpstack-gateway-os-base/1.0-r0/recipe-sysroot-native/usr/sbin:/build/tmp/raspberrypi/raspberrypi0-wifi-glibc/work/raspberrypi0_wifi-oe-linux-gnueabi/chirpstack-gateway-os-base/1.0-r0/recipe-sysroot-native/usr/bin:$PATH;export PSEUDO_PREFIX=/build/tmp/raspberrypi/raspberrypi0-wifi-glibc/sysroots-components/x86_64/pseudo-native/usr;export PSEUDO_LOCALSTATEDIR=/build/tmp/raspberrypi/raspberrypi0-wifi-glibc/work/raspberrypi0_wifi-oe-linux-gnueabi/chirpstack-gateway-os-base/1.0-r0/pseudo/;export PSEUDO_PASSWD=/build/tmp/raspberrypi/raspberrypi0-wifi-glibc/work/raspberrypi0_wifi-oe-linux-gnueabi/chirpstack-gateway-os-base/1.0-r0/rootfs:/build/tmp/raspberrypi/raspberrypi0-wifi-glibc/work/raspberrypi0_wifi-oe-linux-gnueabi/chirpstack-gateway-os-base/1.0-r0/recipe-sysroot-native;export PSEUDO_NOSYMLINKEXP=1;/build/tmp/raspberrypi/raspberrypi0-wifi-glibc/sysroots-components/x86_64/pseudo-native/usr/bin/pseudo mkfs.ext4 -F -i 8192 /build/tmp/raspberrypi/raspberrypi0-wifi-glibc/work/raspberrypi0_wifi-oe-linux-gnueabi/chirpstack-gateway-os-base/1.0-r0/deploy-chirpstack-gateway-os-base-image-complete/chirpstack-gateway-os-base-raspberrypi0-wifi-20200318053251/tmp.wic.0355xl91/rootfs_rootfs-a.2.ext4 -L rootfs-a -U bc86ed9a-973a-4b31-9086-81bc971f6bc3 -d /build/tmp/raspberrypi/raspberrypi0-wifi-glibc/work/raspberrypi0_wifi-oe-linux-gnueabi/chirpstack-gateway-os-base/1.0-r0/rootfs returned '1' instead of 0
> output: mke2fs 1.45.3 (14-Jul-2019)
> Discarding device blocks: done                            
> Creating filesystem with 131072 4k blocks and 65536 inodes
> Filesystem UUID: bc86ed9a-973a-4b31-9086-81bc971f6bc3
> Superblock backups stored on blocks: 
> 	32768, 98304
> 
> Allocating group tables: done                            
> Writing inode tables: done                            
> Creating journal (4096 blocks): done
> Copying files into the device: __populate_fs: Could not allocate block in ext2 filesystem while writing file "iso14651_t1_common"
> mkfs.ext4: Could not allocate block in ext2 filesystem while populating file system
> 
> WARNING: exit code 1 from a shell command.
> 
> ERROR: Logfile of failure stored in: /build/tmp/raspberrypi/raspberrypi0-wifi-glibc/work/raspberrypi0_wifi-oe-linux-gnueabi/chirpstack-gateway-os-base/1.0-r0/temp/log.do_image_wic.19446
> Log data follows:
> | DEBUG: Executing python function set_image_size
> | DEBUG: 655038.800000 = 503876 * 1.300000
> | DEBUG: 655038.800000 = max(655038.800000, 8192)[655038.800000] + 0
> | DEBUG: 655039.000000 = int(655038.800000)
> | DEBUG: 655360 = aligned(655039)
> | DEBUG: returning 655360
> | DEBUG: Python function set_image_size finished
> | DEBUG: Executing python function extend_recipe_sysroot
> | NOTE: Direct dependencies are ['/chirpstack-gateway-os/layers/openembedded/openembedded-core/meta/recipes-core/glibc/glibc_2.30.bb:do_populate_sysroot', '/chirpstack-gateway-os/layers/openembedded/openembedded-core/meta/recipes-devtools/gcc/gcc-runtime_9.2.bb:do_populate_sysroot', 'virtual:native:/chirpstack-gateway-os/layers/openembedded/openembedded-core/meta/recipes-devtools/syslinux/syslinux_6.04-pre2.bb:do_populate_sysroot', '/chirpstack-gateway-os/layers/openembedded/openembedded-core/meta/recipes-devtools/python/python-native_2.7.17.bb:do_populate_sysroot', 'virtual:native:/chirpstack-gateway-os/layers/openembedded/openembedded-core/meta/recipes-support/bmap-tools/bmap-tools_3.5.bb:do_populate_sysroot', 'virtual:native:/chirpstack-gateway-os/layers/openembedded/openembedded-core/meta/recipes-devtools/fdisk/gptfdisk_1.0.4.bb:do_populate_sysroot', 'virtual:native:/chirpstack-gateway-os/layers/openembedded/openembedded-core/meta/recipes-bsp/u-boot/u-boot-tools_2019.07.bb:do_populate_sysroot', 'virtual:native:/chirpstack-gateway-os/layers/openembedded/openembedded-core/meta/recipes-devtools/squashfs-tools/squashfs-tools_git.bb:do_populate_sysroot', 'virtual:native:/chirpstack-gateway-os/layers/openembedded/openembedded-core/meta/recipes-connectivity/openssl/openssl_1.1.1d.bb:do_populate_sysroot', 'virtual:native:/chirpstack-gateway-os/layers/openembedded/openembedded-core/meta/recipes-devtools/swig/swig_3.0.12.bb:do_populate_sysroot', 'virtual:native:/chirpstack-gateway-os/layers/openembedded/openembedded-core/meta/recipes-devtools/mtools/mtools_4.0.23.bb:do_populate_sysroot', '/chirpstack-gateway-os/layers/openembedded/openembedded-core/meta/recipes-devtools/quilt/quilt-native_0.66.bb:do_populate_sysroot', 'virtual:native:/chirpstack-gateway-os/layers/openembedded/openembedded-core/meta/recipes-devtools/makedevs/makedevs_1.0.1.bb:do_populate_sysroot', '/chirpstack-gateway-os/layers/openembedded/openembedded-core/meta/recipes-kernel/kern-tools/kern-tools-native_git.bb:do_populate_sysroot', '/chirpstack-gateway-os/layers/openembedded/openembedded-core/meta/recipes-kernel/kmod/depmodwrapper-cross_1.0.bb:do_populate_sysroot', 'virtual:native:/chirpstack-gateway-os/layers/openembedded/openembedded-core/meta/recipes-devtools/dosfstools/dosfstools_4.1.bb:do_populate_sysroot', 'virtual:native:/chirpstack-gateway-os/layers/openembedded/openembedded-core/meta/recipes-support/lzop/lzop_1.04.bb:do_populate_sysroot', 'virtual:native:/chirpstack-gateway-os/layers/openembedded/openembedded-core/meta/recipes-kernel/dtc/dtc_1.5.1.bb:do_populate_sysroot', '/chirpstack-gateway-os/layers/openembedded/openembedded-core/meta/recipes-devtools/cdrtools/cdrtools-native_3.01.bb:do_populate_sysroot', 'virtual:native:/chirpstack-gateway-os/layers/openembedded/openembedded-core/meta/recipes-extended/xz/xz_5.2.4.bb:do_populate_sysroot', '/chirpstack-gateway-os/layers/openembedded/openembedded-core/meta/recipes-devtools/qemu/qemuwrapper-cross_1.0.bb:do_populate_sysroot', '/chirpstack-gateway-os/layers/openembedded/openembedded-core/meta/recipes-kernel/kmod/kmod-native_git.bb:do_populate_sysroot', '/chirpstack-gateway-os/layers/bsp/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_4.19.bb:do_populate_sysroot', 'virtual:native:/chirpstack-gateway-os/layers/openembedded/openembedded-core/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.45.3.bb:do_populate_sysroot', '/chirpstack-gateway-os/layers/bsp/meta-raspberrypi/recipes-bsp/bootfiles/rpi-config_git.bb:do_populate_sysroot', 'virtual:native:/chirpstack-gateway-os/layers/openembedded/openembedded-core/meta/recipes-devtools/opkg/opkg_0.4.1.bb:do_populate_sysroot', 'virtual:native:/chirpstack-gateway-os/layers/openembedded/openembedded-core/meta/recipes-core/update-rc.d/update-rc.d_0.8.bb:do_populate_sysroot', 'virtual:native:/chirpstack-gateway-os/layers/openembedded/openembedded-core/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.2.2.bb:do_populate_sysroot', '/chirpstack-gateway-os/layers/openembedded/openembedded-core/meta/recipes-core/glibc/ldconfig-native_2.12.1.bb:do_populate_sysroot', 'virtual:native:/chirpstack-gateway-os/layers/openembedded/openembedded-core/meta/recipes-extended/bc/bc_1.07.1.bb:do_populate_sysroot', '/chirpstack-gateway-os/layers/bsp/meta-raspberrypi/recipes-bsp/rpi-u-boot-scr/rpi-u-boot-scr.bb:do_populate_sysroot', 'virtual:native:/chirpstack-gateway-os/layers/openembedded/openembedded-core/meta/recipes-devtools/flex/flex_2.6.0.bb:do_populate_sysroot', 'virtual:native:/chirpstack-gateway-os/layers/openembedded/openembedded-core/meta/recipes-devtools/bison/bison_3.4.1.bb:do_populate_sysroot', '/chirpstack-gateway-os/layers/openembedded/openembedded-core/meta/recipes-core/glibc/cross-localedef-native_2.30.bb:do_populate_sysroot', 'virtual:native:/chirpstack-gateway-os/layers/openembedded/openembedded-core/meta/recipes-devtools/pseudo/pseudo_git.bb:do_populate_sysroot', 'virtual:native:/chirpstack-gateway-os/layers/openembedded/openembedded-core/meta/recipes-devtools/opkg-utils/opkg-utils_0.4.1.bb:do_populate_sysroot', '/chirpstack-gateway-os/layers/openembedded/openembedded-core/meta/recipes-devtools/binutils/binutils-cross_2.32.bb:do_populate_sysroot', 'virtual:native:/chirpstack-gateway-os/layers/openembedded/openembedded-core/meta/recipes-extended/parted/parted_3.2.bb:do_populate_sysroot', 'virtual:native:/chirpstack-gateway-os/layers/openembedded/openembedded-core/meta/recipes-extended/pigz/pigz_2.4.bb:do_populate_sysroot', '/chirpstack-gateway-os/layers/openembedded/openembedded-core/meta/recipes-devtools/gcc/gcc-cross_9.2.bb:do_populate_sysroot']
> | NOTE: Installed into sysroot: []
> | NOTE: Skipping as already exists in sysroot: ['glibc', 'gcc-runtime', 'syslinux-native', 'python-native', 'bmap-tools-native', 'gptfdisk-native', 'u-boot-tools-native', 'squashfs-tools-native', 'openssl-native', 'swig-native', 'mtools-native', 'quilt-native', 'makedevs-native', 'kern-tools-native', 'depmodwrapper-cross', 'dosfstools-native', 'lzop-native', 'dtc-native', 'cdrtools-native', 'xz-native', 'qemuwrapper-cross', 'kmod-native', 'linux-raspberrypi', 'e2fsprogs-native', 'rpi-config', 'opkg-native', 'update-rc.d-native', 'btrfs-tools-native', 'ldconfig-native', 'bc-native', 'rpi-u-boot-scr', 'flex-native', 'bison-native', 'cross-localedef-native', 'pseudo-native', 'opkg-utils-native', 'binutils-cross-arm', 'parted-native', 'pigz-native', 'gcc-cross-arm', 'linux-libc-headers', 'libgcc', 'util-linux-native', 'nasm-native', 'bzip2-native', 'automake-native', 'gdbm-native', 'readline-native', 'libtool-native', 'gnu-config-native', 'sqlite3-native', 'zlib-native', 'pkgconfig-native', 'autoconf-native', 'db-native', 'expat-native', 'python3-setuptools-native', 'python3-native', 'python3-six-native', 'popt-native', 'ncurses-native', 'lz4-native', 'lzo-native', 'attr-native', 'libpcre-native', 'texinfo-dummy-native', 'debianutils-native', 'shadow-native', 'gettext-minimal-native', 'qemu-native', 'gtk-doc-native', 'libsolv-native', 'libarchive-native', 'acl-native', 'cpio-native', 'm4-native', 'nss-native', 'libmpc-native', 'gmp-native', 'mpfr-native', 'libcap-ng-native', 'groff-native', 'unzip-native', 'libnsl2-native', 'libtirpc-native', 'libffi-native', 'glib-2.0-native', 'rpm-native', 'cmake-native', 'ninja-native', 'nspr-native', 'perl-native', 'meson-native', 'gettext-native', 'dbus-native', 'elfutils-native', 'file-native', 'curl-native', 're2c-native']
> | DEBUG: Python function extend_recipe_sysroot finished
> | DEBUG: Executing shell function do_image_wic
> | INFO: Creating image(s)...
> | 
> | WARNING: bootloader config not specified, using defaults
> | 
> | ERROR: _exec_cmd: export PATH=/build/tmp/raspberrypi/raspberrypi0-wifi-glibc/work/raspberrypi0_wifi-oe-linux-gnueabi/chirpstack-gateway-os-base/1.0-r0/recipe-sysroot-native/sbin:/build/tmp/raspberrypi/raspberrypi0-wifi-glibc/work/raspberrypi0_wifi-oe-linux-gnueabi/chirpstack-gateway-os-base/1.0-r0/recipe-sysroot-native/usr/sbin:/build/tmp/raspberrypi/raspberrypi0-wifi-glibc/work/raspberrypi0_wifi-oe-linux-gnueabi/chirpstack-gateway-os-base/1.0-r0/recipe-sysroot-native/usr/bin:$PATH;export PSEUDO_PREFIX=/build/tmp/raspberrypi/raspberrypi0-wifi-glibc/sysroots-components/x86_64/pseudo-native/usr;export PSEUDO_LOCALSTATEDIR=/build/tmp/raspberrypi/raspberrypi0-wifi-glibc/work/raspberrypi0_wifi-oe-linux-gnueabi/chirpstack-gateway-os-base/1.0-r0/pseudo/;export PSEUDO_PASSWD=/build/tmp/raspberrypi/raspberrypi0-wifi-glibc/work/raspberrypi0_wifi-oe-linux-gnueabi/chirpstack-gateway-os-base/1.0-r0/rootfs:/build/tmp/raspberrypi/raspberrypi0-wifi-glibc/work/raspberrypi0_wifi-oe-linux-gnueabi/chirpstack-gateway-os-base/1.0-r0/recipe-sysroot-native;export PSEUDO_NOSYMLINKEXP=1;/build/tmp/raspberrypi/raspberrypi0-wifi-glibc/sysroots-components/x86_64/pseudo-native/usr/bin/pseudo mkfs.ext4 -F -i 8192 /build/tmp/raspberrypi/raspberrypi0-wifi-glibc/work/raspberrypi0_wifi-oe-linux-gnueabi/chirpstack-gateway-os-base/1.0-r0/deploy-chirpstack-gateway-os-base-image-complete/chirpstack-gateway-os-base-raspberrypi0-wifi-20200318053251/tmp.wic.0355xl91/rootfs_rootfs-a.2.ext4 -L rootfs-a -U bc86ed9a-973a-4b31-9086-81bc971f6bc3 -d /build/tmp/raspberrypi/raspberrypi0-wifi-glibc/work/raspberrypi0_wifi-oe-linux-gnueabi/chirpstack-gateway-os-base/1.0-r0/rootfs returned '1' instead of 0
> | output: mke2fs 1.45.3 (14-Jul-2019)
> | Discarding device blocks: done         
> | Creating filesystem with 131072 4k blocks and 65536 inodes
> | Filesystem UUID: bc86ed9a-973a-4b31-9086-81bc971f6bc3
> | Superblock backups stored on blocks:
> | 	32768, 98304
> | 
> | Allocating group tables: done
> | Writing inode tables: done
> | Creating journal (4096 blocks): done
> | Copying files into the device: __populate_fs: Could not allocate block in ext2 filesystem while writing file "iso14651_t1_common"
> | mkfs.ext4: Could not allocate block in ext2 filesystem while populating file system
> | 
> | WARNING: exit code 1 from a shell command.
> | ERROR: Execution of '/build/tmp/raspberrypi/raspberrypi0-wifi-glibc/work/raspberrypi0_wifi-oe-linux-gnueabi/chirpstack-gateway-os-base/1.0-r0/temp/run.do_image_wic.19446' failed with exit code 1:
> | INFO: Creating image(s)...
> | 
> | WARNING: bootloader config not specified, using defaults
> | 
> | ERROR: _exec_cmd: export PATH=/build/tmp/raspberrypi/raspberrypi0-wifi-glibc/work/raspberrypi0_wifi-oe-linux-gnueabi/chirpstack-gateway-os-base/1.0-r0/recipe-sysroot-native/sbin:/build/tmp/raspberrypi/raspberrypi0-wifi-glibc/work/raspberrypi0_wifi-oe-linux-gnueabi/chirpstack-gateway-os-base/1.0-r0/recipe-sysroot-native/usr/sbin:/build/tmp/raspberrypi/raspberrypi0-wifi-glibc/work/raspberrypi0_wifi-oe-linux-gnueabi/chirpstack-gateway-os-base/1.0-r0/recipe-sysroot-native/usr/bin:$PATH;export PSEUDO_PREFIX=/build/tmp/raspberrypi/raspberrypi0-wifi-glibc/sysroots-components/x86_64/pseudo-native/usr;export PSEUDO_LOCALSTATEDIR=/build/tmp/raspberrypi/raspberrypi0-wifi-glibc/work/raspberrypi0_wifi-oe-linux-gnueabi/chirpstack-gateway-os-base/1.0-r0/pseudo/;export PSEUDO_PASSWD=/build/tmp/raspberrypi/raspberrypi0-wifi-glibc/work/raspberrypi0_wifi-oe-linux-gnueabi/chirpstack-gateway-os-base/1.0-r0/rootfs:/build/tmp/raspberrypi/raspberrypi0-wifi-glibc/work/raspberrypi0_wifi-oe-linux-gnueabi/chirpstack-gateway-os-base/1.0-r0/recipe-sysroot-native;export PSEUDO_NOSYMLINKEXP=1;/build/tmp/raspberrypi/raspberrypi0-wifi-glibc/sysroots-components/x86_64/pseudo-native/usr/bin/pseudo mkfs.ext4 -F -i 8192 /build/tmp/raspberrypi/raspberrypi0-wifi-glibc/work/raspberrypi0_wifi-oe-linux-gnueabi/chirpstack-gateway-os-base/1.0-r0/deploy-chirpstack-gateway-os-base-image-complete/chirpstack-gateway-os-base-raspberrypi0-wifi-20200318053251/tmp.wic.0355xl91/rootfs_rootfs-a.2.ext4 -L rootfs-a -U bc86ed9a-973a-4b31-9086-81bc971f6bc3 -d /build/tmp/raspberrypi/raspberrypi0-wifi-glibc/work/raspberrypi0_wifi-oe-linux-gnueabi/chirpstack-gateway-os-base/1.0-r0/rootfs returned '1' instead of 0
> | output: mke2fs 1.45.3 (14-Jul-2019)
> | Discarding device blocks: done         
> | Creating filesystem with 131072 4k blocks and 65536 inodes
> | Filesystem UUID: bc86ed9a-973a-4b31-9086-81bc971f6bc3
> | Superblock backups stored on blocks:
> | 	32768, 98304
> | 
> | Allocating group tables: done
> | Writing inode tables: done
> | Creating journal (4096 blocks): done
> | Copying files into the device: __populate_fs: Could not allocate block in ext2 filesystem while writing file "iso14651_t1_common"
> | mkfs.ext4: Could not allocate block in ext2 filesystem while populating file system
> | 
> | WARNING: exit code 1 from a shell command.
> | 
> ERROR: Task (/chirpstack-gateway-os/meta/recipes-core/images/chirpstack-gateway-os-base.bb:do_image_wic) failed with exit code '1'
> NOTE: Tasks Summary: Attempted 4054 tasks of which 4034 didn't need to be rerun and 1 failed.
> 
> Summary: 1 task failed:
>   /chirpstack-gateway-os/meta/recipes-core/images/chirpstack-gateway-os-base.bb:do_image_wic
> Summary: There was 1 ERROR message shown, returning a non-zero exit code.

I added some extras in this image because I needed to use I2C modules:
/meta/conf/distro/chirpstack-gateway-os.conf
EXTRA_IMAGE_FEATURES + = “tools-sdk”
IMAGE_INSTALL_append = “i2c-tools python-pip python3-pip python3”

Before trying to compile for Raspberrypi0-wifi I had done this same configuration for Pi3 and it worked perfectly.
Can someone help me?

@Alfredo_Erdmann, try to add an space between as following: IMAGE_INSTALL_append = " i2c-tools python-pip python3-pip python3”

On the other hand, it looks like when creating the partions, you do not have enough size image and you need to increase the filesystem.

That was exactly what was missing.
Thank you again @sophiekovalevsky
Now I will test the image with two gateways I have and check if everything is ok

About that, already had the spaces between one package and another

Just to let you know, I have just merged in support for the raspberrypi0-wifi machine :slight_smile: This includes the patches needed to “free” the UART interface for a GNSS module in order to support the RAK2246G. By default the UART interface is assigned to the Bluetooth module on the Pi.

In the last test-release, I already modified the WIFI configuration so that out of the box, the Pi (Zero W, Pi 3 & Pi 4) will start as a WIFI access-point so that no ethernet is required to configure the WIFI (as the Pi Zero does not have an ethernet port).

See also:

I will build a new release in the next days.

2 Likes