On 2022-06-07 08:59, Bruce Ashfield wrote:
[Please note: This e-mail is from an EXTERNAL e-mail address]
On Wed, May 25, 2022 at 7:43 PM <[email protected]> wrote:
buildah is a command line tool, to be installed and run on target,
that can be used to:
- create a working container, either from scratch or using an image
as a starting point
- create an image, either from a working container or via the
instructions in a Dockerfile
- images can be built in either the OCI image format or the
traditional upstream docker image format
- mount a working container's root filesystem for manipulation
- unmount a working container's root filesystem
- use the updated contents of a container's root filesystem as a
filesystem layer to create a new image
- delete a working container or an image
- rename a local container
Testing:
Setup the build directory:
$ . oe-init-build-env <build_dir>
Add to local.conf:
IMAGE_INSTALL:append = " buildah kernel-modules"
KERNEL_FEATURES += "features/overlayfs/overlayfs.cfgi \
features/netfilter/netfilter.scc \
features/lxc/lxc-enable.scc"
IMAGE_ROOTFS_EXTRA_SPACE = "5242880"
Build image:
$ bitbake core-image-minimal
Run the image:
$ runqemu nographic kvm qemuparams="-m 4096"
On target:
Pull an image:
> cnt=$(buildah from fedora)
Or build from Dockerfile
> buildah bud -t <image_name>:<tag> .
Mount the image:
> mnt=$(buildah mount ${cnt})
Install packages on the container rootfs:
> dnf install --installroot $mnt <packages_to_install> -y
Copy local files to the container:
> buildah copy $cnt <local_file> <dest_on_container>
Save the changes to an image
> buildah commit --format docker $cnt <name>:<tag>
Run the image using buildah:
> buildah run $cnt /bin/sh
Or using docker:
> docker run -it <name>:<tag>
I haven't forgotten about this, just with the storms and power outages
here in Ottawa, I'm running way behind in my patch processing.
Bruce
Thank you for the update, I was about to ping you regarding this.
Sakib
Signed-off-by: Sakib Sajal <[email protected]>
---
recipes-containers/buildah/buildah_git.bb | 57 +++++++++++++++++++++++
1 file changed, 57 insertions(+)
create mode 100644 recipes-containers/buildah/buildah_git.bb
diff --git a/recipes-containers/buildah/buildah_git.bb
b/recipes-containers/buildah/buildah_git.bb
new file mode 100644
index 0000000..024e82c
--- /dev/null
+++ b/recipes-containers/buildah/buildah_git.bb
@@ -0,0 +1,57 @@
+HOMEPAGE = "https://buildah.io"
+SUMMARY = "A tool that facilitates building OCI container images."
+DESCRIPTION = "A tool that facilitates building OCI container images."
+
+# Apache-2.0 for containerd
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM =
"file://src/github.com/containers/buildah/LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e"
+
+S = "${WORKDIR}/git"
+
+BUILDAH_VERSION = "1.26"
+SRCREV_buildah = "0a9d6e6eaef2e2e7936313d449a4e226022eb865"
+
+PV = "${BUILDAH_VERSION}"
+
+inherit go
+inherit goarch
+inherit pkgconfig
+
+GO_IMPORT = "github.com/containers/buildah"
+GO_INSTALL = "${GO_IMPORT}"
+GO_WORKDIR = "${GO_INSTALL}"
+GOBUILDFLAGS += "-mod vendor"
+
+SRC_URI = " \
+
git://github.com/containers/buildah;branch=release-${BUILDAH_VERSION};name=buildah;protocol=https
\
+ "
+
+DEPENDS = "libdevmapper btrfs-tools gpgme"
+RDEPENDS:${PN} = "cgroup-lite fuse-overlayfs libdevmapper podman"
+RDEPENDS:${PN}-dev = "bash perl"
+
+do_compile:prepend() {
+ cd ${S}/src/github.com/containers/buildah
+}
+
+go_do_compile() {
+ export TMPDIR="${GOTMPDIR}"
+ if [ -n "${GO_INSTALL}" ]; then
+ if [ -n "${GO_LINKSHARED}" ]; then
+ ${GO} install ${GOBUILDFLAGS} ./cmd/buildah
+ ${GO} install ${GOBUILDFLAGS}
./tests/imgtype/imgtype.go
+ ${GO} install ${GOBUILDFLAGS} ./tests/copy/copy.go
+ rm -rf ${B}/bin
+ fi
+ ${GO} install ${GO_LINKSHARED} ${GOBUILDFLAGS} ./cmd/buildah
+ ${GO} install ${GO_LINKSHARED} ${GOBUILDFLAGS}
./tests/imgtype/imgtype.go
+ ${GO} install ${GO_LINKSHARED} ${GOBUILDFLAGS}
./tests/copy/copy.go
+ fi
+}
+
+do_install:append() {
+ dest_dir=${D}/${sysconfdir}/containers
+ mkdir -p ${dest_dir}
+ install -m 666
${S}/src/github.com/containers/buildah/docs/samples/registries.conf
${dest_dir}/buildah.registries.conf.sample
+ install -m 666 ${S}/src/github.com/containers/buildah/tests/policy.json
${dest_dir}/buildah.policy.json.sample
+}
--
2.33.0
--
- Thou shalt not follow the NULL pointer, for chaos and madness await
thee at its end
- "Use the force Harry" - Gandalf, Star Trek II
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#7337):
https://lists.yoctoproject.org/g/meta-virtualization/message/7337
Mute This Topic: https://lists.yoctoproject.org/mt/91344690/21656
Group Owner: [email protected]
Unsubscribe: https://lists.yoctoproject.org/g/meta-virtualization/unsub
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-