From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 6579174846558633984 X-Received: by 2002:a1c:7411:: with SMTP id p17-v6mr75933wmc.8.1531897572000; Wed, 18 Jul 2018 00:06:12 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com Received: by 2002:adf:f910:: with SMTP id b16-v6ls916735wrr.6.gmail; Wed, 18 Jul 2018 00:06:11 -0700 (PDT) X-Google-Smtp-Source: AAOMgpfTzro8XyJm6hxEyIAxdXOyQjTqU26wmPeibELbSQrsDqmzpvYjnJekRBuP73KSIqKlKjIH X-Received: by 2002:adf:e943:: with SMTP id m3-v6mr441769wrn.13.1531897571536; Wed, 18 Jul 2018 00:06:11 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1531897571; cv=none; d=google.com; s=arc-20160816; b=RwA+85N7mllj3nhQQvW8o82id3G/7d0gZTPB2YRgXBPOGpHkJxhHG3sRmLQTCzf08R azr+pMgDDVkqvfCocoLDn4MxsygXT4W9KFSlyblRuJ6i/7X1agmT9LkeJDOHc4zLhqON 2WWlc64mY6vQRuoFSKs6ZitgvnmkJbWcT5Pma/d8pZrMuqLqyi17ZZ077HoxxPe+370M Mdd/GKD6Xqt2wtbyHP6MoViuQbBiL/F0etWpCI4vd66fRcYKVzlYCtvzQI8J3VjOZ6gh JcWyHFNJbizrQyEfoEOaW3nzzgwOIz1gD5rVcpsyCYxo7dx5oX6Lh1KwLMh6Hiu+ZLTM +r6Q== 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=7AmwL9WHk5tIy/YvBUncoBqUXf/II91fSxsx8Cgjo1g=; b=O5sRU9la/0VkJ10WJ9yUAkeNR16YjKk/6E3iBI7T5hmVKTfhHQN7rLUayQYyaSsJWt c0MHLoxKepzv9zAe3O+crRJ6LqCXfKojWjsP/V9HCVS6EE6LNY2y+OQBd/eIjey/mQhs qJe/mNXNMor9i0BBlN/GlpalCLnZItbboH+9SCVzPpUg1DzorishwGdiQnHcb4EsgZFf xBhld3fWqLkeON/NssD64ub0PQf3A3P6AGLSYidjTzGOQzrH5dtEhTqyYQGirbuEXUnH exrucxrE87p7YTlmIZF2JiyXpknBzM4fpVrVraewMjWKCRVSOWy7cFd3QdN91aKj+goz HZuA== ARC-Authentication-Results: i=1; gmr-mx.google.com; spf=pass (google.com: domain of jan.kiszka@siemens.com designates 192.35.17.2 as permitted sender) smtp.mailfrom=jan.kiszka@siemens.com Return-Path: Received: from thoth.sbs.de (thoth.sbs.de. [192.35.17.2]) by gmr-mx.google.com with ESMTPS id v15-v6si63843wmc.1.2018.07.18.00.06.11 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 18 Jul 2018 00:06:11 -0700 (PDT) Received-SPF: pass (google.com: domain of jan.kiszka@siemens.com designates 192.35.17.2 as permitted sender) client-ip=192.35.17.2; Authentication-Results: gmr-mx.google.com; spf=pass (google.com: domain of jan.kiszka@siemens.com designates 192.35.17.2 as permitted sender) smtp.mailfrom=jan.kiszka@siemens.com Received: from mail2.sbs.de (mail2.sbs.de [192.129.41.66]) by thoth.sbs.de (8.15.2/8.15.2) with ESMTPS id w6I76Btg030828 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 18 Jul 2018 09:06:11 +0200 Received: from [167.87.12.195] ([167.87.12.195]) by mail2.sbs.de (8.15.2/8.15.2) with ESMTP id w6I769Vg031784; Wed, 18 Jul 2018 09:06:10 +0200 Subject: Re: [PATCH v3 0/7] Isar cross-compilation support To: Alexander Smirnov , 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: Jan Kiszka Message-ID: Date: Wed, 18 Jul 2018 09:06:08 +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: <164aa001af8.27ac.034a6b0541ed39b7fb4e17f4ac219eaa@ilbers.de> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 8bit X-TUID: agCKWmps09wF 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. Jan -- Siemens AG, Corporate Technology, CT RDA IOT SES-DE Corporate Competence Center Embedded Linux