From: Jason Wessel <jason.wessel@windriver.com>
To: Khem Raj <raj.khem@gmail.com>
Cc: "Openembedded-core@lists.openembedded.org"
<Openembedded-core@lists.openembedded.org>
Subject: Re: [PATCH] bootimage.bbclass, zisofs-tools-native: add ability to compress ISO images
Date: Wed, 11 Sep 2013 19:51:15 -0500 [thread overview]
Message-ID: <52311003.6000500@windriver.com> (raw)
In-Reply-To: <CAMKF1spuidmKq2eDY+0JXjkmNYBoFggycxZmwpNDLQy1fekqMw@mail.gmail.com>
On 09/11/2013 06:15 PM, Khem Raj wrote:
>
>
> On Wednesday, September 11, 2013, Jason Wessel <jason.wessel@windriver.com <mailto:jason.wessel@windriver.com>> wrote:
>> The mkzftree is needed to allow ISO images to be compressed with
>> minimal runtime overhead. Below is an example of the savings on a
>> core-image-minimal.
>>
>> Before ls -l:
>> 24117248 core-image-minimal-qemux86-64.iso
>>
>> Using the mkzftree ls -l:
>> 16777216 core-image-minimal-qemux86-64.iso
>>
>> Signed-off-by: Jason Wessel <jason.wessel@windriver.com <mailto:jason.wessel@windriver.com>>
>> ---
>> meta/classes/bootimg.bbclass | 21 ++++++++++++++--
>> .../zisofs-tools/zisofs-tools-native_1.0.8.bb <http://zisofs-tools-native_1.0.8.bb> | 26 ++++++++++++++++++++
>> 2 files changed, 45 insertions(+), 2 deletions(-)
>> create mode 100644 meta/recipes-devtools/zisofs-tools/zisofs-tools-native_1.0.8.bb <http://zisofs-tools-native_1.0.8.bb>
>>
>> diff --git a/meta/classes/bootimg.bbclass b/meta/classes/bootimg.bbclass
>> index 90a241d..b312e0d 100644
>> --- a/meta/classes/bootimg.bbclass
>> +++ b/meta/classes/bootimg.bbclass
>> @@ -19,19 +19,23 @@
>>
>> # External variables (also used by syslinux.bbclass)
>> # ${INITRD} - indicates a filesystem image to use as an initrd (optional)
>> +# ${COMPRESSISO}
>> # ${NOISO} - skip building the ISO image if set to 1
>> # ${NOHDD} - skip building the HDD image if set to 1
>> # ${ROOTFS} - indicates a filesystem image to include as the root filesystem (optional)
>>
>> +COMPRESSISO ?= ""
>> do_bootimg[depends] += "dosfstools-native:do_populate_sysroot \
>> mtools-native:do_populate_sysroot \
>> - cdrtools-native:do_populate_sysroot"
>> + cdrtools-native:do_populate_sysroot \
>> + ${@oe.utils.ifelse(d.getVar('COMPRESSISO'),'zisofs-tools-native:do_populate_sysroot','')}"
>>
>> PACKAGES = " "
>> EXCLUDE_FROM_WORLD = "1"
>>
>> HDDDIR = "${S}/hddimg"
>> ISODIR = "${S}/iso"
>> +COMPACT_ISODIR = "${S}/iso.z"
>>
>> BOOTIMG_VOLUME_ID ?= "boot"
>> BOOTIMG_EXTRA_SPACE ?= "512"
>> @@ -92,10 +96,23 @@ build_iso() {
>> grubefi_iso_populate
>> fi
>>
>> + if [ "${COMPRESSISO}" = "1" ] ; then
>> + # create compact directory, compress iso
>> + mkdir -p ${COMPACT_ISODIR}
>> + mkzftree -z 9 -p 4 -F ${ISODIR}/rootfs.img ${COMPACT_ISODIR}/rootfs.img
>> +
>> + # move compact iso to iso, then remove compact directory
>> + mv ${COMPACT_ISODIR}/rootfs.img ${ISODIR}/rootfs.img
>> + rm -Rf ${COMPACT_ISODIR}
>> + mkisofs_opts="-r"
>> + else
>> + mkisofs_opts="-R -z -D -l"
>> + fi
>> +
>> if [ "${PCBIOS}" = "1" ]; then
>> mkisofs -V ${BOOTIMG_VOLUME_ID} \
>> -o ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.iso \
>> - -b ${ISO_BOOTIMG} -c ${ISO_BOOTCAT} -r \
>> + -b ${ISO_BOOTIMG} -c ${ISO_BOOTCAT} $mkisofs_opts \
>> ${MKISOFS_OPTIONS} ${ISODIR}
>> else
>> bbnote "EFI-only ISO images are untested, please provide feedback."
>> diff --git a/meta/recipes-devtools/zisofs-tools/zisofs-tools-native_1.0.8.bb <http://zisofs-tools-native_1.0.8.bb> b/meta/recipes-devtools/zisofs-tools/zisofs-tools-native_1.0.8.bb <http://zisofs-tools-native_1.0.8.bb>
>> new file mode 100644
>> index 0000000..b590854
>> --- /dev/null
>> +++ b/meta/recipes-devtools/zisofs-tools/zisofs-tools-native_1.0.8.bb <http://zisofs-tools-native_1.0.8.bb>
>> @@ -0,0 +1,26 @@
>> +# zisofs-tools-native OE build file
>> +# Copyright (C) 1989, 1991 Free Software Foundation, Inc.
>> +SUMMARY = "A set of tools for iso file compression"
>> +DESCRIPTION = "A set of tools for iso file compression"
>> +HOMEPAGE = "http://http://freecode.com/projects/zisofs-tools"
>> +SECTION = "console/utils"
>> +LICENSE = "GPLv2"
>> +LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
>> +PR = "r0"
>> +
>> +SRC_URI = "http://pkgs.fedoraproject.org/repo/pkgs/zisofs-tools/zisofs-tools-${PV}.tar.bz2/2d0ed8c9a1f60b45f949b136f9be1f6c/zisofs-tools-${PV}.tar.bz2 <http://pkgs.fedoraproject.org/repo/pkgs/zisofs-tools/zisofs-tools-$%7BPV%7D.tar.bz2/2d0ed8c9a1f60b45f949b136f9be1f6c/zisofs-tools-$%7BPV%7D.tar.bz2>"
>> +
>> +SRC_URI[md5sum] = "2d0ed8c9a1f60b45f949b136f9be1f6c"
>> +SRC_URI[sha256sum] = "ae4e53e4914934d41660248fb59d3c8761f1f1fd180d5ec993c17ddb3afd04f3"
>> +
>> +inherit native
>> +
>> +STAGE_TEMP = "${WORKDIR}/image-temp"
>> +
>> +do_install() {
>> + install -d ${STAGE_TEMP}
>> + make install INSTALLROOT=${STAGE_TEMP}
>
> why cant INSTALLROOT be pointing to ${D}
Not being the originator of this patch, I took a look and it is all a game to not copy the man page and ensure that ${bindir} is used.
I'll send a v2 shortly and catch this kind of problem in the future.
Thanks,
Jason.
>
>
>> +
>> + install -d ${D}${bindir}/
>> + install ${STAGE_TEMP}/usr/bin/* ${D}${bindir}/
>> +}
>> --
>> 1.7.9.5
>>
>> _______________________________________________
>> Openembedded-core mailing list
>> Openembedded-core@lists.openembedded.org <mailto:Openembedded-core@lists.openembedded.org>
>> http://lists.openembedded.org/mailman/listinfo/openembedded-core
>>
prev parent reply other threads:[~2013-09-12 0:51 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-09-11 22:09 [PATCH] bootimage.bbclass, zisofs-tools-native: add ability to compress ISO images Jason Wessel
2013-09-11 23:15 ` Khem Raj
2013-09-12 0:51 ` Jason Wessel [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=52311003.6000500@windriver.com \
--to=jason.wessel@windriver.com \
--cc=Openembedded-core@lists.openembedded.org \
--cc=raj.khem@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.