This commit is contained in:
Imbus 2026-02-03 18:12:28 +01:00
commit b4d9399de6
16 changed files with 465 additions and 0 deletions

17
COPYING.MIT Normal file
View file

@ -0,0 +1,17 @@
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.

41
README Normal file
View file

@ -0,0 +1,41 @@
This README file contains information on the contents of the meta-imbus layer.
Please see the corresponding sections below for details.
Dependencies
============
URI: <first dependency>
branch: <branch name>
URI: <second dependency>
branch: <branch name>
.
.
.
Patches
=======
Please submit any patches against the meta-imbus layer to the xxxx mailing list (xxxx@zzzz.org)
and cc: the maintainer:
Maintainer: XXX YYYYYY <xxx.yyyyyy@zzzzz.com>
Table of Contents
=================
I. Adding the meta-imbus layer to your build
II. Misc
I. Adding the meta-imbus layer to your build
=================================================
Run 'bitbake-layers add-layer meta-imbus'
II. Misc
========
--- replace with specific information about the meta-imbus layer ---

19
bitbake-cookerdaemon.log Normal file

File diff suppressed because one or more lines are too long

20
conf/distro/limbux.conf Normal file
View file

@ -0,0 +1,20 @@
# require conf/distro/poky.conf
DISTRO = "limbux"
DISTRO_NAME = "Limux"
DISTRO_VERSION = "1.0"
DISTRO_FEATURES:remove = "wifi irda zeroconf sysvinit"
# DISTRO_FEATURES:remove = "wifi irda zeroconf systemd"
# Select systemd as the init manager for this distro
# INIT_MANAGER = "systemd"
# VIRTUAL-RUNTIME_init_manager = "systemd"
# Select to use "mylinux" as provider of the linux kernel and set the
# version to use to be 6.10.6
#PREFERRED_PROVIDER_virtual/kernel = "limbux"
#PREFERRED_VERSION_mylinux = "6.10.6%"
#PACKAGE_CLASSES ?= "package_ipk"

13
conf/layer.conf Normal file
View file

