From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 6566555412143800320 X-Received: by 2002:a1c:7a10:: with SMTP id v16-v6mr284816wmc.23.1528991752968; Thu, 14 Jun 2018 08:55:52 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a1c:82d4:: with SMTP id e203-v6ls1837608wmd.12.gmail; Thu, 14 Jun 2018 08:55:52 -0700 (PDT) X-Google-Smtp-Source: ADUXVKLjs1HPssOSAD4nOTMHrvG7+rxs1R3k5ZbtnGda3tTM+VRrpQlud+Xw/OL3zCNAYemkhzl6 X-Received: by 2002:a1c:8bca:: with SMTP id n193-v6mr303492wmd.11.1528991752380; Thu, 14 Jun 2018 08:55:52 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1528991752; cv=none; d=google.com; s=arc-20160816; b=Qdwtj2RP1QynDmeW1iWDckvCkRM0yRSG/0JFk+8esYsJ+b7VeU/AKKzY+6G898rMSY vR+azMh/Ju7avDDmmYKggcBzbaz+shUKuiW9Vhc8DFWVakcfOxjI2U14wzafQQGOaZKD AwJWd5xm9uVyi0jVreXs88Yn+2nqTtO5ICvAKXlLiTu+iZJ8wgj8BS/RP2GIAdmBtwLr bu6ZGqJNNdgMuQ1HmMJnssh/OX4GbwG3DviQJKl0B2dOolJZFz+IFrOaPsvwnCo8jJPZ fHi7WlOagUDCZxOCSlsO8R+CjmzlAhKXISVDxmMrnjZHn+GKXrjFmUSjKJqc8X+GrGbk ZBnQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:content-language:in-reply-to:mime-version :user-agent:date:message-id:from:references:to:subject :arc-authentication-results; bh=fQICEop6kpXzrivMGsNtTtAm4J7iS+opcC8LANveZ6Q=; b=Q5pO4fxarBPss6kp1PKwXXXQmpuTPYC990D7gvim8LshCIwo8cnp0B3eMmHsXPTGN+ 9M8Tyi0wLRKj0KIbHeSgIkUdmQJZIaITsA1vlSp/QSp21Qjat8qAP8nmqlCbIYgPSdTe RcpAaQNG7ZyVRz/1UnEf4mmpCydk2OEZxkUFO+rlkxU7Z7xoZAMZ6PtNMb718bj+Ggd7 YrQzExsnB4dvgnxWyZWFmbwCrXwnmTaRPP9ezgi8ofGvthj2E9Bzn3lfS1EFVi2G1k20 xnfl/ZJGLJv+e/2BRQCt2z7E/7gU+//MTqEx/IB/ogiInqOwHvH0rZ2fkWrXVzhJB3TG 0gFA== ARC-Authentication-Results: i=1; gmr-mx.google.com; spf=pass (google.com: domain of jan.kiszka@siemens.com designates 192.35.17.14 as permitted sender) smtp.mailfrom=jan.kiszka@siemens.com Return-Path: Received: from david.siemens.de (david.siemens.de. [192.35.17.14]) by gmr-mx.google.com with ESMTPS id c18-v6si175280wrq.5.2018.06.14.08.55.52 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 14 Jun 2018 08:55:52 -0700 (PDT) Received-SPF: pass (google.com: domain of jan.kiszka@siemens.com designates 192.35.17.14 as permitted sender) client-ip=192.35.17.14; Authentication-Results: gmr-mx.google.com; spf=pass (google.com: domain of jan.kiszka@siemens.com designates 192.35.17.14 as permitted sender) smtp.mailfrom=jan.kiszka@siemens.com Received: from mail1.siemens.de (mail1.siemens.de [139.23.33.14]) by david.siemens.de (8.15.2/8.15.2) with ESMTPS id w5EFtpJT028706 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 14 Jun 2018 17:55:52 +0200 Received: from [167.87.33.146] ([167.87.33.146]) by mail1.siemens.de (8.15.2/8.15.2) with ESMTP id w5EFtmY2020852; Thu, 14 Jun 2018 17:55:49 +0200 Subject: Re: [PATCH 5/9] buildchroot-cross: Initial implementation To: Alexander Smirnov , isar-users@googlegroups.com References: <20180613130807.2461-1-asmirnov@ilbers.de> <20180613130807.2461-6-asmirnov@ilbers.de> From: Jan Kiszka Message-ID: <0789d066-e475-e68c-41aa-e68d0e2ecbb4@siemens.com> Date: Thu, 14 Jun 2018 17:55:48 +0200 User-Agent: Mozilla/5.0 (X11; U; Linux i686 (x86_64); de; rv:1.8.1.12) Gecko/20080226 SUSE/2.0.0.12-1.1 Thunderbird/2.0.0.12 Mnenhy/0.7.5.666 MIME-Version: 1.0 In-Reply-To: <20180613130807.2461-6-asmirnov@ilbers.de> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit X-TUID: PARqgaom8eU9 On 2018-06-13 15:08, Alexander Smirnov wrote: > Add initial generation of buildchroot for cross-compilation. > > Signed-off-by: Alexander Smirnov > --- > meta/conf/isar-bitbake.conf | 1 + > .../buildchroot/buildchroot-cross.bb | 53 ++++++++++++++++++++++ > .../buildchroot/files/build-cross.sh | 29 ++++++++++++ > 3 files changed, 83 insertions(+) > create mode 100644 meta/recipes-devtools/buildchroot/buildchroot-cross.bb > create mode 100644 meta/recipes-devtools/buildchroot/files/build-cross.sh > > diff --git a/meta/conf/isar-bitbake.conf b/meta/conf/isar-bitbake.conf > index ead7798..1412508 100644 > --- a/meta/conf/isar-bitbake.conf > +++ b/meta/conf/isar-bitbake.conf > @@ -22,6 +22,7 @@ WORKDIR = "${TMPDIR}/work/${DISTRO}-${DISTRO_ARCH}/${PF}" > DL_DIR = "${TOPDIR}/downloads" > SSTATE_DIR ?= "${TMPDIR}/sstate-cache" > BUILDCHROOT_DIR = "${TMPDIR}/work/${DISTRO}-${DISTRO_ARCH}/buildchroot/rootfs" > +BUILDCHROOT_CROSS_DIR = "${TMPDIR}/work/${DISTRO}-${DISTRO_ARCH}/buildchroot-cross/rootfs" > CACHE = "${TMPDIR}/cache" > > OVERRIDES_append = ":${DISTRO}:${DISTRO_ARCH}" > diff --git a/meta/recipes-devtools/buildchroot/buildchroot-cross.bb b/meta/recipes-devtools/buildchroot/buildchroot-cross.bb > new file mode 100644 > index 0000000..935a626 > --- /dev/null > +++ b/meta/recipes-devtools/buildchroot/buildchroot-cross.bb > @@ -0,0 +1,53 @@ > +# Root filesystem for packages cross-building > +# > +# This software is a part of ISAR. > +# Copyright (C) 2015-2016 ilbers GmbH > + > +DESCRIPTION = "Isar development cross-filesystem" > + > +LICENSE = "gpl-2.0" > +LIC_FILES_CHKSUM = "file://${LAYERDIR_isar}/licenses/COPYING.GPLv2;md5=751419260aa954499f7abaabaa882bbe" > + > +FILESPATH_prepend := "${THISDIR}/files:" > +SRC_URI = "file://configscript.sh \ > + file://build-cross.sh" > +PV = "1.0" > + > +inherit isar-bootstrap-helper > + > +BUILDCHROOT_CROSS_PREINSTALL ?= "gcc-multilib \ > + make \ > + build-essential \ > + debhelper \ > + autotools-dev \ > + dpkg \ > + locales \ > + docbook-to-man \ > + apt \ > + automake \ > + devscripts \ > + equivs" > + > +# TODO: make this inclusion depending on the target arch > +BUILDCHROOT_CROSS_PREINSTALL += "binutils" > + > +WORKDIR = "${TMPDIR}/work/${DISTRO}-${DISTRO_ARCH}/${PN}" > + > +do_build[stamp-extra-info] = "${DISTRO}-${DISTRO_ARCH}" > +do_build[root_cleandirs] = "${BUILDCHROOT_CROSS_DIR} \ > + ${BUILDCHROOT_CROSS_DIR}/isar-apt \ > + ${BUILDCHROOT_CROSS_DIR}/downloads \ > + ${BUILDCHROOT_CROSS_DIR}/home/builder" > +do_build[depends] = "isar-apt:do_cache_config isar-bootstrap-host:do_deploy" > + > +do_build() { > + setup_root_file_system --host-arch "${BUILDCHROOT_CROSS_DIR}" ${BUILDCHROOT_CROSS_PREINSTALL} > + > + # Install package builder script > + sudo chmod -R a+rw "${BUILDCHROOT_CROSS_DIR}/home/builder" > + sudo install -m 755 ${WORKDIR}/build-cross.sh ${BUILDCHROOT_CROSS_DIR}/build.sh > + > + # Configure root filesystem > + sudo install -m 755 ${WORKDIR}/configscript.sh ${BUILDCHROOT_CROSS_DIR} > + sudo chroot ${BUILDCHROOT_CROSS_DIR} /configscript.sh > +} > diff --git a/meta/recipes-devtools/buildchroot/files/build-cross.sh b/meta/recipes-devtools/buildchroot/files/build-cross.sh > new file mode 100644 > index 0000000..8c3ddaf > --- /dev/null > +++ b/meta/recipes-devtools/buildchroot/files/build-cross.sh > @@ -0,0 +1,29 @@ > +#!/bin/bash > +# > +# This software is a part of ISAR. > +# Copyright (C) 2015-2017 ilbers GmbH > +# Copyright (c) 2018 Siemens AG > + > +set -e > + > +# Go to build directory > +cd $1 > + > +# Add target architecture > +dpkg --add-architecture $2 > + > +# To avoid Perl locale warnings: > +export LC_ALL=C > +export LANG=C > +export LANGUAGE=C > + > +# If autotools files have been created, update their timestamp to > +# prevent them from being regenerated > +for i in configure aclocal.m4 Makefile.am Makefile.in; do > + if [ -f "${i}" ]; then > + touch "${i}" > + fi > +done > + > +# Build the package > +dpkg-buildpackage -a$2 > This build-cross.sh doesn't install any of the build dependencies the target package lists. How do they come in? Or is this a limitation of this version? For the kernel cross-build, I'm currently trying to translate the what is needed for a corresponding build-kernel-cross.sh. Those packages would go into the cross-buildchroot, or are we also using the native buildchroot here? Jan -- Siemens AG, Corporate Technology, CT RDA IOT SES-DE Corporate Competence Center Embedded Linux