From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 6449326914083487744 X-Received: by 10.25.125.67 with SMTP id y64mr1927185lfc.42.1501600936460; Tue, 01 Aug 2017 08:22:16 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com Received: by 10.25.151.142 with SMTP id z136ls263960lfd.14.gmail; Tue, 01 Aug 2017 08:22:15 -0700 (PDT) X-Received: by 10.46.70.1 with SMTP id t1mr1884038lja.16.1501600935874; Tue, 01 Aug 2017 08:22:15 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1501600935; cv=none; d=google.com; s=arc-20160816; b=YiI1fjZyD0c/jEXK/BX/CgCijxodG5UI4g7FfqqfDa7RXSETwn1L/OY8w18qr9WSYM 8kRgwALautMVoN96xzwciwEKQX3KqHmNCPxPvPyHDdK+93tdhKqyOWKn/8OBMF3K5Mi/ iZz+SsMa4UskgmNS5ywygZf2GbO4hpLf33/8lGzxCew17nIePr8GRVYvlJKwGkoF6GII 6ELTJ/s4UP0zKet9h9hdgEWLtthmxc3VxnuHOX8f7v/I8BTZ31azTclgcjlmRC/7GW2g ze+bPpaRvENZF8+QIo2GQxreqjQ5SoJCFrb0xn7NyF1UG84s9uDMnqETo6xSmgqdS8Go EQbQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=references:in-reply-to:references:in-reply-to:message-id:date :subject:cc:to:from:arc-authentication-results; bh=lBbNbs1euuXF55FSKKpkQIciMJAziEl7gVT7ywugmo8=; b=rOUplEJhfXFPGcvT4+WWhpJ+gBDphK0/DCIlZ+xF1hglK35J9ZxzC3KUtCFMRsCi+q DLmZlZiUH+T7104WPbK0jvDG33B0Wh4SG/dZ9JV+J9FdU4LoKjsTV3bV3DC7UVl0UuLo 6w2rwBsUfvTKn85i75OV53Fe4thv9+axrKH/9c7WAN0TCagl1eBSzAFJrsCnPMwwSmdc vu9UC1rhS/G/fEp0xTovgg123Ev1AYY12cScs665nnbbqmb8vlHUAw2Gr9bA5TJGRfFI 5dZS9r7GySzk4VJAHFFm9V9JyQXqbYbVpArLlCblXTcQs+jbhfQkKBVyRYkePBomzYQC F/wg== ARC-Authentication-Results: i=1; gmr-mx.google.com; spf=neutral (google.com: 192.35.17.28 is neither permitted nor denied by best guess record for domain of henning.schild@siemens.com) smtp.mailfrom=henning.schild@siemens.com Return-Path: Received: from goliath.siemens.de (goliath.siemens.de. [192.35.17.28]) by gmr-mx.google.com with ESMTPS id v142si126010wmv.8.2017.08.01.08.22.15 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 01 Aug 2017 08:22:15 -0700 (PDT) Received-SPF: neutral (google.com: 192.35.17.28 is neither permitted nor denied by best guess record for domain of henning.schild@siemens.com) client-ip=192.35.17.28; Authentication-Results: gmr-mx.google.com; spf=neutral (google.com: 192.35.17.28 is neither permitted nor denied by best guess record for domain of henning.schild@siemens.com) smtp.mailfrom=henning.schild@siemens.com Received: from mail3.siemens.de (mail3.siemens.de [139.25.208.14]) by goliath.siemens.de (8.15.2/8.15.2) with ESMTPS id v71FMFps006394 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Tue, 1 Aug 2017 17:22:15 +0200 Received: from md1em3qc.ww002.siemens.net ([139.25.68.40]) by mail3.siemens.de (8.15.2/8.15.2) with ESMTP id v71FMFDx017501; Tue, 1 Aug 2017 17:22:15 +0200 From: Henning Schild To: isar-users@googlegroups.com Cc: Henning Schild Subject: [PATCH 2/3] classes: move rootfs into image class and split into tasks Date: Tue, 1 Aug 2017 17:24:07 +0200 Message-Id: X-Mailer: git-send-email 2.13.0 In-Reply-To: References: In-Reply-To: References: X-TUID: vPEyJPjLIqbR Signed-off-by: Henning Schild --- meta-isar/recipes-core/images/isar-image-base.bb | 39 ---------------- meta/classes/image.bbclass | 58 +++++++++++++++++++++++- 2 files changed, 56 insertions(+), 41 deletions(-) diff --git a/meta-isar/recipes-core/images/isar-image-base.bb b/meta-isar/recipes-core/images/isar-image-base.bb index 25682ed..5de30ac 100644 --- a/meta-isar/recipes-core/images/isar-image-base.bb +++ b/meta-isar/recipes-core/images/isar-image-base.bb @@ -18,42 +18,3 @@ DEPENDS += "${IMAGE_INSTALL}" IMAGE_PREINSTALL += "apt \ dbus" - -WORKDIR = "${TMPDIR}/work/${PN}/${MACHINE}" -S = "${WORKDIR}/rootfs" -IMAGE_ROOTFS = "${S}" - -do_rootfs[stamp-extra-info] = "${MACHINE}" - -do_rootfs() { - install -d -m 755 ${WORKDIR}/hooks_multistrap - - # Copy config file - install -m 644 ${FILESDIR}/multistrap.conf.in ${WORKDIR}/multistrap.conf - install -m 755 ${FILESDIR}/${DISTRO_CONFIG_SCRIPT} ${WORKDIR}/configscript.sh - install -m 755 ${FILESDIR}/setup.sh ${WORKDIR} - install -m 755 ${FILESDIR}/download_dev-random ${WORKDIR}/hooks_multistrap/ - - # Adjust multistrap config - sed -i 's|##IMAGE_PREINSTALL##|${IMAGE_PREINSTALL}|' ${WORKDIR}/multistrap.conf - sed -i 's|##DISTRO##|${DISTRO}|' ${WORKDIR}/multistrap.conf - sed -i 's|##DISTRO_APT_SOURCE##|${DISTRO_APT_SOURCE}|' ${WORKDIR}/multistrap.conf - sed -i 's|##DISTRO_SUITE##|${DISTRO_SUITE}|' ${WORKDIR}/multistrap.conf - sed -i 's|##DISTRO_COMPONENTS##|${DISTRO_COMPONENTS}|' ${WORKDIR}/multistrap.conf - sed -i 's|##CONFIG_SCRIPT##|./tmp/work/${PN}/${MACHINE}/configscript.sh|' ${WORKDIR}/multistrap.conf - sed -i 's|##SETUP_SCRIPT##|./tmp/work/${PN}/${MACHINE}/setup.sh|' ${WORKDIR}/multistrap.conf - sed -i 's|##DIR_HOOKS##|./tmp/work/${PN}/${MACHINE}/hooks_multistrap|' ${WORKDIR}/multistrap.conf - - # Multistrap config use relative paths, so ensure that we are in the right folder - cd ${TOPDIR} - - # Create root filesystem - sudo multistrap -a ${DISTRO_ARCH} -d "${S}" -f "${WORKDIR}/multistrap.conf" || true - - # Configure root filesystem - sudo chroot ${S} /configscript.sh ${MACHINE_SERIAL} ${BAUDRATE_TTY} \ - ${ROOTFS_DEV} - sudo rm ${S}/configscript.sh -} - -addtask rootfs before do_populate diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass index 3faa609..ab3d1ff 100644 --- a/meta/classes/image.bbclass +++ b/meta/classes/image.bbclass @@ -6,7 +6,60 @@ INITRD_IMAGE ?= "" IMAGE_INSTALL ?= "" -do_populate[stamp-extra-info] = "${MACHINE}" +WORKDIR = "${TMPDIR}/work/${PN}/${MACHINE}" +S = "${WORKDIR}/rootfs" + +do_multistrap_conf() { + # Copy config file + install -m 644 ${FILESDIR}/multistrap.conf.in ${WORKDIR}/multistrap.conf + install -m 755 ${FILESDIR}/${DISTRO_CONFIG_SCRIPT} \ + ${WORKDIR}/configscript.sh + install -m 755 ${FILESDIR}/setup.sh ${WORKDIR} + install -m 755 ${FILESDIR}/download_dev-random \ + ${WORKDIR}/hooks_multistrap/ + + # Adjust multistrap config + sed -i 's|##IMAGE_PREINSTALL##|${IMAGE_PREINSTALL}|' \ + ${WORKDIR}/multistrap.conf + sed -i 's|##DISTRO##|${DISTRO}|' ${WORKDIR}/multistrap.conf + sed -i 's|##DISTRO_APT_SOURCE##|${DISTRO_APT_SOURCE}|' \ + ${WORKDIR}/multistrap.conf + sed -i 's|##DISTRO_SUITE##|${DISTRO_SUITE}|' ${WORKDIR}/multistrap.conf + sed -i 's|##DISTRO_COMPONENTS##|${DISTRO_COMPONENTS}|' \ + ${WORKDIR}/multistrap.conf + sed -i 's|##CONFIG_SCRIPT##|./tmp/work/${PN}/${MACHINE}/configscript.sh|' \ + ${WORKDIR}/multistrap.conf + sed -i 's|##SETUP_SCRIPT##|./tmp/work/${PN}/${MACHINE}/setup.sh|' \ + ${WORKDIR}/multistrap.conf + sed -i 's|##DIR_HOOKS##|./tmp/work/${PN}/${MACHINE}/hooks_multistrap|' \ + ${WORKDIR}/multistrap.conf +} + +addtask multistrap_conf before do_build +do_multistrap_conf[stamp-extra-info] = "${MACHINE}" +do_multistrap_conf[dirs] = "${WORKDIR}/hooks_multistrap" + +do_multistrap() { + cd ${TOPDIR} + + # Create root filesystem + sudo multistrap -a ${DISTRO_ARCH} -d "${S}" -f \ + "${WORKDIR}/multistrap.conf" || true +} + +addtask multistrap after do_multistrap_conf before do_build +do_multistrap[stamp-extra-info] = "${MACHINE}" + +do_configure() { + cd ${TOPDIR} + # Configure root filesystem + sudo chroot ${S} /configscript.sh ${MACHINE_SERIAL} \ + ${BAUDRATE_TTY} ${ROOTFS_DEV} + sudo rm ${S}/configscript.sh +} + +addtask configure after do_multistrap before do_build +do_configure[stamp-extra-info] = "${MACHINE}" # Install Debian packages, that were built from sources do_populate() { @@ -23,5 +76,6 @@ do_populate() { fi } -addtask populate before do_build +addtask populate after do_configure before do_build do_populate[deptask] = "do_build" +do_populate[stamp-extra-info] = "${MACHINE}" -- 2.13.0