From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 6477538949418975232 X-Received: by 10.28.4.210 with SMTP id 201mr622535wme.19.1508268211789; Tue, 17 Oct 2017 12:23:31 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com Received: by 10.223.157.208 with SMTP id q16ls660232wre.6.gmail; Tue, 17 Oct 2017 12:23:31 -0700 (PDT) X-Google-Smtp-Source: ABhQp+QOB8V48GvkrKYaxZpTSnAB+Ed4H7pLU/Jimy5q8Do0xr5U4RnELBps6e6Dm5ie0qkcQtNh X-Received: by 10.28.238.220 with SMTP id j89mr589767wmi.6.1508268211442; Tue, 17 Oct 2017 12:23:31 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1508268211; cv=none; d=google.com; s=arc-20160816; b=GjphBCM3Vm4A/0cBNxFIDxEbXWT3qUDa6we59ZTwF2xZlZKjlGcZLCkwu6fkfKh2hY a1L9qzjTfrrV8JbY/d8AhE7l4das19Magd0y1A0TN415ARcLRg75e1f8wu7ummQ/b6pP WdyomwG1RVxwHK3yceKt/WzhTejVqrd3vNiFQxZTl74p9e0s0iwBxf3PhJlhpUdsasiU 4xmIA2/CNekeiki5XWtly7CQHYl+l+9LKp1dwJrygDpOM/3E5svu0mn0A/Xy4HOT+s/Q CY2nt03JQGlAQKplA+oZnS5Y8llVmh8RvsysZOhJxCDLYeluxWvaZNSIPtnNB5J9uRlR FkOg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=references:in-reply-to:message-id:date:subject:cc:to:from :arc-authentication-results; bh=PKCKF+8RDk0uUIa0GghsbxXdlE04JB2e9UuKF3WWxwM=; b=CVox8kXFd1PmVeF4kNMTEMuEDaj9MV1BoL646akfq5T4PCBDvavA+/T6zpyLY3HGwv hGmXh/G6Hjlr8y4KOKcSl1Ljzi6FnDUi89PX1hmkLiUHBeY31s339O6o2bWLqPLM/pOV fAsFe+3i91A/ypQtxibzs9OHaZchws3Ab/NsrBmjZvuOMksCHL8E+ITHjZifTuL5llHS l1OpHCjbeHoN8SnKdTa9KNn3QOqffpMINdvYRjNmJNEBvmNJSClwPjJQyQeKMjH989XP lgxJX7LkwiKS4UBew8DhlpMejM3H4W0OpIv4QgaN7OJmLaqmrRvGZ4qI4H35Ez0eXUeJ Os1Q== ARC-Authentication-Results: i=1; gmr-mx.google.com; spf=pass (google.com: best guess record for domain of asmirnov@ilbers.de designates 85.214.62.211 as permitted sender) smtp.mailfrom=asmirnov@ilbers.de Return-Path: Received: from aqmola.ilbers.de (aqmola.ilbers.de. [85.214.62.211]) by gmr-mx.google.com with ESMTPS id r15si617717wrc.1.2017.10.17.12.23.31 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 17 Oct 2017 12:23:31 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of asmirnov@ilbers.de designates 85.214.62.211 as permitted sender) client-ip=85.214.62.211; Authentication-Results: gmr-mx.google.com; spf=pass (google.com: best guess record for domain of asmirnov@ilbers.de designates 85.214.62.211 as permitted sender) smtp.mailfrom=asmirnov@ilbers.de Received: from localhost.localdomain ([188.227.110.165]) (authenticated bits=0) by aqmola.ilbers.de (8.14.4/8.14.4/Debian-4+deb7u1) with ESMTP id v9HJNEnX014089 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 17 Oct 2017 21:23:22 +0200 From: Alexander Smirnov To: isar-users@googlegroups.com Cc: Alexander Smirnov , Frank Lenormand Subject: [URGENT][PATCH v2 2/2] meta-isar: Rework boot files copying Date: Tue, 17 Oct 2017 22:23:08 +0300 Message-Id: <20171017192308.3802-3-asmirnov@ilbers.de> X-Mailer: git-send-email 2.9.4 In-Reply-To: <20171017192308.3802-1-asmirnov@ilbers.de> References: <20171017192308.3802-1-asmirnov@ilbers.de> X-TUID: 9FQE3gQf4inI Currently there are two variables that contains hardcoded filenames with versions for kernel and initrd images. Isar uses them to copy these files to deploy directory. Moreover this is performed in ext4 class, what is logically wrong. This patch implements a new way which doesn't rely on hardcoded versioned filenames. Also it drops this copying from ext4 class. Signed-off-by: Frank Lenormand Signed-off-by: Alexander Smirnov --- meta-isar/conf/multiconfig/qemuamd64-jessie.conf | 3 --- meta-isar/conf/multiconfig/qemuamd64-stretch.conf | 3 --- meta-isar/conf/multiconfig/qemuarm-jessie.conf | 3 --- meta-isar/conf/multiconfig/qemuarm-stretch.conf | 3 --- meta-isar/conf/multiconfig/qemuarm-wheezy.conf | 3 --- meta-isar/conf/multiconfig/qemui386-jessie.conf | 3 --- meta-isar/conf/multiconfig/qemui386-stretch.conf | 3 --- meta-isar/conf/multiconfig/rpi-jessie.conf | 3 --- meta/classes/ext4-img.bbclass | 8 -------- meta/classes/image.bbclass | 24 ++++++++++++++++++++--- scripts/start_vm | 8 ++++++-- 11 files changed, 27 insertions(+), 37 deletions(-) diff --git a/meta-isar/conf/multiconfig/qemuamd64-jessie.conf b/meta-isar/conf/multiconfig/qemuamd64-jessie.conf index d9473f3..51d39b6 100644 --- a/meta-isar/conf/multiconfig/qemuamd64-jessie.conf +++ b/meta-isar/conf/multiconfig/qemuamd64-jessie.conf @@ -8,9 +8,6 @@ DISTRO_ARCH ?= "amd64" IMAGE_PREINSTALL += "linux-image-amd64" -KERNEL_IMAGE ?= "vmlinuz-3.16.0-4-amd64" -INITRD_IMAGE ?= "initrd.img-3.16.0-4-amd64" - ROOTFS_DEV ?= "sda" QEMU_ARCH ?= "x86_64" diff --git a/meta-isar/conf/multiconfig/qemuamd64-stretch.conf b/meta-isar/conf/multiconfig/qemuamd64-stretch.conf index 5ac25d9..c59876a 100644 --- a/meta-isar/conf/multiconfig/qemuamd64-stretch.conf +++ b/meta-isar/conf/multiconfig/qemuamd64-stretch.conf @@ -11,9 +11,6 @@ IMAGE_PREINSTALL += " \ linux-image-amd64 \ " -KERNEL_IMAGE ?= "vmlinuz-4.9.0-4-amd64" -INITRD_IMAGE ?= "initrd.img-4.9.0-4-amd64" - ROOTFS_DEV ?= "sda" QEMU_ARCH ?= "x86_64" diff --git a/meta-isar/conf/multiconfig/qemuarm-jessie.conf b/meta-isar/conf/multiconfig/qemuarm-jessie.conf index 3dd33f2..ed84c6c 100644 --- a/meta-isar/conf/multiconfig/qemuarm-jessie.conf +++ b/meta-isar/conf/multiconfig/qemuarm-jessie.conf @@ -15,9 +15,6 @@ DISTRO_ARCH ?= "armhf" IMAGE_PREINSTALL += "linux-image-armmp" -KERNEL_IMAGE ?= "vmlinuz-3.16.0-4-armmp" -INITRD_IMAGE ?= "initrd.img-3.16.0-4-armmp" - ROOTFS_DEV ?= "vda" QEMU_ARCH ?= "arm" diff --git a/meta-isar/conf/multiconfig/qemuarm-stretch.conf b/meta-isar/conf/multiconfig/qemuarm-stretch.conf index f3636f6..1cce97a 100644 --- a/meta-isar/conf/multiconfig/qemuarm-stretch.conf +++ b/meta-isar/conf/multiconfig/qemuarm-stretch.conf @@ -11,9 +11,6 @@ IMAGE_PREINSTALL += " \ linux-image-armmp \ " -KERNEL_IMAGE ?= "vmlinuz-4.9.0-4-armmp" -INITRD_IMAGE ?= "initrd.img-4.9.0-4-armmp" - ROOTFS_DEV ?= "vda" QEMU_ARCH ?= "arm" diff --git a/meta-isar/conf/multiconfig/qemuarm-wheezy.conf b/meta-isar/conf/multiconfig/qemuarm-wheezy.conf index 3a23692..38ea191 100644 --- a/meta-isar/conf/multiconfig/qemuarm-wheezy.conf +++ b/meta-isar/conf/multiconfig/qemuarm-wheezy.conf @@ -15,9 +15,6 @@ DISTRO_ARCH ?= "armhf" IMAGE_PREINSTALL += "linux-image-vexpress" -KERNEL_IMAGE ?= "vmlinuz-3.2.0-4-vexpress" -INITRD_IMAGE ?= "initrd.img-3.2.0-4-vexpress" - ROOTFS_DEV ?= "mmcblk0" QEMU_ARCH ?= "arm" diff --git a/meta-isar/conf/multiconfig/qemui386-jessie.conf b/meta-isar/conf/multiconfig/qemui386-jessie.conf index 55cb172..d589661 100644 --- a/meta-isar/conf/multiconfig/qemui386-jessie.conf +++ b/meta-isar/conf/multiconfig/qemui386-jessie.conf @@ -8,9 +8,6 @@ DISTRO_ARCH ?= "i386" IMAGE_PREINSTALL += "linux-image-686-pae" -KERNEL_IMAGE ?= "vmlinuz-3.16.0-4-686-pae" -INITRD_IMAGE ?= "initrd.img-3.16.0-4-686-pae" - ROOTFS_DEV ?= "sda" QEMU_ARCH ?= "i386" diff --git a/meta-isar/conf/multiconfig/qemui386-stretch.conf b/meta-isar/conf/multiconfig/qemui386-stretch.conf index c0285b4..40239e4 100644 --- a/meta-isar/conf/multiconfig/qemui386-stretch.conf +++ b/meta-isar/conf/multiconfig/qemui386-stretch.conf @@ -11,9 +11,6 @@ IMAGE_PREINSTALL += " \ linux-image-686-pae \ " -KERNEL_IMAGE ?= "vmlinuz-4.9.0-4-686-pae" -INITRD_IMAGE ?= "initrd.img-4.9.0-4-686-pae" - ROOTFS_DEV ?= "sda" QEMU_ARCH ?= "i386" diff --git a/meta-isar/conf/multiconfig/rpi-jessie.conf b/meta-isar/conf/multiconfig/rpi-jessie.conf index 82b38d2..d1dd9d9 100644 --- a/meta-isar/conf/multiconfig/rpi-jessie.conf +++ b/meta-isar/conf/multiconfig/rpi-jessie.conf @@ -31,7 +31,4 @@ IMAGE_PREINSTALL += " \ vim \ " -KERNEL_IMAGE ?= "vmlinuz-4.9.0-3-rpi" -INITRD_IMAGE ?= "initrd.img-4.9.0-3-rpi" - ROOTFS_DEV ?= "mmcblk0p2" diff --git a/meta/classes/ext4-img.bbclass b/meta/classes/ext4-img.bbclass index 9fa9aa5..277f3f3 100644 --- a/meta/classes/ext4-img.bbclass +++ b/meta/classes/ext4-img.bbclass @@ -24,14 +24,6 @@ do_ext4_image() { sudo cp -r ${IMAGE_ROOTFS}/* ${WORKDIR}/mnt sudo umount ${WORKDIR}/mnt rm -r ${WORKDIR}/mnt - - if [ -n "${KERNEL_IMAGE}" ]; then - cp ${IMAGE_ROOTFS}/boot/${KERNEL_IMAGE} ${DEPLOY_DIR_IMAGE} - fi - - if [ -n "${INITRD_IMAGE}" ]; then - cp ${IMAGE_ROOTFS}/boot/${INITRD_IMAGE} ${DEPLOY_DIR_IMAGE} - fi } addtask ext4_image before do_build after do_rootfs diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass index 9ef8bee..85c2f53 100644 --- a/meta/classes/image.bbclass +++ b/meta/classes/image.bbclass @@ -1,9 +1,6 @@ # This software is a part of ISAR. # Copyright (C) 2015-2017 ilbers GmbH -KERNEL_IMAGE ?= "" -INITRD_IMAGE ?= "" - IMAGE_INSTALL ?= "" IMAGE_TYPE ?= "ext4-img" IMAGE_ROOTFS = "${WORKDIR}/rootfs" @@ -76,3 +73,24 @@ do_populate() { addtask populate before do_build do_populate[deptask] = "do_deploy_deb" + +do_copy_boot_files() { + if [ -z "${KERNEL_IMAGE}" ] && [ -h "${IMAGE_ROOTFS}/vmlinuz" ]; then + KERNEL_IMAGE=$(readlink ${IMAGE_ROOTFS}/vmlinuz) + fi + + if [ -n "${KERNEL_IMAGE}" ]; then + cp ${IMAGE_ROOTFS}/${KERNEL_IMAGE} ${DEPLOY_DIR_IMAGE} + fi + + if [ -z "${INITRD_IMAGE}" ] && [ -h "${IMAGE_ROOTFS}/initrd.img" ]; then + INITRD_IMAGE=$(readlink ${IMAGE_ROOTFS}/initrd.img) + fi + + if [ -n "${INITRD_IMAGE}" ]; then + cp ${IMAGE_ROOTFS}/${INITRD_IMAGE} ${DEPLOY_DIR_IMAGE} + fi +} + +addtask copy_boot_files before do_build after do_rootfs +do_copy_boot_files[stamp-extra-info] = "${DISTRO}-${MACHINE}" diff --git a/scripts/start_vm b/scripts/start_vm index 400484a..c8605b0 100755 --- a/scripts/start_vm +++ b/scripts/start_vm @@ -114,6 +114,11 @@ do done readonly IMAGE_DIR=$BUILD_DIR/tmp/deploy/images +readonly ROOTFS_IMAGE=isar-image-base-debian-$DISTRO-qemu$ARCH.ext4.img + +eval $(bitbake -e multiconfig:qemu$ARCH-jessie:isar-image-base | grep WORKDIR=) +readonly KERNEL_IMAGE=$(basename $(readlink $WORKDIR/rootfs/vmlinuz)) +readonly INITRD_IMAGE=$(basename $(readlink $WORKDIR/rootfs/initrd.img)) readonly ISARROOT="$(dirname "$0")"/.. @@ -121,8 +126,7 @@ readonly MACHINE_CONF=$ISARROOT/meta-isar/conf/machine/qemu$ARCH.conf eval "$(egrep 'MACHINE_SERIAL' $MACHINE_CONF |bb2sh)" readonly CONFIG_CONF=$ISARROOT/meta-isar/conf/multiconfig/qemu$ARCH-$DISTRO.conf -eval "$(egrep '(KERNEL|INITRD)_IMAGE|ROOTFS_DEV|QEMU_' $CONFIG_CONF |bb2sh)" -readonly ROOTFS_IMAGE=isar-image-base-debian-$DISTRO-qemu$ARCH.ext4.img +eval "$(egrep 'ROOTFS_DEV|QEMU_' $CONFIG_CONF |bb2sh)" QCPU= [ -n "$QEMU_CPU" ] && QCPU="-cpu $QEMU_CPU" -- 2.9.4