From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 6579174846558633984 X-Received: by 2002:a2e:83cf:: with SMTP id s15-v6mr484957ljh.28.1531939972333; Wed, 18 Jul 2018 11:52:52 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a19:7416:: with SMTP id v22-v6ls500393lfe.3.gmail; Wed, 18 Jul 2018 11:52:51 -0700 (PDT) X-Google-Smtp-Source: AAOMgpcoMlF9iyuq/HjdmnVVthdlxDn5QhSSWkf0a6MXE/998k2q1QW7WwZQm5XJ5KPcQxS4ILIG X-Received: by 2002:a19:750d:: with SMTP id y13-v6mr385566lfe.34.1531939971596; Wed, 18 Jul 2018 11:52:51 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1531939971; cv=none; d=google.com; s=arc-20160816; b=JgKBuu7AsArT+kAuuG7XD3CWDCMvpYZRLTFoIvNBLpzd//ql0P5i5+iEudtx40vEeD OQlIDnHTUKxTcnmSOHAdHiqEwNZFgvgUFt/GpmLrkJMVzaAs3uSW70WkBOLLUEKO7UjK sekCjn4TX5z18SGHvLdTCZR9eVBrEtBiuLUeDN4aFdA09VzhItke80TElu6ZSKcTfGE7 T/sfyQqMd2dGDagrL+KM6g3parLaOnRYmv14Byrh40WLxEdcm+5kkcAD6ihBqTofqciP CSFt5Rndv6GhyuPGiB88vUiZ7jPDehLHbc7XJ6IAgHrEn/odZRCJdSRT1b8nhasdXdH2 IFpA== 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=JjUCM+LsgeK8MwyQP4mnCktu5UBS3qt2deqrd5bM5ws=; b=bFKdfj//AakYNBVpkW54HGpUqoPeIZ9e8u40HpNfeuGK+Mp3AK37wjMRuXEjr01PCZ JRyC2Ji0FFzQSabm8i80ukwBxryWaucMtN6NjNDc38oj/VhH1vdTYDHXmj3NnRSNTF6r aWgn+7NvEy5GT2/nN7cbCtA8DLOQw7fsLkoBzcBdRcRZqe7Sey/AvdT7BsBIALU+zltG pHJTawmzq6g0Affre62YsOGYM1vNxZr4VbVzo19ODzGKZfVdyYAuMjMjf3eQbP9V0HoI pXdpMSOzTjrNhEJakswihJVoWB44aFglD67esEuxl6zFe+5ADr0+HUbSNXR21d+nJDJ2 TP6A== 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 z74-v6si142967lff.3.2018.07.18.11.52.51 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 18 Jul 2018 11:52:51 -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 [10.0.2.15] ([188.227.110.165]) (authenticated bits=0) by aqmola.ilbers.de (8.14.4/8.14.4/Debian-4+deb7u1) with ESMTP id w6IIqlux029479 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NOT); Wed, 18 Jul 2018 20:52:48 +0200 Subject: Re: [PATCH v3 0/7] Isar cross-compilation support To: Jan Kiszka , isar-users@googlegroups.com References: <20180717131811.14239-1-asmirnov@ilbers.de> <5c45490f-9dce-b43a-14b3-8347931c40ef@siemens.com> <507beff8-3503-22a9-c3f6-0a01f3f7a132@ilbers.de> <1ed1ad84-acaf-1aa9-0ac7-f2f1353670ab@siemens.com> <164aa001af8.27ac.034a6b0541ed39b7fb4e17f4ac219eaa@ilbers.de> From: Alexander Smirnov Message-ID: <09de613b-ba4c-21fb-d675-421c27b9bab6@ilbers.de> Date: Wed, 18 Jul 2018 21:52:42 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.4.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 8bit X-TUID: inv98gBaVjEy On 07/18/2018 10:06 AM, Jan Kiszka wrote: > On 2018-07-17 22:48, Alexander Smirnov wrote: >> >> Jan Kiszka 17 июля 2018 г. 22:45:11 написал: >> >>> On 2018-07-17 17:41, Alexander Smirnov wrote: >>>> >>>> >>>> On 07/17/2018 04:38 PM, Jan Kiszka wrote: >>>>> On 2018-07-17 15:18, Alexander Smirnov wrote: >>>>>> Hi everybody, >>>>>> >>>>>> sorry for the delay, this is the third version of cross-compilation >>>>>> support for Isar. >>>>> >>>>> Thanks for the update! >>>>> >>>>>> Supported targets for cross-compilation: >>>>>>  - stretch armhf >>>>>>  - stretch amd64 >>>>>> >>>>>> Artifacts could be cross-compiled: >>>>>>  - dpkg.bbclass users >>>>>>  - dpkg-raw.bbclass users >>>>>>  - kernel >>>>>> >>>>>> Known issues: >>>>>>  - if target and host architectures are the same, there is no need >>>>>>    to use host buildchroot. >>>>>>  - kernel module doesn't support cross-compilation. Default >>>>>> linux-headers >>>>>>    package depends from target gcc binaries. So attempt to install, >>>>>> for >>>>>>    example linux-headers-armmp, tries to install gcc:armhf, what rises >>>>>>    conflict with the host tools. >>>>> >>>>> Could you imagine overriding such specialties with extra rules, even if >>>>> package specific? Not having kernel module in the cross compilation >>>>> chain main cause troubles (or does it work fine to cross-build the >>>>> kernel and then natively build the modules?). >>>> >>>> What I'd like to try: >>>> 1. Add ARM defconfig for linux-cip >>>> 2. Try to build example module for linux-cip for armhf >>>> >>>> Regarding overriding default Debian kernel, ATM I don't see any >>>> possibilities. Just as an exercise - I tried to install >>>> linux-headers-armmp: >>>> >>>> $ sudo dpkg --add-architecture armhf >>>> $ sudo apt-get update >>>> $ sudo apt-get install linux-headers-armmp >>>> >>>> No chances here, this package pulls lots of armhf binaries that conflict >>>> with the host ones. The only way I see now is to manually fetch and >>>> unpack this package. But it's an ugly hack IMHO :-( >>> >>> But maybe we can resolve that issue for self-built kernel by providing >>> also a compatible headers package? >> >> >> I need to investigate this topic in more details. >> >>> >>> >>>> >>>> Regarding hybrid mode (apps and kernel are compiled cross, modules are >>>> compiled natively) - this works. You could check this by trying >>>> cross-build for qemuarm-stretch, for example. >>> >>> I suppose to opt-out a package from cross-building, I need to add >>> ISAR_CROSS_COMPILE = "0" to its recipe, right? Currently trying... no: >> >> Hmm, actually it should. That's how I disable cross-comp for kernel >> modules. Could you try more strength assignment := ? >> >>> >>> | Broken jailhouse-build-deps:arm64 Depends on >>> linux-headers-jailhouse-arm64:arm64 < none @un H > >>> |   Removing jailhouse-build-deps:arm64 because I can't find >>> linux-headers-jailhouse-arm64:arm64 >>> >>> The problem seems to be that the header package is generate as :amd64, >>> so I can't install it into the arm64 buildchroot. However, the cross >>> build also fails because it searches for :arm64 as well: >>> >>> | Broken jailhouse-cross-build-deps:arm64 Depends on >>> linux-headers-jailhouse-arm64:arm64 < none @un H > >>> |   Removing jailhouse-cross-build-deps:arm64 because I can't find >>> linux-headers-jailhouse-arm64:arm64 >>> >>> By requesting :amd64 versions of the header as well as some python deps, >>> I'm getting further and then fail differently: >>> >>> | dpkg-architecture: warning: specified GNU system type >>> aarch64-linux-gnu does not match CC system type x86_64-linux-gnu, try >>> setting a correct CC environment variable >>> |  dpkg-source --before-build git >>> | dpkg-buildpackage: info: host architecture arm64 >>> | dpkg-checkbuilddeps: error: Unmet build dependencies: python-pip:amd64 >>> python-setuptools:amd64 python-mako:amd64 >>> >>> "host architecture arm64", that is suspicious... >>> >>> >>> And then python - I'm still facing that issue with another package as >>> well: >>> >>> | Setting up python2.7-minimal:arm64 (2.7.13-2+deb9u2) ... >>> | /var/lib/dpkg/info/python2.7-minimal.postinst: 42: >>> /var/lib/dpkg/info/python2.7-minimal.postinst: python2.7: not found >>> | dpkg: error processing package python2.7-minimal:arm64 (--configure): >>> |  subprocess installed post-installation script returned error exit >>> status 127 >>> | dpkg: dependency problems prevent configuration of >>> python-minimal:arm64: >>> |  python-minimal:arm64 depends on python2.7-minimal (>= 2.7.13-1~); >>> however: >>> |   Package python2.7-minimal:arm64 is not configured yet. >>> | >>> | dpkg: error processing package python-minimal:arm64 (--configure): >>> |  dependency problems - leaving unconfigured >>> | Errors were encountered while processing: >>> |  python2.7-minimal:arm64 >>> |  python-minimal:arm64 >>> | E: Sub-process /usr/bin/dpkg returned an error code (1) >>> >>> Corresponding build dependencies there: >>> Build-Depends: wget, cpio, unzip, rsync, python, bc >>> >>> Here I get my job done by hacking it this way: >>> Build-Depends: wget, cpio, unzip, rsync, python:amd64, bc >> >> Is it possible to reproduce these results on my machine? I.e. are these >> artifacts available in public? In my series I only guarantee that isar >> tree is buildable, but unfortunately it doesn't cover all the possible >> cases. :-( As mention above, we definetely need to add ARM kernel >> configs to meta-isar to test real cross-compilation out of the box. > > Sure: I'm testing with https://github.com/siemens/jailhouse-images, > current next branch. You may skip the length non-root-initramfs package > and also just do the Orange Pi Zero build. > > We can also switch to the CIP kernel in Isar for the Banana Pi target. > Will notably prolong the CI run, though. > Just an observation, you use here buster but I didn't test it. Alex