Skip to content

Instantly share code, notes, and snippets.

@henriknj
Created December 30, 2020 13:20
Show Gist options
  • Save henriknj/d90b0f6e9679d8def9f1b097efcea002 to your computer and use it in GitHub Desktop.
Save henriknj/d90b0f6e9679d8def9f1b097efcea002 to your computer and use it in GitHub Desktop.
#
# Recipe to package fitimage
#
DESCRIPTION = "Recipe to create simple package with kernel fitimage including initramfs"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814"
# inherit module-base to getting get multilib extended
inherit linux-kernel-base module-base
S = "${STAGING_KERNEL_DIR}"
B = "${WORKDIR}/build"
# no default dependencies needed
INHIBIT_DEFAULT_DEPS = "1"
KERNEL_VERSION = "${@get_kernelversion_file('${STAGING_KERNEL_BUILDDIR}') or '1.0.0'}"
PACKAGES = "${PN}"
FILES_${PN} = " \
/boot/fitImage-${INITRAMFS_IMAGE} \
/boot/fitImage-${INITRAMFS_IMAGE}-${KERNEL_VERSION} \
"
PKG_${PN} = "${PN}-${@legitimize_package_name('${KERNEL_VERSION}')}"
PACKAGE_ARCH = "${MACHINE_ARCH}"
do_fetch[noexec] = "1"
do_patch[noexec] = "1"
do_compile[noexec] = "1"
do_configure[noexec] = "1"
do_populate_sysroot[noexec] = "1"
do_build[depends] += "virtual/kernel:do_deploy"
do_populate_lic[depends] += "virtual/kernel:do_shared_workdir"
do_install() {
src=fitImage-${INITRAMFS_IMAGE}-${MACHINE}-${MACHINE}
dst=fitImage-${INITRAMFS_IMAGE}-${KERNEL_VERSION}
lnk=fitImage-${INITRAMFS_IMAGE}
install -d ${D}/boot
install -m 0644 ${DEPLOY_DIR_IMAGE}/$src ${D}/boot/$dst
ln -sf $dst ${D}/boot/$lnk
}
#
# The Initramfs image used in the fitimage
#
DESCRIPTION = "Initramfs image to mount rootfs ro and datafs as overlay"
inherit image
IMAGE_FEATURES = ""
IMAGE_FSTYPES = "cpio.gz"
IMAGE_INSTALL = " \
busybox \
initramfs-module-udev \
initramfs-module-overlay \
initramfs-module-rootfs \
initramfs-module-debug \
"
# Ensure not to build a wic image as this will create
# a circular dependency
IMAGE_FSTYPES_remove = " wic wic.bmap wic.gz"
#
# Logs from building kernel-fitimage-initramfs
#
NOTE: kernel-fitimage-initramfs-1.0-r0 do_package: Installed into sysroot: []
NOTE: kernel-fitimage-initramfs-1.0-r0 do_package: Skipping as already exists in sysroot: ['opkg-utils-native', 'cross-localedef-native', 'cpio-native', 'dwarfsrcfiles-native', 'pseudo-native
', 'bison-native', 'gcc-cross-arm', 'kmod-native', 'xz-native', 'u-boot-tools-native', 'opkg-native', 'lzop-native', 'bc-native', 'rpm-native', 'depmodwrapper-cross', 'patch-native', 'binutil
s-cross-arm', 'ldconfig-native', 'openssl-native', 'quilt-native', 'update-rc.d-native', 'pkgconfig-native', 'gcc-runtime', 'linux-triax', 'qemuwrapper-cross', 'makedevs-native', 'dtc-native'
, 'pigz-native', 'glibc', 'perl-native', 'automake-native', 'gnu-config-native', 'autoconf-native', 'libtool-native', 'shadow-native', 'gettext-minimal-native', 'texinfo-dummy-native', 'elfut
ils-native', 'flex-native', 'linux-libc-headers', 'mpfr-native', 'gmp-native', 'zlib-native', 'libmpc-native', 'debianutils-native', 'gtk-doc-native', 'python3-native', 'systemd-systemctl-nat
ive', 'vim-native', 'libsolv-native', 'libarchive-native', 'lzo-native', 'readline-native', 'file-native', 'db-native', 'popt-native', 'bzip2-native', 'dbus-native', 'qemu-native', 'attr-nati
ve', 'libgcc', 'gdbm-native', 'm4-native', 'libnsl2-native', 'libffi-native', 'sqlite3-native', 'libtirpc-native', 'util-linux-native', 'gettext-native', 'ncurses-native', 'desktop-file-utils
-native', 'cmake-native', 'ninja-native', 'expat-native', 'e2fsprogs-native', 'glib-2.0-native', 'libcap-ng-native', 'libpcre2-native', 'curl-native', 're2c-native', 'libpcre-native', 'meson-
native', 'python3-setuptools-native', 'unzip-native']
WARNING: kernel-fitimage-initramfs-1.0-r0 do_package: Manifest /home/hnje/src/meta-headend/build/tmp-glibc/sstate-control/manifest-x86_64_x86_64-nativesdk-initramfs.packagedata not found in t
dch armv7ahf-neon armv7ahf-vfp armv6hf-vfp armv5ehf-vfp armv5hf-vfp allarch x86_64_x86_64-nativesdk (variant '')?
NOTE: kernel-fitimage-initramfs-1.0-r0 do_package: Installed into pkgdata-sysroot: ['base-files', 'lz4', 'gcc-runtime', 'systemd-conf', 'autoconf-archive', 'initramfs', 'gdbm', 'shadow-secure
tty', 'sqlite3', 'qemuwrapper-cross', 'python3', 'systemd-compat-units', 'kbd', 'libxcrypt', 'expat', 'kmod', 'libtirpc', 'libcap-ng', 'bzip2', 'ca-certificates', 'dbus', 'libtool-cross', 'gl
ibc-locale', 'shadow', 'libcap', 'libffi', 'busybox', 'zlib', 'volatile-binds', 'ncurses', 'shadow-sysroot', 'opkg-utils', 'readline', 'util-linux', 'libnsl2', 'systemd', 'xz', 'acl', 'openss
l', 'libgcc', 'update-rc.d', 'bash-completion', 'linux-triax', 'initramfs-framework', 'e2fsprogs', 'systemd-serialgetty', 'base-passwd', 'run-postinsts', 'os-release', 'attr', 'bash', 'glibc'
, 'linux-libc-headers']
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment