From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 6579174846558633984 X-Received: by 2002:adf:f40e:: with SMTP id g14-v6mr702906wro.1.1531940461027; Wed, 18 Jul 2018 12:01:01 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com Received: by 2002:adf:fb4d:: with SMTP id c13-v6ls1406568wrs.8.gmail; Wed, 18 Jul 2018 12:01:00 -0700 (PDT) X-Google-Smtp-Source: AAOMgpcb9D+rWo8SsoPharzIUsFhuh+rMQ559AnYwQonzrQYspwoLUV5eQ8kpEUTvs401Hpd9OpD X-Received: by 2002:a5d:4b8e:: with SMTP id b14-v6mr680777wrt.16.1531940460504; Wed, 18 Jul 2018 12:01:00 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1531940460; cv=none; d=google.com; s=arc-20160816; b=yxHTSDK2Ic2YNxAFRUdTXeDx7+DgrqnxRSl9y1rla8wnfVA70Y6E2W1TA1YRqwI/oP QF7dqihTCjCXCCV55zdqN8zp26lK5kH64vsEBYtzJkJXm5BESxKwIi/Gs/TaFT7X+BkD GnDGPUuJZ0Jxv5fpIIXP3Q7G3QM0lrKcDjU2KgHKqI6KzCP8VnE25rSohMiVP5ujFwZ9 B7wqwxMaL1tbRiVtwqFV9BuTXaDsw9bd+xclvyI+3LSKCOP12SGc/13eM/auzRs3fY8J LPx4uT0wUrZfDNHAn93g3D2xeEkK2bPkL7IXkiCAP1wrCiQkYI3VOlVffuShK0lnfIeG dQGg== 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=xzPCHi3ZwofWmcLJ8JKU3tlLiw3KeDKtbRcPbYB6N4o=; b=bFN9P2VhGFn+fNZr7FkMd+6JCELaGd/2NLQX8QGumX4a4APL/U4uTUTLiMedoDehVG GvakEZL7yqRVYG2Nf2clM8immb9XNZJ3yOMI9otudqYPeajfIDKLMWib8E7h2X3CTqUK VfPWiSGk9NZ7MQEA8aNbawyZ2llR/u78EyYT/frewDoBGJZ+tmpTVQ0tbCuWESEob0Iz Ik6xXgMgQGY8boBKli/gkHfkzkmFx1+8ciuDSJYsApgB1ad8lTEih8x1EZtG2wpH35Ho /gAS/mBxCy3DTOGpLiKM8HCl6jGpoEjeFJ+GvYkP2zvS+L61dZJTtHDH5UgRmkPXZ9qt 437Q== 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 v15-v6si117796wmc.1.2018.07.18.12.01.00 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 18 Jul 2018 12:01:00 -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 mail2.sbs.de (mail2.sbs.de [192.129.41.66]) by david.siemens.de (8.15.2/8.15.2) with ESMTPS id w6IJ0xix026624 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 18 Jul 2018 21:01:00 +0200 Received: from [139.22.32.107] ([139.22.32.107]) by mail2.sbs.de (8.15.2/8.15.2) with ESMTP id w6IJ0xWF013762; Wed, 18 Jul 2018 21:00:59 +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> <09de613b-ba4c-21fb-d675-421c27b9bab6@ilbers.de> From: Jan Kiszka Message-ID: <610e26c8-4af8-6a96-7ed5-76470fb4298e@siemens.com> Date: Wed, 18 Jul 2018 21:00:59 +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: <09de613b-ba4c-21fb-d675-421c27b9bab6@ilbers.de> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 8bit X-TUID: GqERJWR38LUY On 2018-07-18 20:52, Alexander Smirnov wrote: > > > 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. Yes, but only for the pre-built u-boot package, and only for the Orange Pi. See conf/multiconfig/preferences.orangepi-zero.conf. Jan -- Siemens AG, Corporate Technology, CT RDA IOT SES-DE Corporate Competence Center Embedded Linux