From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail1.windriver.com (mail1.windriver.com [147.11.146.13]) by mail.openembedded.org (Postfix) with ESMTP id DA30160EDC for ; Thu, 12 Sep 2013 00:51:18 +0000 (UTC) Received: from ALA-HCA.corp.ad.wrs.com (ala-hca.corp.ad.wrs.com [147.11.189.40]) by mail1.windriver.com (8.14.5/8.14.3) with ESMTP id r8C0pIJt006750 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=FAIL); Wed, 11 Sep 2013 17:51:18 -0700 (PDT) Received: from [172.25.32.37] (172.25.32.37) by ALA-HCA.corp.ad.wrs.com (147.11.189.40) with Microsoft SMTP Server id 14.2.347.0; Wed, 11 Sep 2013 17:51:18 -0700 Message-ID: <52311003.6000500@windriver.com> Date: Wed, 11 Sep 2013 19:51:15 -0500 From: Jason Wessel User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130308 Thunderbird/17.0.4 MIME-Version: 1.0 To: Khem Raj References: <1378937370-29730-1-git-send-email-jason.wessel@windriver.com> In-Reply-To: X-Enigmail-Version: 1.5.2 Cc: "Openembedded-core@lists.openembedded.org" Subject: Re: [PATCH] bootimage.bbclass, zisofs-tools-native: add ability to compress ISO images X-BeenThere: openembedded-core@lists.openembedded.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: Patches and discussions about the oe-core layer List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 12 Sep 2013 00:51:20 -0000 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit On 09/11/2013 06:15 PM, Khem Raj wrote: > > > On Wednesday, September 11, 2013, Jason Wessel > 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 > >> --- >> meta/classes/bootimg.bbclass | 21 ++++++++++++++-- >> .../zisofs-tools/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 >> >> 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 b/meta/recipes-devtools/zisofs-tools/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 >> @@ -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 " >> + >> +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 >> http://lists.openembedded.org/mailman/listinfo/openembedded-core >>