@ -0,0 +1,13 @@
# We have a conf and classes directory, add to BBPATH
BBPATH .= ":${LAYERDIR}"
# We have recipes-* directories, add to BBFILES
BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \
${LAYERDIR}/recipes-*/*/*.bbappend"
BBFILE_COLLECTIONS += "meta-imbus"
BBFILE_PATTERN_meta-imbus = "^${LAYERDIR}/"
BBFILE_PRIORITY_meta-imbus = "6"
LAYERDEPENDS_meta-imbus = "core"
LAYERSERIES_COMPAT_meta-imbus = "scarthgap"

71
linux-yocto-custom.bb Normal file
View file

@ -0,0 +1,71 @@
SUMMARY = "An example kernel recipe that uses the linux-yocto and oe-core"
# linux-yocto-custom.bb:
#
# kernel classes to apply a subset of yocto kernel management to git
# managed kernel repositories.
#
# To use linux-yocto-custom in your layer, copy this recipe (optionally
# rename it as well) and modify it appropriately for your machine. i.e.:
#
# COMPATIBLE_MACHINE:yourmachine = "yourmachine"
#
# You must also provide a Linux kernel configuration. The most direct
# method is to copy your .config to files/defconfig in your layer,
# in the same directory as the copy (and rename) of this recipe and
# add file://defconfig to your SRC_URI.
#
# To use the yocto kernel tooling to generate a BSP configuration
# using modular configuration fragments, see the yocto-bsp and
# yocto-kernel tools documentation.
#
# Warning:
#
# Building this example without providing a defconfig or BSP
# configuration will result in build or boot errors. This is not a
# bug.
#
#
# Notes:
#
# patches: patches can be merged into to the source git tree itself,
# added via the SRC_URI, or controlled via a BSP
# configuration.
#
# defconfig: When a defconfig is provided, the linux-yocto configuration
# uses the filename as a trigger to use a 'allnoconfig' baseline
# before merging the defconfig into the build.
#
# If the defconfig file was created with make_savedefconfig,
# not all options are specified, and should be restored with their
# defaults, not set to 'n'. To properly expand a defconfig like
# this, specify: KCONFIG_MODE="--alldefconfig" in the kernel
# recipe.
#
# example configuration addition:
# SRC_URI += "file://smp.cfg"
# example patch addition (for kernel v4.x only):
# SRC_URI += "file://0001-linux-version-tweak.patch"
# example feature addition (for kernel v4.x only):
# SRC_URI += "file://feature.scc"
#
inherit kernel
require recipes-kernel/linux/linux-yocto.inc
# Override SRC_URI in a copy of this recipe to point at a different source
# tree if you do not want to build from Linus' tree.
SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git;protocol=git;nocheckout=1;name=machine"
LINUX_VERSION ?= "4.2"
LINUX_VERSION_EXTENSION:append = "-custom"
# Modify SRCREV to a different commit hash in a copy of this recipe to
# build a different release of the Linux kernel.
# tag: v4.2 64291f7db5bd8150a74ad2036f1037e6a0428df2
SRCREV_machine="64291f7db5bd8150a74ad2036f1037e6a0428df2"
PV = "${LINUX_VERSION}+git"
# Override COMPATIBLE_MACHINE to include your machine in a copy of this recipe
# file. Leaving it empty here ensures an early explicit build failure.
COMPATIBLE_MACHINE = "(^$)"

View file

@ -0,0 +1 @@
hostname = "imbus-mini"

View file

@ -0,0 +1,22 @@
SUMMARY = "A small image just capable of allowing a device to boot."
IMAGE_INSTALL = "packagegroup-core-boot ${CORE_IMAGE_EXTRA_INSTALL}"
IMAGE_LINGUAS = " "
LICENSE = "MIT"
inherit core-image
IMAGE_ROOTFS_SIZE ?= "8192"
IMAGE_ROOTFS_EXTRA_SPACE:append = "${@bb.utils.contains("DISTRO_FEATURES", "systemd", " + 4096", "", d)}"
IMAGE_FSTYPES:beaglebone-yocto += "wic"
WKS_FILE:beaglebone-yocto = "beaglebone-yocto.wks"
add_buildid() {
echo "${BUILDID}" > ${IMAGE_ROOTFS}/etc/build-id
}
ROOTFS_POSTPROCESS_COMMAND += "add_buildid;"
do_rootfs[vardeps] += "BUILDID"

View file

@ -0,0 +1,13 @@
SUMMARY = "bitbake-layers recipe"
DESCRIPTION = "Recipe created by bitbake-layers"
LICENSE = "MIT"
python do_display_banner() {
bb.plain("***********************************************");
bb.plain("* *");
bb.plain("* Example recipe created by bitbake-layers *");
bb.plain("* *");
bb.plain("***********************************************");
}
addtask display_banner before do_build

View file

@ -0,0 +1,21 @@
LICENSE = "ISC & BSD-2-Clause"
LIC_FILES_CHKSUM = "file://LICENSE;md5=9ddb37016e12a99202e14ddb69593155"
SRC_URI = "git://github.com/eradman/entr;protocol=https;branch=master"
PV = "1.0+git"
SRCREV = "81fb8966fd709b3d99996df644ee1c4c8492235d"
S = "${WORKDIR}/git"
do_configure () {
./configure
}
do_compile () {
oe_runmake
}
do_install() {
oe_runmake install DESTDIR=${D} PREFIX=${prefix}
}

View file

@ -0,0 +1,3 @@
#include <stdio.h>
int main(void) { printf("Hello, world!"); }

View file

@ -0,0 +1,24 @@
DESCRIPTION = "Prints hello world"
LICENSE = "CLOSED"
LIC_FILES_CHKSUM = ""
SRC_URI = "file://helloworld.c"
S = "${WORKDIR}"
TARGET_CC_ARCH += "${LDFLAGS}"
FILES:${PN} += "/etc/helloworld"
do_compile() {
bbplain "Hello world: do_compile"
# ${CC} helloworld.c -o helloworld
${CC} ${CFLAGS} ${LDFLAGS} helloworld.c -o helloworld
}
do_install() {
# Install the helloworld application to /usr/bin on target
# install -d ${D}/usr/bin
# install -m 0755 helloworld ${D}/usr/bin
install -d ${D}${bindir}
install -m 0755 helloworld ${D}${bindir}
install -d ${D}/etc
touch ${D}/etc/helloworld
}

View file

@ -0,0 +1,31 @@
# This is borked. Bitbake has strict requirements on .so versioning and symlinking,
# and for a very good reason, of course.
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=5741b139eae27eb6a4fc1c9b1732ef7f"
SRC_URI = "git://git.silversoft.se/Imbus/libhash.git;protocol=https;branch=master"
PV = "1.0+git"
SRCREV = "9c23dc5653a5de8fef69265411a23c9905495acb"
S = "${WORKDIR}/git"
do_configure () {
# Specify any needed configure commands here
:
}
do_compile () {
# You will almost certainly need to add additional arguments here
oe_runmake
}
do_install () {
# This is a guess; additional arguments may be required
oe_runmake install 'DESTDIR=${D}' 'PREFIX=/usr'
}
FILES:${PN}-staticdev += "/usr/lib/libhash.a"
FILES:${PN}-dev += "/usr/lib/libhash.so"
FILES:${PN}-dev += "/usr/include/"

View file

@ -0,0 +1,26 @@
# Recipe created by recipetool
# This is the basis of a recipe and may need further editing in order to be fully functional.
# (Feel free to remove these comments when editing.)
# Unable to find any files that looked like license statements. Check the accompanying
# documentation and source headers and set LICENSE and LIC_FILES_CHKSUM accordingly.
#
# NOTE: LICENSE is being set to "CLOSED" to allow you to at least start building - if
# this is not accurate with respect to the licensing of the software being built (it
# will not be in most cases) you must specify the correct value before using this
# recipe for anything other than initial testing/development!
LICENSE = "CLOSED"
LIC_FILES_CHKSUM = ""
SRC_URI = "git://git.silversoft.se/Imbus/kernelmod_demo.git;protocol=https;branch=master"
# Modify these as desired
PV = "1.0+git"
SRCREV = "40295d6d459c666d5f7174cce520350be8cac464"
S = "${WORKDIR}/git"
inherit module
EXTRA_OEMAKE:append:task-install = " -C ${STAGING_KERNEL_DIR} M=${S}"
# Kernel path in install makefile is hardcoded - you will need to patch the makefile. Note that the variable KERNEL_SRC will be passed in as the kernel source path.

View file

@ -0,0 +1,72 @@
SUMMARY = "An example kernel recipe that uses the linux-yocto and oe-core"
# linux-yocto-custom.bb:
#
# kernel classes to apply a subset of yocto kernel management to git
# managed kernel repositories.
#
# To use linux-yocto-custom in your layer, copy this recipe (optionally
# rename it as well) and modify it appropriately for your machine. i.e.:
#
# COMPATIBLE_MACHINE:yourmachine = "yourmachine"
#
# You must also provide a Linux kernel configuration. The most direct
# method is to copy your .config to files/defconfig in your layer,
# in the same directory as the copy (and rename) of this recipe and
# add file://defconfig to your SRC_URI.
#
# To use the yocto kernel tooling to generate a BSP configuration
# using modular configuration fragments, see the yocto-bsp and
# yocto-kernel tools documentation.
#
# Warning:
#
# Building this example without providing a defconfig or BSP
# configuration will result in build or boot errors. This is not a
# bug.
#
#
# Notes:
#
# patches: patches can be merged into to the source git tree itself,
# added via the SRC_URI, or controlled via a BSP
# configuration.
#
# defconfig: When a defconfig is provided, the linux-yocto configuration
# uses the filename as a trigger to use a 'allnoconfig' baseline
# before merging the defconfig into the build.
#
# If the defconfig file was created with make_savedefconfig,
# not all options are specified, and should be restored with their
# defaults, not set to 'n'. To properly expand a defconfig like
# this, specify: KCONFIG_MODE="--alldefconfig" in the kernel
# recipe.
#
# example configuration addition:
# SRC_URI += "file://smp.cfg"
# example patch addition (for kernel v4.x only):
# SRC_URI += "file://0001-linux-version-tweak.patch"
# example feature addition (for kernel v4.x only):
# SRC_URI += "file://feature.scc"
#
inherit kernel
require recipes-kernel/linux/linux-yocto.inc
# Override SRC_URI in a copy of this recipe to point at a different source
# tree if you do not want to build from Linus' tree.
SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git;protocol=git;nocheckout=1;name=machine"
SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git;branch=linux-6.10.y"
LINUX_VERSION ?= "4.2"
LINUX_VERSION_EXTENSION:append = "-custom"
# Modify SRCREV to a different commit hash in a copy of this recipe to
# build a different release of the Linux kernel.
# tag: v4.2 64291f7db5bd8150a74ad2036f1037e6a0428df2
SRCREV_machine="7ba498d9d1bb67bcbc2a79f19a9054cdc8b95098"
PV = "${LINUX_VERSION}+git"
# Override COMPATIBLE_MACHINE to include your machine in a copy of this recipe
# file. Leaving it empty here ensures an early explicit build failure.
COMPATIBLE_MACHINE = "(^$)"

View file

@ -0,0 +1,71 @@
SUMMARY = "An example kernel recipe that uses the linux-yocto and oe-core"
# linux-yocto-custom.bb:
#
# kernel classes to apply a subset of yocto kernel management to git
# managed kernel repositories.
#
# To use linux-yocto-custom in your layer, copy this recipe (optionally
# rename it as well) and modify it appropriately for your machine. i.e.:
#
# COMPATIBLE_MACHINE:yourmachine = "yourmachine"
#
# You must also provide a Linux kernel configuration. The most direct
# method is to copy your .config to files/defconfig in your layer,
# in the same directory as the copy (and rename) of this recipe and
# add file://defconfig to your SRC_URI.
#
# To use the yocto kernel tooling to generate a BSP configuration
# using modular configuration fragments, see the yocto-bsp and
# yocto-kernel tools documentation.
#
# Warning:
#
# Building this example without providing a defconfig or BSP
# configuration will result in build or boot errors. This is not a
# bug.
#
#
# Notes:
#
# patches: patches can be merged into to the source git tree itself,
# added via the SRC_URI, or controlled via a BSP
# configuration.
#
# defconfig: When a defconfig is provided, the linux-yocto configuration
# uses the filename as a trigger to use a 'allnoconfig' baseline
# before merging the defconfig into the build.
#
# If the defconfig file was created with make_savedefconfig,
# not all options are specified, and should be restored with their
# defaults, not set to 'n'. To properly expand a defconfig like
# this, specify: KCONFIG_MODE="--alldefconfig" in the kernel
# recipe.
#
# example configuration addition:
# SRC_URI += "file://smp.cfg"
# example patch addition (for kernel v4.x only):
# SRC_URI += "file://0001-linux-version-tweak.patch"
# example feature addition (for kernel v4.x only):
# SRC_URI += "file://feature.scc"
#
inherit kernel
require recipes-kernel/linux/linux-yocto.inc
# Override SRC_URI in a copy of this recipe to point at a different source
# tree if you do not want to build from Linus' tree.
SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git;protocol=git;nocheckout=1;name=machine"
LINUX_VERSION ?= "4.2"
LINUX_VERSION_EXTENSION:append = "-custom"
# Modify SRCREV to a different commit hash in a copy of this recipe to
# build a different release of the Linux kernel.
# tag: v4.2 64291f7db5bd8150a74ad2036f1037e6a0428df2
SRCREV_machine="64291f7db5bd8150a74ad2036f1037e6a0428df2"
PV = "${LINUX_VERSION}+git"
# Override COMPATIBLE_MACHINE to include your machine in a copy of this recipe
# file. Leaving it empty here ensures an early explicit build failure.
COMPATIBLE_MACHINE = "(^$)"