From patchwork Sun Mar 17 17:31:45 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Esben Haabendal X-Patchwork-Id: 228300 X-Patchwork-Delegate: esben@haabendal.dk Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from hugin.dotsrc.org (hugin.dotsrc.org [IPv6:2001:878:346::102]) by ozlabs.org (Postfix) with ESMTP id C22412C00BE for ; Mon, 18 Mar 2013 04:31:55 +1100 (EST) Received: from hugin.dotsrc.org (localhost [127.0.0.1]) by hugin.dotsrc.org (Postfix) with ESMTP id 1710A3F8AE for ; Sun, 17 Mar 2013 18:31:51 +0100 (CET) X-Original-To: dev@oe-lite.org Delivered-To: dev@oe-lite.org Received: from mail02.prevas.se (mail02.prevas.se [62.95.78.10]) by hugin.dotsrc.org (Postfix) with ESMTPS id 26E493F8AE for ; Sun, 17 Mar 2013 18:31:49 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=prevas.dk; i=@prevas.dk; l=3026; q=dns/txt; s=ironport2; t=1363541509; x=1395077509; h=from:to:subject:references:date:in-reply-to:message-id: mime-version:content-transfer-encoding; bh=EXSwYEN4MgPXagpbsOlgKhaXJS727WjRJIrdXtWdXYs=; b=gyUpTds8eJhozcQLekhBHqI6pQwKFbsIUw+CRjVoVVCUVGmJLeXDhRb5 Am2i0l1ampdA8HBv+NdG7ZgPzZbnrqvNl4TRyz+CH+cwl/2bsaZ3wUcV3 scbF/wxBKJQUbpfEfKGFW04Ug4+fmc89msNeFG2mlGPypowJGgF0Vvbs8 E=; X-IronPort-AV: E=Sophos;i="4.84,860,1355094000"; d="scan'208";a="2276272" Received: from vmprevas3.prevas.se (HELO smtp.prevas.se) ([172.16.8.103]) by ironport2.prevas.se with ESMTP/TLS/AES128-SHA; 17 Mar 2013 18:31:48 +0100 Received: from dev.prevas.dk (172.16.10.60) by smtp.prevas.se (172.16.8.105) with Microsoft SMTP Server (TLS) id 14.2.342.3; Sun, 17 Mar 2013 18:31:48 +0100 Received: from arh128 (0x55532124.adsl.cybercity.dk [85.83.33.36]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) (Authenticated sender: eha) by dev.prevas.dk (Postfix) with ESMTPSA id ECA7D81804; Sun, 17 Mar 2013 18:31:47 +0100 (CET) Received: by arh128 (Postfix, from userid 1000) id 04408801C8; Sun, 17 Mar 2013 18:31:45 +0100 (CET) From: Esben Haabendal To: , Subject: [RFC] Simplified lzma initramfs compression patches References: Date: Sun, 17 Mar 2013 18:31:45 +0100 In-Reply-To: (christian braunersorensen's message of "Wed, 27 Feb 2013 08:43:31 +0000") Message-ID: <87mwu2lypq.fsf@arh128.prevas.dk> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.3 (gnu/linux) MIME-Version: 1.0 X-BeenThere: dev@oe-lite.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: OE-lite development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: dev-bounces@oe-lite.org Errors-To: dev-bounces@oe-lite.org writes: > Christian Sørensen (4): > crosstool-ng: Patch dmalloc-5.5.2 for powerpc > cpio-image: added lzma support > kernel: add lzma compression support > initramfs-image: add lzma compression support The 3 lzma compression patches above seems to make things more complicated than what should be necessary. What about something like the patch below instead (available in ramdisk-compression branch at git://gitorious.org/~esben/oe-lite/esbens-core.git). It does not add new USE flags, and sticks with the concept of the ramdisk image being names the same independent of the compression method, making integration much simpler. Could those interested (Jacob?) please consider this, and if possible, test if this is usable instead of the 3 patches submitted by Christian. /Esben diff --git a/classes/cpio-image.oeclass b/classes/cpio-image.oeclass index 92433cc..c5333f9 100644 --- a/classes/cpio-image.oeclass +++ b/classes/cpio-image.oeclass @@ -2,7 +2,7 @@ IMAGE_BASENAME ?= "${MACHINE_ID}-${PN}" inherit image image_mdev image_inetd image_crontab image_makedevs image_inittab image_fstab -RECIPE_FLAGS += "ramdisk_image \ +CLASS_FLAGS += "ramdisk_image \ ramdisk_image_name ramdisk_image_compression" DEFAULT_USE_ramdisk_image = "0" DEFAULT_USE_ramdisk_image_name = "${IMAGE_BASENAME}" @@ -27,13 +27,13 @@ cpio_mkimage () { case "${USE_ramdisk_image_compression}" in none) cp ${B}/${IMAGE_BASENAME}.cpio ${B}/image.bin ;; - bzip2) echo "TODO: ${USE_ramdisk_image_compression}" + bzip2) bzip2 ${B}/${IMAGE_BASENAME}.cpio -c > ${B}/image.bin ;; gzip) gzip ${B}/${IMAGE_BASENAME}.cpio -c > ${B}/image.bin ;; - lzma) echo "TODO: ${USE_ramdisk_image_compression}" + lzma) lzma ${B}/${IMAGE_BASENAME}.cpio -c > ${B}/image.bin ;; - lzo) echo "TODO: ${USE_ramdisk_image_compression}" + lzo) lzop ${B}/${IMAGE_BASENAME}.cpio -c > ${B}/image.bin ;; *) echo "ERROR: mkimage compression ${USE_ramdisk_image_compression} not supported" ;; diff --git a/classes/kernel.oeclass b/classes/kernel.oeclass index 9ae662d..904dd05 100644 --- a/classes/kernel.oeclass +++ b/classes/kernel.oeclass @@ -39,6 +39,9 @@ KERNEL_INITRAMFS ?= "${MACHINE_SYSROOT}${bootdir}/initramfs.cpio" USE_KERNEL_INITRAMFS = "${USE_kernel_initramfs}" USE_KERNEL_INITRAMFS[expand] = "3" +CLASS_FLAGS += "ramdisk_image_compression" +DEFAULT_USE_ramdisk_image_compression = "none" + do_configure_kernel () { if [ "${DEFCONFIG}" = "file" ] ; then cp ${DEFCONFIG_FILE} ${S}/.config @@ -55,6 +58,13 @@ do_configure_kernel () { echo 'CONFIG_INITRAMFS_SOURCE="${KERNEL_INITRAMFS}"' \ >> ${S}/.config yes '' | oe_runmake oldconfig + case "${USE_cpio_image_compression}" in + lzma) echo 'CONFIG_RD_LZMA=y' >> ${S}/.config + echo 'CONFIG_INITRAMFS_COMPRESSION_LZMA=y' >> ${S}/.config + ;; + *) + ;; + esac fi }