diff options
| author | Saul Wold <sgw@linux.intel.com> | 2011-07-26 08:30:08 -0700 |
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2011-07-27 12:02:46 +0100 |
| commit | ba8a726b7dbbca8e9ea9cc75964d366d094aa881 (patch) | |
| tree | 17e3da2faf29153fb9c17ec12330e3fc7536b957 | |
| parent | 39130137e40fe62d7b9bf2c9226a082138217b37 (diff) | |
| download | poky-ba8a726b7dbbca8e9ea9cc75964d366d094aa881.tar.gz | |
classes/image*: Revamp creation of live images
This creates a live image as an IMAGE_FSTYPES, thus removing the
need to have additional -live.bb recipes. To create a live image
one just needs to add live to the IMAGE_FSTYPES list
(From OE-Core rev: b3ff63796cd6629975ff0a726ba18cc168e0a2b2)
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
| -rw-r--r-- | meta/classes/image-empty.bbclass | 0 | ||||
| -rw-r--r-- | meta/classes/image-live.bbclass | 13 | ||||
| -rw-r--r-- | meta/classes/image.bbclass | 3 | ||||
| -rw-r--r-- | meta/classes/image_types.bbclass | 15 |
4 files changed, 29 insertions, 2 deletions
diff --git a/meta/classes/image-empty.bbclass b/meta/classes/image-empty.bbclass new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/meta/classes/image-empty.bbclass | |||
diff --git a/meta/classes/image-live.bbclass b/meta/classes/image-live.bbclass new file mode 100644 index 0000000000..c910488d64 --- /dev/null +++ b/meta/classes/image-live.bbclass | |||
| @@ -0,0 +1,13 @@ | |||
| 1 | |||
| 2 | AUTO_SYSLINUXCFG = "1" | ||
| 3 | INITRD = "${DEPLOY_DIR_IMAGE}/core-image-minimal-initramfs-${MACHINE}.cpio.gz" | ||
| 4 | APPEND += "root=/dev/ram0 " | ||
| 5 | TIMEOUT = "10" | ||
| 6 | LABELS += "boot install" | ||
| 7 | |||
| 8 | ROOTFS = "${DEPLOY_DIR_IMAGE}/${IMAGE_BASENAME}-${MACHINE}.ext3" | ||
| 9 | |||
| 10 | do_bootimg[depends] += "core-image-minimal-initramfs:do_rootfs" | ||
| 11 | do_bootimg[depends] += "${IMAGE_BASENAME}:do_rootfs" | ||
| 12 | |||
| 13 | inherit bootimg | ||
diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass index edfb2d68c5..79a56f0408 100644 --- a/meta/classes/image.bbclass +++ b/meta/classes/image.bbclass | |||
| @@ -29,6 +29,9 @@ LDCONFIGDEPEND_libc-uclibc = "" | |||
| 29 | do_rootfs[depends] += "makedevs-native:do_populate_sysroot virtual/fakeroot-native:do_populate_sysroot ${LDCONFIGDEPEND}" | 29 | do_rootfs[depends] += "makedevs-native:do_populate_sysroot virtual/fakeroot-native:do_populate_sysroot ${LDCONFIGDEPEND}" |
| 30 | do_rootfs[depends] += "virtual/update-alternatives-native:do_populate_sysroot update-rc.d-native:do_populate_sysroot" | 30 | do_rootfs[depends] += "virtual/update-alternatives-native:do_populate_sysroot update-rc.d-native:do_populate_sysroot" |
| 31 | 31 | ||
| 32 | IMAGE_TYPE = ${@base_contains("IMAGE_FSTYPES", "live", "live", "empty", d)} | ||
| 33 | inherit image-${IMAGE_TYPE} | ||
| 34 | |||
| 32 | python () { | 35 | python () { |
| 33 | deps = bb.data.getVarFlag('do_rootfs', 'depends', d) or "" | 36 | deps = bb.data.getVarFlag('do_rootfs', 'depends', d) or "" |
| 34 | for type in (bb.data.getVar('IMAGE_FSTYPES', d, True) or "").split(): | 37 | for type in (bb.data.getVar('IMAGE_FSTYPES', d, True) or "").split(): |
diff --git a/meta/classes/image_types.bbclass b/meta/classes/image_types.bbclass index f1aef86fad..cd901c105f 100644 --- a/meta/classes/image_types.bbclass +++ b/meta/classes/image_types.bbclass | |||
| @@ -1,7 +1,18 @@ | |||
| 1 | |||
| 1 | def get_imagecmds(d): | 2 | def get_imagecmds(d): |
| 2 | cmds = "\n" | 3 | cmds = "\n" |
| 3 | old_overrides = bb.data.getVar('OVERRIDES', d, 0) | 4 | old_overrides = bb.data.getVar('OVERRIDES', d, 0) |
| 4 | for type in bb.data.getVar('IMAGE_FSTYPES', d, True).split(): | 5 | |
| 6 | types = bb.data.getVar('IMAGE_FSTYPES', d, True).split() | ||
| 7 | # Live images will be processed via inheriting bbclass and | ||
| 8 | # does not get processed here. | ||
| 9 | # live images also depend on ext3 so ensure its present | ||
| 10 | if "live" in types: | ||
| 11 | if "ext3" not in types: | ||
| 12 | types.append("ext3") | ||
| 13 | types.remove("live") | ||
| 14 | |||
| 15 | for type in types: | ||
| 5 | localdata = bb.data.createCopy(d) | 16 | localdata = bb.data.createCopy(d) |
| 6 | localdata.setVar('OVERRIDES', '%s:%s' % (type, old_overrides)) | 17 | localdata.setVar('OVERRIDES', '%s:%s' % (type, old_overrides)) |
| 7 | bb.data.update_data(localdata) | 18 | bb.data.update_data(localdata) |
| @@ -103,4 +114,4 @@ IMAGE_DEPENDS_ubi = "mtd-utils-native" | |||
| 103 | IMAGE_DEPENDS_ubifs = "mtd-utils-native" | 114 | IMAGE_DEPENDS_ubifs = "mtd-utils-native" |
| 104 | 115 | ||
| 105 | # This variable is available to request which values are suitable for IMAGE_FSTYPES | 116 | # This variable is available to request which values are suitable for IMAGE_FSTYPES |
| 106 | IMAGE_TYPES = "jffs2 cramfs ext2 ext2.gz ext3 ext3.gz squashfs squashfs-lzma ubi tar tar.gz tar.bz2 tar.xz cpio cpio.gz cpio.xz cpio.lzma" | 117 | IMAGE_TYPES = "jffs2 cramfs ext2 ext2.gz ext3 ext3.gz live squashfs squashfs-lzma ubi tar tar.gz tar.bz2 tar.xz cpio cpio.gz cpio.xz cpio.lzma" |
