On 07/01/2012 10:22 PM, Saul Wold wrote:
On 06/29/2012 01:19 PM, Raymond Danks wrote:
On x86, an ELF image file may be stored as a coreboot payload.
The image file is constructed, using the mkelfimage utility,
from a kernel and an initrd.
Signed-off-by: Raymond Danks<ray.da...@se-eng.com>
---
This was originally submitted to the openembedded project:
http://patches.openembedded.org/patch/7689/
v3:
Include DEPLOY_DIR_IMAGE and KERNEL_IMAGETYPE for location of
ELF_KERNEL
meta/classes/image_types.bbclass | 18 +++++++++++++++++-
1 files changed, 17 insertions(+), 1 deletions(-)
diff --git a/meta/classes/image_types.bbclass
b/meta/classes/image_types.bbclass
index 55f122e..64fa14a 100644
--- a/meta/classes/image_types.bbclass
+++ b/meta/classes/image_types.bbclass
@@ -7,6 +7,12 @@ def get_imagecmds(d):
ctypes = d.getVar('COMPRESSIONTYPES', True).split()
cimages = {}
+ if "elf" in alltypes:
+ alltypes.remove("elf")
+ if "cpio.gz" not in alltypes:
+ alltypes.append("cpio.gz")
+ alltypes.append("elf")
+
# Filter out all the compressed images from types
for type in alltypes:
basetype = None
@@ -173,6 +179,14 @@ IMAGE_CMD_cpio () {
cd ${IMAGE_ROOTFS}&& (find . | cpio -o -H
newc>${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.cpio)
}
+ELF_KERNEL ?= ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}
I guess this was not tested very well, as this failed right out of the
gate.
Thanks for giving this a shot Sau. Could you be more specific regarding
the failure you are seeing?
Please let me know what kind of testing you have done.
This was tested rather exhaustively on an x86_64->x86_64 configuration
prior to the latest changes to the above line. I have only tested this
using the bzImage kernel type. I did feel that I had tested the above
line as well, but it's possible I had something cached somewhere. I'll
kick off a clean build and see if anything surfaces.
Thanks
Sau!
+ELF_APPEND ?= "ramdisk_size=32768 root=/dev/ram0 rw console="
+
+IMAGE_CMD_elf () {
+ test -f ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.elf&& rm -f
${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.elf
+ mkelfImage --kernel=${ELF_KERNEL}
--initrd=${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.cpio.gz
--output=${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.elf
--append='${ELF_APPEND}' ${EXTRA_IMAGECMD}
+}
+
UBI_VOLNAME ?= "${MACHINE}-rootfs"
IMAGE_CMD_ubi () {
@@ -199,6 +213,7 @@ EXTRA_IMAGECMD_ext2 ?= "-i 8192"
EXTRA_IMAGECMD_ext3 ?= "-i 8192"
EXTRA_IMAGECMD_ext4 ?= "-i 8192"
EXTRA_IMAGECMD_btrfs ?= ""
+EXTRA_IMAGECMD_elf ?= ""
IMAGE_DEPENDS = ""
IMAGE_DEPENDS_jffs2 = "mtd-utils-native"
@@ -210,11 +225,12 @@ IMAGE_DEPENDS_ext4 = "genext2fs-native
e2fsprogs-native"
IMAGE_DEPENDS_btrfs = "btrfs-tools-native"
IMAGE_DEPENDS_squashfs = "squashfs-tools-native"
IMAGE_DEPENDS_squashfs-lzma = "squashfs-lzma-tools-native"
+IMAGE_DEPENDS_elf = "virtual/kernel mkelfimage-native"
IMAGE_DEPENDS_ubi = "mtd-utils-native"
IMAGE_DEPENDS_ubifs = "mtd-utils-native"
# This variable is available to request which values are suitable
for IMAGE_FSTYPES
-IMAGE_TYPES = "jffs2 sum.jffs2 cramfs ext2 ext2.gz ext2.bz2 ext3
ext3.gz ext2.lzma btrfs live squashfs squashfs-lzma ubi tar tar.gz
tar.bz2 tar.xz cpio cpio.gz cpio.xz cpio.lzma vmdk"
+IMAGE_TYPES = "jffs2 sum.jffs2 cramfs ext2 ext2.gz ext2.bz2 ext3
ext3.gz ext2.lzma btrfs live squashfs squashfs-lzma ubi tar tar.gz
tar.bz2 tar.xz cpio cpio.gz cpio.xz cpio.lzma vmdk elf"
COMPRESSIONTYPES = "gz bz2 lzma xz"
COMPRESS_CMD_lzma = "lzma -k -f -7 ${IMAGE_NAME}.rootfs.${type}"
_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core