Middleware layer manifest for Raspberry Pi — this repo provides the manifest and instructions to build and produce IPK feeds and middleware test images for RDK-based stacks.
Use a release tags for stable builds or
developfor the latest development branch.
repo init -u https://github.com/rdkcentral/middleware-manifest-rdke.git -m raspberrypi4-64.xml -b <tag-or-branch>
repo syncIPK feeds are required for package installation and dependency resolution in downstream layers. You can configure local (file-based) feeds or remote feeds.
⚠️ Important: When using a local file feed, include thefile:/prefix and make sure the path ends with a trailing/.
Edit the file:
rdke/vendor/meta-vendor-release/conf/machine/include/vendor.inc
Set the feed path (example):
# Configure Vendor OSS IPK's path
VENDOR_OSS_IPK_SERVER_PATH = "file:/${HOME}/community_shared/rdk-arm64-oss-vendor/<Vendor-Oss-IPK-Version>/ipk/"
# Configure Vendor IPK's path
VENDOR_IPK_SERVER_PATH = "file:/${HOME}/community_shared/raspberrypi4-64-rdke-vendor/<Vendor-IPK-Version>/ipk/"
Initialize your build environment for the Raspberry Pi 4 (64-bit) server:
MACHINE=raspberrypi4-64-rdke source ./scripts/setup-environmentEnable generation of a deployable IPK feed during the build:
echo 'DEPLOY_IPK_FEED = "1"' >> conf/local.confWhen enabled, the build will produce Packages.gz for each architecture in:
./build-raspberrypi4-64-rdke/tmp/deploy/ipk/
Choose one (or both) of the following targets depending on your goal:
- Middleware layer and Middleware layer OSS IPK feed (produces IPKs consumed by upper layers):
bitbake lib32-packagegroup-middleware-layer- Bootable middleware test image (wrapper that builds a bootable image including middleware packages):
bitbake lib32-middleware-test-image✅ At least one of the above must succeed to produce a usable IPK feed. Ideally both should succeed.
The generated IPKs are located at:
./build-raspberrypi4-64-rdke/tmp/deploy/ipk/rdk-arm64-oss-middleware/
./build-raspberrypi4-64-rdke/tmp/deploy/ipk/raspberrypi4-64-rdke-middleware/
Copy or sync the generated IPK feed to your shared/local repository path:
rsync -av ./build-raspberrypi4-64-rdke/tmp/deploy/ipk/rdk-arm64-oss-middleware/* ~/community_shared/rdk-arm64-oss-middleware/<Middleware-Oss-IPK-Version>/ipk/
rsync -av ./build-raspberrypi4-64-rdke/tmp/deploy/ipk/raspberrypi4-64-rdke-middleware/* ~/community_shared/raspberrypi4-64-rdke-middleware/<Middleware-IPK-Version>/ipk/After syncing, confirm the Packages.gz files and directory layout are correct for the consumers of the feed.
-
IPK feed not found by consumers
VerifyVENDOR_OSS_IPK_SERVER_PATHandVENDOR_IPK_SERVER_PATHhasfile:/prefix and a trailing/. ConfirmPackages.gzexists for each arch. -
Paths with spaces
Avoid spaces in file-system paths for feeds. Use underscores_instead.
A fully copy-paste example to build from develop or Release tags:
# Option A: Building from release tags
repo init -u https://github.com/rdkcentral/middleware-manifest-rdke.git -m raspberrypi4-64.xml -b refs/tags/<tag version>
# Option B: Building from develop Branch
repo init -u https://github.com/rdkcentral/middleware-manifest-rdke.git -m raspberrypi4-64.xml -b develop
repo sync
MACHINE=raspberrypi4-64-rdke source ./scripts/setup-environment
echo 'DEPLOY_IPK_FEED = "1"' >> conf/local.conf
# Option A: Build middleware IPK feed
bitbake lib32-packagegroup-middleware-layer
# Option B: Build bootable middleware test image
bitbake lib32-middleware-test-imageThis project is distributed under the terms outlined in the associated License and Notice files. Please review these files for detailed information.
For a comprehensive list of changes, updates, and release history, refer to the Changelog.