summaryrefslogtreecommitdiffstats
path: root/meta/recipes-core/images
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2025-11-07 13:31:53 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2025-11-07 13:31:53 +0000
commit8c22ff0d8b70d9b12f0487ef696a7e915b9e3173 (patch)
treeefdc32587159d0050a69009bdf2330a531727d95 /meta/recipes-core/images
parentd412d2747595c1cc4a5e3ca975e3adc31b2f7891 (diff)
downloadpoky-8c22ff0d8b70d9b12f0487ef696a7e915b9e3173.tar.gz
The poky repository master branch is no longer being updated.
You can either: a) switch to individual clones of bitbake, openembedded-core, meta-yocto and yocto-docs b) use the new bitbake-setup You can find information about either approach in our documentation: https://docs.yoctoproject.org/ Note that "poky" the distro setting is still available in meta-yocto as before and we continue to use and maintain that. Long live Poky! Some further information on the background of this change can be found in: https://lists.openembedded.org/g/openembedded-architecture/message/2179 Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-core/images')
-rw-r--r--meta/recipes-core/images/build-appliance-image/README_VirtualBox_Guest_Additions.txt75
-rw-r--r--meta/recipes-core/images/build-appliance-image/README_VirtualBox_Toaster.txt78
-rw-r--r--meta/recipes-core/images/build-appliance-image/Yocto_Build_Appliance.vmx46
-rw-r--r--meta/recipes-core/images/build-appliance-image/Yocto_Build_Appliance.vmxf8
-rw-r--r--meta/recipes-core/images/build-appliance-image_15.0.0.bb161
-rw-r--r--meta/recipes-core/images/core-image-base.bb8
-rw-r--r--meta/recipes-core/images/core-image-initramfs-boot.bb22
-rw-r--r--meta/recipes-core/images/core-image-minimal-dev.bb7
-rw-r--r--meta/recipes-core/images/core-image-minimal-initramfs.bb35
-rw-r--r--meta/recipes-core/images/core-image-minimal-mtdutils.bb7
-rw-r--r--meta/recipes-core/images/core-image-minimal.bb12
-rw-r--r--meta/recipes-core/images/core-image-ptest-all.bb25
-rw-r--r--meta/recipes-core/images/core-image-ptest-fast.bb6
-rw-r--r--meta/recipes-core/images/core-image-ptest.bb50
-rw-r--r--meta/recipes-core/images/core-image-tiny-initramfs.bb47
15 files changed, 0 insertions, 587 deletions
diff --git a/meta/recipes-core/images/build-appliance-image/README_VirtualBox_Guest_Additions.txt b/meta/recipes-core/images/build-appliance-image/README_VirtualBox_Guest_Additions.txt
deleted file mode 100644
index e7298f2c3c..0000000000
--- a/meta/recipes-core/images/build-appliance-image/README_VirtualBox_Guest_Additions.txt
+++ /dev/null
@@ -1,75 +0,0 @@
1
2Installing VirtualBox Guest Additions
3=====================================
4
5In order to use VirtualBox guest additions, they have to be build
6first. They may have to be rebuilt each time the time you upgrade to
7a new version of VirtualBox.
8
9Make sure VM is configured with an Optical Drive.
10
11Please follow these steps to install the VirtualBox Guest Additions on the
12Build Appliance VM:
13
141. Boot VM, select root "Terminal" instead of the default "Terminal <2>"
15
162. Insert Guest additions CD into VM optical drive:
17 VM menu "Devices"->"Optical Drives"-> Select "VBoxGuestAdditions<version>.iso"
18
193. Find your CDROM device. Typically it is /dev/hda for IDE. You can determine
20 the actual name <cdromedev> by viewing the cdrom info:
21
22 # cat /proc/sys/dev/cdrom/info
23
24 Mount the cdrom drive:
25 # mount -t iso9660 <cdromdev> /media/cdrom
26 i.e.:
27 # mount -t iso9660 /dev/hda /media/cdrom
28
294. Build the additions:
30
31 First, we need to build of some prerequisite utilities.
32 (This is only needed to be done once)
33
34 # cd /lib/modules/<kernel-version>-yocto-standard/build
35 # make scripts
36
37 Now build the guest additions:
38
39 # /media/cdrom/VBoxLinuxAdditions.run --nox11
40
41 At this point, providing there were no build errors, the guest additions are
42 built and installed.
43
445. Check if vbox additions running:
45
46 # /etc/init.d/vboxadd status
47
48 If not running, try manually starting:
49
50 # /etc/init.d/vboxadd start
51
526. Check if additons actually work, in particular folder sharing.
53
54 Host: Devices->Shared Folders->Shared Folder Settings...
55 Add any host folder and name it (i.e. "images")
56
57 Guest VM: create mount point for the shared folder, i.e.:
58
59 # mkdir ~/my-host
60
61 Mount the shared folder: (Watch out for spelling: it's vboxsf NOT vboxfs)
62
63 # mount -t vboxsf images ~/my-host
64
65 Verify mount, should see the contents of the shared folder:
66
67 # ls ~/my-host
68
69
70
71
72
73
74
75
diff --git a/meta/recipes-core/images/build-appliance-image/README_VirtualBox_Toaster.txt b/meta/recipes-core/images/build-appliance-image/README_VirtualBox_Toaster.txt
deleted file mode 100644
index a0aede2fbf..0000000000
--- a/meta/recipes-core/images/build-appliance-image/README_VirtualBox_Toaster.txt
+++ /dev/null
@@ -1,78 +0,0 @@
1
2Running Toaster in VirtualBox
3=============================
4
5Toaster is launched via the command in VM:
6
7 $ source toaster start webport=<IPADDR:PORT>
8
9The interaction with Toaster web server is done via a host internet
10browser.
11The particular steps depend on the actual networking being used
12by the VirtualBox.
13
14
15Bridged Network
16===============
17
18Find out your VM network IP address:
19
20 $ ifconfig
21
22IP address is listed under eth0 inet addr.
23It should be something like:
24 inet addr:192.168.1.18
25
26Launch the Toaster web server in VM:
27
28 $ source toaster start webport=192.168.1.18:8000
29
30Interact with the Toaster web server with your host browser using URL:
31
32 http://192.168.1.18:8000
33
34
35NAT Network
36===========
37Find out your VM network IP address:
38
39 $ ifconfig
40
41IP address is listed under eth0 inet addr.
42For NAT network it should be something like:
43 inet addr:10.0.2.15
44
45When using NAT network, the VM web server can be accessed using
46Port Forwarding.
47
48Using the VirtualBox GUI, navigate to:
49 Settings->Network->Adapter1
50
51You should set:
52 Attached to: NAT
53
54Select "Advanced", click on "Port Forwarding"
55
56This will open a new dialog box "Port Forwarding Rules".
57Create a new rule that looks like this:
58
59| Name | Protocol | Host IP | Host Port | Guest IP | Guest Port |
60+-------+----------+---------+-----------+----------+------------+
61| Rule1 | TCP | | 8000 | | 8000 |
62------------------------------------------------------------------
63
64Now we can launch the Toaster web server in VM:
65
66 $ source toaster start webport=10.0.2.15:8000
67
68Interact with the Toaster web server with your host browser using URL:
69
70 http://127.0.0.1:8000
71
72
73
74
75
76
77
78
diff --git a/meta/recipes-core/images/build-appliance-image/Yocto_Build_Appliance.vmx b/meta/recipes-core/images/build-appliance-image/Yocto_Build_Appliance.vmx
deleted file mode 100644
index 6472e87509..0000000000
--- a/meta/recipes-core/images/build-appliance-image/Yocto_Build_Appliance.vmx
+++ /dev/null
@@ -1,46 +0,0 @@
1.encoding = "UTF-8"
2config.version = "8"
3virtualHW.version = "10"
4numvcpus = "2"
5vcpu.hotadd = "TRUE"
6memsize = "4096"
7mem.hotadd = "TRUE"
8sata0.present = "TRUE"
9sata0:0.present = "TRUE"
10sata0:0.fileName = "Yocto_Build_Appliance.vmdk"
11ethernet0.present = "TRUE"
12ethernet0.virtualDev = "e1000"
13ethernet0.wakeOnPcktRcv = "FALSE"
14ethernet0.addressType = "generated"
15usb.present = "TRUE"
16ehci.pciSlotNumber = "0"
17sound.present = "TRUE"
18sound.fileName = "-1"
19sound.autodetect = "TRUE"
20pciBridge0.present = "TRUE"
21pciBridge4.present = "TRUE"
22pciBridge4.virtualDev = "pcieRootPort"
23pciBridge4.functions = "8"
24pciBridge5.present = "TRUE"
25pciBridge5.virtualDev = "pcieRootPort"
26pciBridge5.functions = "8"
27pciBridge6.present = "TRUE"
28pciBridge6.virtualDev = "pcieRootPort"
29pciBridge6.functions = "8"
30pciBridge7.present = "TRUE"
31pciBridge7.virtualDev = "pcieRootPort"
32pciBridge7.functions = "8"
33vmci0.present = "TRUE"
34hpet0.present = "TRUE"
35usb.vbluetooth.startConnected = "TRUE"
36displayName = "Yocto Build Appliance"
37guestOS = "other3xlinux-64"
38virtualHW.productCompatibility = "hosted"
39gui.exitOnCLIHLT = "FALSE"
40powerType.powerOff = "soft"
41powerType.powerOn = "soft"
42powerType.suspend = "soft"
43powerType.reset = "soft"
44extendedConfigFile = "Yocto_Build_Appliance.vmxf"
45scsi0:0.present = "FALSE"
46floppy0.present = "FALSE"
diff --git a/meta/recipes-core/images/build-appliance-image/Yocto_Build_Appliance.vmxf b/meta/recipes-core/images/build-appliance-image/Yocto_Build_Appliance.vmxf
deleted file mode 100644
index 9e941ff2f3..0000000000
--- a/meta/recipes-core/images/build-appliance-image/Yocto_Build_Appliance.vmxf
+++ /dev/null
@@ -1,8 +0,0 @@
1<?xml version="1.0"?>
2<Foundry>
3<VM>
4<VMId type="string">52 a5 d8 cb ed 6c 85 48-cd 99 68 af cc 30 a0 98</VMId>
5<ClientMetaData>
6<clientMetaDataAttributes/>
7<HistoryEventList/></ClientMetaData>
8<vmxPathName type="string">Yocto_Build_Appliance.vmx</vmxPathName></VM></Foundry>
diff --git a/meta/recipes-core/images/build-appliance-image_15.0.0.bb b/meta/recipes-core/images/build-appliance-image_15.0.0.bb
deleted file mode 100644
index fbd573e0e2..0000000000
--- a/meta/recipes-core/images/build-appliance-image_15.0.0.bb
+++ /dev/null
@@ -1,161 +0,0 @@
1SUMMARY = "An image containing the build system itself"
2DESCRIPTION = "An image containing the build system that you can boot and run using either VirtualBox, VMware Player or VMware Workstation."
3HOMEPAGE = "https://docs.yoctoproject.org/overview-manual/yp-intro.html#archived-components"
4
5LICENSE = "MIT"
6LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
7
8IMAGE_INSTALL = "packagegroup-core-boot packagegroup-core-ssh-openssh packagegroup-self-hosted \
9 kernel-dev kernel-devsrc connman connman-plugin-ethernet dhcpcd \
10 tzdata python3-pip perl-misc"
11
12IMAGE_FEATURES += "x11-base package-management splash"
13
14QB_MEM ?= '${@bb.utils.contains("DISTRO_FEATURES", "opengl", "-m 512", "-m 256", d)}'
15
16# Ensure there's enough space to do a core-image-sato build, with rm_work enabled
17IMAGE_ROOTFS_EXTRA_SPACE = "41943040"
18
19# Do a quiet boot with limited console messages
20APPEND += "rootfstype=ext4 quiet"
21
22DEPENDS = "zip-native python3-pip-native"
23IMAGE_FSTYPES = "wic.vmdk wic.vhd wic.vhdx"
24
25inherit core-image setuptools3 features_check
26
27REQUIRED_DISTRO_FEATURES += "xattr"
28
29SRCREV_bitbake ?= "8b582ef8dd0cef0192d4c0104bcd9b5d642d132c"
30SRCREV_oe-core ?= "5298d01663f897e38380116edf23973d2a156cbc"
31SRCREV_yocto ?= "fe65e142d0d9ba0e51ff9175ffa82e902f982a20"
32SRCREV_FORMAT = "bitbake_oe-core_yocto"
33
34SRC_URI = "git://git.openembedded.org/bitbake;name=bitbake;branch=master;destsuffix=bitbake \
35 git://git.openembedded.org/openembedded-core;name=oe-core;branch=master;destsuffix=openembedded-core \
36 git://git.yoctoproject.org/meta-yocto;name=yocto;branch=master;destsuffix=meta-yocto \
37 file://Yocto_Build_Appliance.vmx \
38 file://Yocto_Build_Appliance.vmxf \
39 file://README_VirtualBox_Guest_Additions.txt \
40 file://README_VirtualBox_Toaster.txt \
41 "
42RECIPE_NO_UPDATE_REASON = "Recipe is recursive and handled as part of the release process"
43BA_INCLUDE_SOURCES ??= "0"
44
45IMAGE_CMD:ext4:append () {
46 # We don't need to reserve much space for root, 0.5% is more than enough
47 tune2fs -m 0.5 ${IMGDEPLOYDIR}/${IMAGE_NAME}.rootfs.ext4
48}
49
50fakeroot do_populate_poky_src () {
51 # Because fetch2's git's unpack uses -s cloneflag, the unpacked git repo
52 # will become invalid in the target.
53 for d in bitbake openembedded-core meta-yocto; do
54 rm -rf ${UNPACKDIR}/$d/.git
55 rm -f ${UNPACKDIR}/$d/.gitignore
56 cp -R ${UNPACKDIR}/$d ${IMAGE_ROOTFS}/home/builder/
57 done
58
59 mkdir -p ${IMAGE_ROOTFS}/home/builder/openembedded-core/build/conf
60 echo "INHERIT += \"rm_work\"" >> ${IMAGE_ROOTFS}/home/builder/openembedded-core/build/conf/auto.conf
61
62 if [ ${BA_INCLUDE_SOURCES} != 0 ]; then
63 mkdir -p ${IMAGE_ROOTFS}/home/builder/openembedded-core/build/downloads
64 cp -RpL ${DL_DIR}/* ${IMAGE_ROOTFS}/home/builder/openembedded-core/build/downloads/
65 # Remove the git2_* tarballs -- this is ok since we still have the git2/.
66 rm -rf ${IMAGE_ROOTFS}/home/builder/openembedded-core/build/downloads/git2_*
67 fi
68
69 # Place the README_VirtualBox_Guest_Additions file in builders home folder.
70 cp ${UNPACKDIR}/README_VirtualBox_Guest_Additions.txt ${IMAGE_ROOTFS}/home/builder/
71
72 # Place the README_VirtualBox_Toaster file in builders home folder.
73 cp ${UNPACKDIR}/README_VirtualBox_Toaster.txt ${IMAGE_ROOTFS}/home/builder/
74
75 echo "export LC_ALL=en_US.utf8" >> ${IMAGE_ROOTFS}/home/builder/.bashrc
76 echo "export TERM=xterm-color" >> ${IMAGE_ROOTFS}/home/builder/.bashrc
77
78 # Also save (for reference only) the actual SRCREV used to create this image
79 echo "export BA_SRCREV=${SRCREV}" >> ${IMAGE_ROOTFS}/home/builder/.bashrc
80 echo "" >> ${IMAGE_ROOTFS}/home/builder/.bashrc
81 echo 'export PATH=$PATH:/sbin' >> ${IMAGE_ROOTFS}/home/builder/.bashrc
82 echo "" >> ${IMAGE_ROOTFS}/home/builder/.bashrc
83
84 echo "# If working behind a proxy and using the provided oe-git-proxy script" >> ${IMAGE_ROOTFS}/home/builder/.bashrc
85 echo "# you need to set ALL_PROXY based on your proxy settings." >> ${IMAGE_ROOTFS}/home/builder/.bashrc
86 echo "# Example ALL_PROXY values:" >> ${IMAGE_ROOTFS}/home/builder/.bashrc
87 echo "# export ALL_PROXY=https://proxy.example.com:8080" >> ${IMAGE_ROOTFS}/home/builder/.bashrc
88 echo "# export ALL_PROXY=socks://socks.example.com:1080" >> ${IMAGE_ROOTFS}/home/builder/.bashrc
89
90 chown -R builder:builder ${IMAGE_ROOTFS}/home/builder/
91 chmod -R ug+rw ${IMAGE_ROOTFS}/home/builder/
92
93 # Assume we will need CDROM to install guest additions
94 mkdir -p ${IMAGE_ROOTFS}/media/cdrom
95
96 # Allow builder to use sudo
97 echo "builder ALL=(ALL) NOPASSWD: ALL" >> ${IMAGE_ROOTFS}/etc/sudoers
98
99 # Load tap/tun at startup
100 rm -f ${IMAGE_ROOTFS}/sbin/iptables
101 ln -rs ${IMAGE_ROOTFS}/usr/sbin/iptables ${IMAGE_ROOTFS}/sbin/iptables
102 echo "tun" >> ${IMAGE_ROOTFS}/etc/modules
103
104 # Use Clearlooks GTK+ theme
105 mkdir -p ${IMAGE_ROOTFS}/etc/gtk-2.0
106 echo 'gtk-theme-name = "Clearlooks"' > ${IMAGE_ROOTFS}/etc/gtk-2.0/gtkrc
107
108 # Install modules needed for toaster
109 export STAGING_LIBDIR=${STAGING_LIBDIR_NATIVE}
110 export STAGING_INCDIR=${STAGING_INCDIR_NATIVE}
111 export HOME=${IMAGE_ROOTFS}/home/builder
112 mkdir -p ${IMAGE_ROOTFS}/home/builder/.cache/pip
113 pip3_install_params="--user -I -U -v -r ${IMAGE_ROOTFS}/home/builder/bitbake/toaster-requirements.txt"
114 if [ -n "${http_proxy}" ]; then
115 pip3_install_params="${pip3_install_params} --proxy ${http_proxy}"
116 fi
117 pip3 install ${pip3_install_params}
118 chown -R builder:builder ${IMAGE_ROOTFS}/home/builder/.local
119 chown -R builder:builder ${IMAGE_ROOTFS}/home/builder/.cache
120}
121
122fakeroot do_tweak_image () {
123 # add a /lib64 symlink
124 # this is needed for building rust-native on a 64-bit build appliance
125 ln -rs ${IMAGE_ROOTFS}/lib ${IMAGE_ROOTFS}/lib64
126}
127
128IMAGE_PREPROCESS_COMMAND += "do_populate_poky_src do_tweak_image"
129# For pip usage above
130do_image[network] = "1"
131
132addtask rootfs after do_unpack
133
134python () {
135 # Ensure we run these usually noexec tasks
136 d.delVarFlag("do_fetch", "noexec")
137 d.delVarFlag("do_unpack", "noexec")
138}
139
140# ${S} doesn't exist for us
141do_qa_unpack() {
142 return
143}
144
145create_bundle_files () {
146 cd ${WORKDIR}
147 mkdir -p Yocto_Build_Appliance
148 cp ${UNPACKDIR}/*.vmx* Yocto_Build_Appliance
149 ln -sf ${IMGDEPLOYDIR}/${IMAGE_NAME}.wic.vmdk Yocto_Build_Appliance/Yocto_Build_Appliance.vmdk
150 ln -sf ${IMGDEPLOYDIR}/${IMAGE_NAME}.wic.vhdx Yocto_Build_Appliance/Yocto_Build_Appliance.vhdx
151 ln -sf ${IMGDEPLOYDIR}/${IMAGE_NAME}.wic.vhd Yocto_Build_Appliance/Yocto_Build_Appliance.vhd
152 zip -r ${IMGDEPLOYDIR}/Yocto_Build_Appliance-${DATETIME}.zip Yocto_Build_Appliance
153 ln -sf Yocto_Build_Appliance-${DATETIME}.zip ${IMGDEPLOYDIR}/Yocto_Build_Appliance.zip
154}
155create_bundle_files[vardepsexclude] = "DATETIME"
156
157python do_bundle_files() {
158 bb.build.exec_func('create_bundle_files', d)
159}
160
161addtask bundle_files after do_image_wic before do_image_complete
diff --git a/meta/recipes-core/images/core-image-base.bb b/meta/recipes-core/images/core-image-base.bb
deleted file mode 100644
index 75a08cfc92..0000000000
--- a/meta/recipes-core/images/core-image-base.bb
+++ /dev/null
@@ -1,8 +0,0 @@
1SUMMARY = "A console-only image that fully supports the target device \
2hardware."
3
4IMAGE_FEATURES += "splash"
5
6LICENSE = "MIT"
7
8inherit core-image
diff --git a/meta/recipes-core/images/core-image-initramfs-boot.bb b/meta/recipes-core/images/core-image-initramfs-boot.bb
deleted file mode 100644
index 7258944751..0000000000
--- a/meta/recipes-core/images/core-image-initramfs-boot.bb
+++ /dev/null
@@ -1,22 +0,0 @@
1SUMMARY = "Basic initramfs to boot a fully-featured rootfs"
2DESCRIPTION = "Small initramfs that contains just udev and init, to find the real rootfs."
3LICENSE = "MIT"
4
5INITRAMFS_SCRIPTS ?= "initramfs-framework-base initramfs-module-udev"
6
7PACKAGE_INSTALL = "${INITRAMFS_SCRIPTS} ${VIRTUAL-RUNTIME_base-utils} base-passwd"
8
9# Ensure the initramfs only contains the bare minimum
10IMAGE_FEATURES = ""
11IMAGE_LINGUAS = ""
12
13# Don't allow the initramfs to contain a kernel, as kernel modules will depend
14# on the kernel image.
15PACKAGE_EXCLUDE = "kernel-image-*"
16
17IMAGE_FSTYPES = "${INITRAMFS_FSTYPES}"
18IMAGE_NAME_SUFFIX ?= ""
19IMAGE_ROOTFS_SIZE = "8192"
20IMAGE_ROOTFS_EXTRA_SPACE = "0"
21
22inherit image
diff --git a/meta/recipes-core/images/core-image-minimal-dev.bb b/meta/recipes-core/images/core-image-minimal-dev.bb
deleted file mode 100644
index 93ead20553..0000000000
--- a/meta/recipes-core/images/core-image-minimal-dev.bb
+++ /dev/null
@@ -1,7 +0,0 @@
1require core-image-minimal.bb
2
3DESCRIPTION = "A small image just capable of allowing a device to boot and \
4is suitable for development work."
5
6IMAGE_FEATURES += "dev-pkgs"
7
diff --git a/meta/recipes-core/images/core-image-minimal-initramfs.bb b/meta/recipes-core/images/core-image-minimal-initramfs.bb
deleted file mode 100644
index 4e210d1bf3..0000000000
--- a/meta/recipes-core/images/core-image-minimal-initramfs.bb
+++ /dev/null
@@ -1,35 +0,0 @@
1# Simple initramfs image. Mostly used for live images.
2SUMMARY = "Small image capable of booting a device."
3DESCRIPTION = "Small image capable of booting a device. The kernel includes \
4the Minimal RAM-based Initial Root Filesystem (initramfs), which finds the \
5first 'init' program more efficiently."
6
7INITRAMFS_SCRIPTS ?= "\
8 initramfs-framework-base \
9 initramfs-module-setup-live \
10 initramfs-module-udev \
11 initramfs-module-install \
12 initramfs-module-install-efi \
13 "
14
15PACKAGE_INSTALL = "${INITRAMFS_SCRIPTS} ${VIRTUAL-RUNTIME_base-utils} udev base-passwd ${ROOTFS_BOOTSTRAP_INSTALL}"
16
17# Do not pollute the initrd image with rootfs features
18IMAGE_FEATURES = ""
19
20# Don't allow the initramfs to contain a kernel
21PACKAGE_EXCLUDE = "kernel-image-*"
22
23IMAGE_NAME_SUFFIX ?= ""
24IMAGE_LINGUAS = ""
25
26LICENSE = "MIT"
27
28IMAGE_FSTYPES = "${INITRAMFS_FSTYPES}"
29inherit core-image
30
31IMAGE_ROOTFS_SIZE = "8192"
32IMAGE_ROOTFS_EXTRA_SPACE = "0"
33
34# Use the same restriction as initramfs-module-install
35COMPATIBLE_HOST = '(x86_64.*|i.86.*|arm.*|aarch64.*)-(linux.*|freebsd.*)'
diff --git a/meta/recipes-core/images/core-image-minimal-mtdutils.bb b/meta/recipes-core/images/core-image-minimal-mtdutils.bb
deleted file mode 100644
index c92234c082..0000000000
--- a/meta/recipes-core/images/core-image-minimal-mtdutils.bb
+++ /dev/null
@@ -1,7 +0,0 @@
1require core-image-minimal.bb
2
3DESCRIPTION = "Small image capable of booting a device with support for the \
4Minimal MTD Utilities, which let the user interact with the MTD subsystem in \
5the kernel to perform operations on flash devices."
6
7IMAGE_INSTALL += "mtd-utils"
diff --git a/meta/recipes-core/images/core-image-minimal.bb b/meta/recipes-core/images/core-image-minimal.bb
deleted file mode 100644
index 84343adcd8..0000000000
--- a/meta/recipes-core/images/core-image-minimal.bb
+++ /dev/null
@@ -1,12 +0,0 @@
1SUMMARY = "A small image just capable of allowing a device to boot."
2
3IMAGE_INSTALL = "packagegroup-core-boot ${CORE_IMAGE_EXTRA_INSTALL}"
4
5IMAGE_LINGUAS = " "
6
7LICENSE = "MIT"
8
9inherit core-image
10
11IMAGE_ROOTFS_SIZE ?= "8192"
12IMAGE_ROOTFS_EXTRA_SPACE:append = "${@bb.utils.contains("DISTRO_FEATURES", "systemd", " + 4096", "", d)}"
diff --git a/meta/recipes-core/images/core-image-ptest-all.bb b/meta/recipes-core/images/core-image-ptest-all.bb
deleted file mode 100644
index d4edb0fd05..0000000000
--- a/meta/recipes-core/images/core-image-ptest-all.bb
+++ /dev/null
@@ -1,25 +0,0 @@
1SUMMARY = "Recipe to trigger execution of all ptest images."
2HOMEPAGE = "https://www.yoctoproject.org/"
3
4LICENSE = "MIT"
5
6inherit features_check nopackages
7REQUIRED_DISTRO_FEATURES = "ptest"
8
9require conf/distro/include/ptest-packagelists.inc
10
11# Include the full set of ptests
12PTESTS = "${PTESTS_FAST} ${PTESTS_SLOW}"
13
14do_testimage[noexec] = "1"
15do_testimage[depends] = "${@' '.join(['core-image-ptest-'+x+':do_testimage' for x in d.getVar('PTESTS').split()])}"
16
17do_build[depends] = "${@' '.join(['core-image-ptest-'+x+':do_build' for x in d.getVar('PTESTS').split()])}"
18
19# normally image.bbclass would do this
20EXCLUDE_FROM_WORLD = "1"
21
22python () {
23 if bb.utils.contains('IMAGE_CLASSES', 'testimage', True, False, d):
24 bb.build.addtask("do_testimage", "", "", d)
25}
diff --git a/meta/recipes-core/images/core-image-ptest-fast.bb b/meta/recipes-core/images/core-image-ptest-fast.bb
deleted file mode 100644
index a5364e6cbf..0000000000
--- a/meta/recipes-core/images/core-image-ptest-fast.bb
+++ /dev/null
@@ -1,6 +0,0 @@
1require core-image-ptest-all.bb
2
3SUMMARY = "Recipe to trigger execution of all fast ptest images."
4
5PTESTS = "${PTESTS_FAST}"
6
diff --git a/meta/recipes-core/images/core-image-ptest.bb b/meta/recipes-core/images/core-image-ptest.bb
deleted file mode 100644
index 017f05f81b..0000000000
--- a/meta/recipes-core/images/core-image-ptest.bb
+++ /dev/null
@@ -1,50 +0,0 @@
1inherit features_check
2REQUIRED_DISTRO_FEATURES = "ptest"
3
4require core-image-minimal.bb
5require conf/distro/include/ptest-packagelists.inc
6
7DESCRIPTION += "Also including the ${MCNAME} ptest package."
8SUMMARY ?= "${MCNAME} ptest image."
9HOMEPAGE = "https://www.yoctoproject.org/"
10
11PTESTS = "${PTESTS_SLOW} ${PTESTS_FAST}"
12
13IMAGE_INSTALL:append = " ${MCNAME}-ptest openssh"
14
15BBCLASSEXTEND = "${@' '.join(['mcextend:'+x for x in d.getVar('PTESTS').split()])}"
16
17# The image can sufficiently large (~1.8GB) that we need to be careful that it fits in a live
18# image (which has a 4GB limit), so nullify the overhead factor (1.3x out of the
19# box) and explicitly add up to 1500MB.
20# strace-ptest in particular needs more than 500MB
21IMAGE_OVERHEAD_FACTOR = "1.0"
22IMAGE_ROOTFS_EXTRA_SPACE = "324288"
23IMAGE_ROOTFS_EXTRA_SPACE:virtclass-mcextend-mdadm = "1524288"
24IMAGE_ROOTFS_EXTRA_SPACE:virtclass-mcextend-strace = "1524288"
25IMAGE_ROOTFS_EXTRA_SPACE:virtclass-mcextend-lttng-tools = "1524288"
26IMAGE_ROOTFS_EXTRA_SPACE:virtclass-mcextend-util-linux = "1524288"
27
28# tar-ptest in particular needs more space
29IMAGE_ROOTFS_EXTRA_SPACE:virtclass-mcextend-tar = "1524288"
30
31# python3-numpy-ptest requires a lot of extra space
32IMAGE_ROOTFS_EXTRA_SPACE:virtclass-mcextend-python3-numpy = "3048576"
33
34# ptests need more memory than standard to avoid the OOM killer
35QB_MEM = "-m 1024"
36QB_MEM:virtclass-mcextend-lttng-tools = "-m 4096"
37QB_MEM:virtclass-mcextend-python3 = "-m 2048"
38QB_MEM:virtclass-mcextend-python3-cryptography = "-m 5100"
39QB_MEM:virtclass-mcextend-python3-numpy = "-m 4096"
40QB_MEM:virtclass-mcextend-tcl = "-m 5100"
41
42TEST_SUITES = "ping ssh parselogs ptest"
43
44# Sadly at the moment the full set of ptests is not robust enough and sporadically fails in random places
45PTEST_EXPECT_FAILURE = "1"
46
47python () {
48 if not d.getVar("MCNAME"):
49 raise bb.parse.SkipRecipe("No class extension set")
50}
diff --git a/meta/recipes-core/images/core-image-tiny-initramfs.bb b/meta/recipes-core/images/core-image-tiny-initramfs.bb
deleted file mode 100644
index c2aa68c788..0000000000
--- a/meta/recipes-core/images/core-image-tiny-initramfs.bb
+++ /dev/null
@@ -1,47 +0,0 @@
1# Simple initramfs image artifact generation for tiny images.
2SUMMARY = "Tiny image capable of booting a device."
3DESCRIPTION = "Tiny image capable of booting a device. The kernel includes \
4the Minimal RAM-based Initial Root Filesystem (initramfs), which finds the \
5first 'init' program more efficiently. core-image-tiny-initramfs doesn't \
6actually generate an image but rather generates boot and rootfs artifacts \
7that can subsequently be picked up by external image generation tools such as wic."
8
9# if distro does not override VIRTUAL-RUNTIME_dev_manager and default in different, busybox is compiled without mdev support
10# however this keeps the image small by not installing heavy-weight manager and in initramfs it may not even be necessary
11# override in distro if needed
12VIRTUAL-RUNTIME_dev_manager ?= "busybox-mdev"
13
14PACKAGE_INSTALL = "initramfs-live-boot-tiny packagegroup-core-boot dropbear ${VIRTUAL-RUNTIME_base-utils} ${VIRTUAL-RUNTIME_dev_manager} base-passwd ${ROOTFS_BOOTSTRAP_INSTALL}"
15
16# Do not pollute the initrd image with rootfs features
17IMAGE_FEATURES = ""
18
19IMAGE_NAME_SUFFIX ?= ""
20IMAGE_LINGUAS = ""
21
22LICENSE = "MIT"
23
24# don't actually generate an image, just the artifacts needed for one
25IMAGE_FSTYPES = "${INITRAMFS_FSTYPES}"
26
27inherit core-image
28
29IMAGE_ROOTFS_SIZE = "8192"
30IMAGE_ROOTFS_EXTRA_SPACE = "0"
31
32# Use the same restriction as initramfs-live-install
33COMPATIBLE_HOST = "(i.86|x86_64|aarch64|arm).*-linux"
34
35python tinyinitrd () {
36 # Modify our init file so the user knows we drop to shell prompt on purpose
37 newinit = None
38 with open(d.expand('${IMAGE_ROOTFS}/init'), 'r') as init:
39 newinit = init.read()
40 newinit = newinit.replace('Cannot find $ROOT_IMAGE file in /run/media/* , dropping to a shell ', 'Poky Tiny Reference Distribution:')
41 with open(d.expand('${IMAGE_ROOTFS}/init'), 'w') as init:
42 init.write(newinit)
43}
44
45IMAGE_PREPROCESS_COMMAND += "tinyinitrd"
46
47QB_KERNEL_CMDLINE_APPEND += "debugshell=3 init=/bin/busybox sh init"