From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 6927512860892332032 X-Received: by 2002:a25:bec6:: with SMTP id k6mr4149768ybm.420.1612962870785; Wed, 10 Feb 2021 05:14:30 -0800 (PST) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a25:68d4:: with SMTP id d203ls946960ybc.9.gmail; Wed, 10 Feb 2021 05:14:30 -0800 (PST) X-Google-Smtp-Source: ABdhPJz+Gg/EJsiff8crqMPh+ZIDYr4fGxqRyUfHwsqY4rS2oRUPBGYfHE7QS0F3mjMvUmERhKIX X-Received: by 2002:a25:ea52:: with SMTP id o18mr4364768ybe.385.1612962870193; Wed, 10 Feb 2021 05:14:30 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1612962870; cv=none; d=google.com; s=arc-20160816; b=gj80eo3D2eAzzRrMt0/484meJrh+UNF1lVHdj55OOo3eWVu5cEALwoNUWRqGdgUCOg CeKkwo7okUKRd0Wsp1cOx18gyCWL6DlYlxd87NK8HgUMuPY3UAQAmOrDOKd5FMRVb/xh ZYSF25IPOjVn1mo9mEV68UHlSoLVZL3ZQ42rk7dX3ztMesZDhVZ8Bs/hqNywqY53TM/k NdKA3BoHlcOmqS3kPGesk7HB3pd8V6Y/C8CvCAT/o6A2lrXIC7smZ0Gq2USySV/sMJIn f49m5lXIVduMeyOca4le8lk4Nhz7pEdQepWCLzC2OMxJcn2xyyvfR25KYg594l8nbFgV 0fYQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=mime-version:content-language:accept-language:in-reply-to :references:message-id:date:thread-index:thread-topic:subject:cc:to :from; bh=MCslE4wuFZYcb5ddQA4p87ERt7jgaWO2MPWAWOCu4yc=; b=IfPme1M9sAnIIvaSRYjfpS5M0ustAswonpWGqCsIHEU/PVYV31XIA4NnHW+JL3C9FT rlV+UFnZcrh0hJZQz5ZWrxIL9eQt00kdHy1SDadfH72lAZT8gGW5vFuRs1XGqM9M2a9R 1FyLM6zw7B74t1Nrv9e+fvY2lWThJB8ai4j6frnOKQkJV686cAKqoHMGAshRlP47lPzW 7lfqb3vAAtnP7P+3qblnztfJiC5+m6QcMjoq4hUm7apD+uDjgRsRi3zZbtZtY86SFne+ Pp5Z9nJp4ZUa020eJmdtdfU56wrV1uUNYeGY5XxfpeKmvqziqA9YLU1oDDaPxqwyUILi WJtQ== ARC-Authentication-Results: i=1; gmr-mx.google.com; spf=pass (google.com: domain of dama@universal-robots.com designates 67.231.148.11 as permitted sender) smtp.mailfrom=dama@universal-robots.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=universal-robots.com Return-Path: Received: from mx0b-0015db01.pphosted.com (mx0a-0015db01.pphosted.com. [67.231.148.11]) by gmr-mx.google.com with ESMTPS id d37si110989ybi.4.2021.02.10.05.14.29 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 10 Feb 2021 05:14:30 -0800 (PST) Received-SPF: pass (google.com: domain of dama@universal-robots.com designates 67.231.148.11 as permitted sender) client-ip=67.231.148.11; Authentication-Results: gmr-mx.google.com; spf=pass (google.com: domain of dama@universal-robots.com designates 67.231.148.11 as permitted sender) smtp.mailfrom=dama@universal-robots.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=universal-robots.com Received: from pps.filterd (m0043669.ppops.net [127.0.0.1]) by mx0a-0015db01.pphosted.com (8.16.0.43/8.16.0.43) with SMTP id 11ADESkk026480; Wed, 10 Feb 2021 08:14:28 -0500 Authentication-Results: teradyne.com; spf=pass smtp.mailfrom=dama@universal-robots.com Received: from mail.universal-robots.com (mail.universal-robots.com [87.50.110.154]) by mx0a-0015db01.pphosted.com with ESMTP id 36hrm7b32b-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Wed, 10 Feb 2021 08:14:28 -0500 Received: from UR-PVW-EXCH01.unirobotts.local (10.234.32.16) by UR-PVW-EXCH02.unirobotts.local (10.234.32.36) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2176.2; Wed, 10 Feb 2021 14:14:26 +0100 Received: from UR-PVW-EXCH01.unirobotts.local ([fe80::c179:eb73:a7cc:7366]) by UR-PVW-EXCH01.unirobotts.local ([fe80::c179:eb73:a7cc:7366%6]) with mapi id 15.01.2176.002; Wed, 10 Feb 2021 14:14:25 +0100 From: Daniel Machon To: Henning Schild , Baurzhan Ismagulov CC: "isar-users@googlegroups.com" Subject: RE: Support for generating bootx64.efi when distro arch is i386 Thread-Topic: Support for generating bootx64.efi when distro arch is i386 Thread-Index: Adb/I/xSeeftm6TdQwS4MACMp93n4QAdX8rYAAOInrA= Date: Wed, 10 Feb 2021 13:14:25 +0000 Message-ID: References: <86fa58d19dba43d2950b99d6d25067a3@universal-robots.com> <20210210085616.GU20742@yssyq.m.ilbers.de> <20210210114244.439de40a@md1za8fc.ad001.siemens.net> In-Reply-To: <20210210114244.439de40a@md1za8fc.ad001.siemens.net> Accept-Language: da-DK, en-US Content-Language: en-US X-MS-Has-Attach: yes X-MS-TNEF-Correlator: x-originating-ip: [10.234.32.103] x-c2processedorg: c38ca319-04fc-491c-ab2c-8eabe3310c15 Content-Type: multipart/related; boundary="_004_f1dd1f9c5e2c4f5a8058b308f63cdfb6universalrobotscom_"; type="multipart/alternative" MIME-Version: 1.0 X-Proofpoint-SPF-Result: pass X-Proofpoint-SPF-Record: v=spf1 a a:mail.universal-robots.com mx ip4:34.215.113.156 ip4:94.137.142.97 ip4:216.146.32.161 ip4:216.146.32.185 ip4:216.146.32.186 ip4:216.146.32.187 ip4:216.146.32.188 ip4:81.93.164.103 ip4:81.93.173.201 ip4:92.62.195.66 ip4:89.221.162.141 ip4:185.21.42.165 ip4:82.199.95.7 ip4:52.166.165.115 ip4:52.232.121.147 ip4:52.232.124.185 ip4:52.232.123.131 ip4:83.149.98.65 ip4:52.166.178.208 ip4:40.68.36.243 include:servers.mcsv.net include:2631781.spf07.hubspotemail.net include:spf.mandrillapp.com include:spf.protection.outlook.com include:spf-0015db01.pphosted.com -all X-Proofpoint-Spam-Details: rule=outbound_policy_notspam policy=outbound_policy score=0 bulkscore=0 spamscore=0 lowpriorityscore=0 malwarescore=0 clxscore=1011 priorityscore=1501 phishscore=0 impostorscore=0 mlxlogscore=999 mlxscore=0 suspectscore=0 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2009150000 definitions=main-2102100127 X-TUID: Qm9PqwF4VwD/ --_004_f1dd1f9c5e2c4f5a8058b308f63cdfb6universalrobotscom_ Content-Type: multipart/alternative; boundary="_000_f1dd1f9c5e2c4f5a8058b308f63cdfb6universalrobotscom_" --_000_f1dd1f9c5e2c4f5a8058b308f63cdfb6universalrobotscom_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable It is indeed implemented in a separate layer. In this particular case, it is only a question of being able to, explicitly= , choose between i386/amd64 or arm64/arm32 grub images. I am not quite sure= this can be implemented in a more generic way, than just introducing a var= iable, say FIRMWARE_ARCH, that defaults to DISTRO_ARCH - do you have anythi= ng in mind, Henning? > My guess would be legacy applications. And my suggestion would be ... > full on 64bit and just have the problematic applications be 32bit It is indeed about legacy applications that needs to run in a 32bit userspa= ce context. Normally you would go with a multilib solutions to support the 32bit applic= ations in a 64bit userspace, however, for specific (backwards compatibility= ) reasons, this is not a possibility. / Daniel Med venlig hilsen / Best regards Daniel Machon Embedded Linux Engineer R&D Department [cid:UR_New_Logo_266cf885-8c99-4fe9-bae0-ff88fedf0005.png] Universal Robots A/S Energivej 25 5260 Odense S Phone: +45 89 93 89 89 Cell: +45 27 99 72 32 dama@universal-robots.com www.universal-robots.com Please note that this message may contain confidential information. If you = have received this message by mistake, please inform the sender of the mist= ake, then delete the message from your system without making, distributing = or retaining any copies of it. Although we believe that the message and any= attachments are free from viruses and other errors that might affect the c= omputer or IT system where it is received and read, the recipient opens the= message at his or her own risk. We assume no responsibility for any loss o= r damage arising from the receipt or use of this message. If Universal Robots A/S processes personal data relating to physical person= s, such processing will meet the requirements of applicable data protection= legislation.Please see our Privacy Policy here. -----Original Message----- From: isar-users@googlegroups.com On Behalf O= f Henning Schild Sent: 10. februar 2021 11:43 To: Baurzhan Ismagulov Cc: isar-users@googlegroups.com Subject: Re: Support for generating bootx64.efi when distro arch is i386 CAUTION - EXTERNAL EMAIL: Do not open attachments or links unless you recog= nize the sender and the content is safe. Am Wed, 10 Feb 2021 09:56:16 +0100 schrieb Baurzhan Ismagulov : > Hello Daniel, > > On Tue, Feb 09, 2021 at 08:45:06PM +0000, Daniel Machon wrote: > > Would you consider a patch series that adds support for separating > > the DISTRO_ARCH from the generation of the grub image? > > > > We have a use case where target userland is i386, but firmware only > > supports loading of 64bit EFI executables. Currently the DISTRO_ARCH > > is also used to generate the grub image - if distro arch is i386, > > then grub image is bootia32.efi. > > > > We fixed this by introducing a new variable used (in > > bootimg-efi-isar.py) to separately decide the grub image. > > IIRC, we've already had a similar use case (mixing i386 and amd64 > userland), so this one could be interesting as well. In any case, I'm > looking forward to the patches and discussion. I would not be against it but maybe as a more generic mixing pattern than j= ust that one. For your current hack you should be able to do all that in a layer instead = of touching isar ... in case you are patching it. > Why do you want to have i386 userland on amd64? My guess would be legacy applications. And my suggestion would be ... full on 64bit and just have the problematic applications be 32bit Isar has support for this via ISAR_ENABLE_COMPAT_ARCH where "i386" is the l= ittle brother of "amd64". Similar for arm32 and 64. Henning > With kind regards, > Baurzhan. > -- You received this message because you are subscribed to the Google Groups "= isar-users" group. To unsubscribe from this group and stop receiving emails from it, send an e= mail to isar-users+unsubscribe@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/= isar-users/20210210114244.439de40a%40md1za8fc.ad001.siemens.net. --_000_f1dd1f9c5e2c4f5a8058b308f63cdfb6universalrobotscom_ Content-Type: text/html; charset="us-ascii" Content-Transfer-Encoding: quoted-printable
It is indeed implemented in a separate layer.

In this particular case, it is only a question of being able to, explicitly= , choose between i386/amd64 or arm64/arm32 grub images. I am not quite sure= this can be implemented in a more generic way, than just introducing a var= iable, say FIRMWARE_ARCH, that defaults to DISTRO_ARCH - do you have anything in mind, Henning?

> My guess would be legacy applications. And my suggestion would be ...<= br> > full on 64bit and just have the problematic applications be 32bit

It is indeed about legacy applications that needs to run in a 32bit userspa= ce context.
Normally you would go with a multilib solutions to support the 32bit applic= ations in a 64bit userspace, however, for specific (backwards compatibility= ) reasons, this is not a possibility.

/ Daniel


Med venlig hilsen / Best regards

Daniel Machon
Embedded Linux Engineer
R&D Department

Universal Robots = A/S
Energivej 25
5260 Odense S

Phone: +45 89 93 89 89
Cell: +45 27 99 72 32

dama@universal-robots.com<= br> www.universal-robots.com

 


Please note that this message may contain confidential information. If you = have received this message by mistake, please inform the sender of the mist= ake, then delete the message from your system without making, distributing = or retaining any copies of it. Although we believe that the message and any attachments are free from viruses and = other errors that might affect the computer or IT system where it is receiv= ed and read, the recipient opens the message at his or her own risk. We ass= ume no responsibility for any loss or damage arising from the receipt or use of this message.

If Universal Robots A/S processes personal data relating to physical person= s, such processing will meet the requirements of applicable data protection= legislation.Please see our Privacy Policy here.


-----Original Message-----
From: isar-users@googlegroups.com <isar-users@googlegroups.com> On Be= half Of Henning Schild
Sent: 10. februar 2021 11:43
To: Baurzhan Ismagulov <ibr@radix50.net>
Cc: isar-users@googlegroups.com
Subject: Re: Support for generating bootx64.efi when distro arch is i386

CAUTION - EXTERNAL EMAIL: Do not open attachments or links unless you recog= nize the sender and the content is safe.


Am Wed, 10 Feb 2021 09:56:16 +0100
schrieb Baurzhan Ismagulov <ibr@radix50.net>:

> Hello Daniel,
>
> On Tue, Feb 09, 2021 at 08:45:06PM +0000, Daniel Machon wrote:
> > Would you consider a patch series that adds support for separatin= g
> > the DISTRO_ARCH from the generation of the grub image?
> >
> > We have a use case where target userland is i386, but firmware on= ly
> > supports loading of 64bit EFI executables. Currently the DISTRO_A= RCH
> > is also used to generate the grub image - if distro arch is i386,=
> > then grub image is bootia32.efi.
> >
> > We fixed this by introducing a new variable used (in
> > bootimg-efi-isar.py) to separately decide the grub image.
>
> IIRC, we've already had a similar use case (mixing i386 and amd64
> userland), so this one could be interesting as well. In any case, I'm<= br> > looking forward to the patches and discussion.

I would not be against it but maybe as a more generic mixing pattern than j= ust that one.

For your current hack you should be able to do all that in a layer instead = of touching isar ... in case you are patching it.

> Why do you want to have i386 userland on amd64?

My guess would be legacy applications. And my suggestion would be ...
full on 64bit and just have the problematic applications be 32bit

Isar has support for this via ISAR_ENABLE_COMPAT_ARCH where "i386"= ; is the little brother of "amd64". Similar for arm32 and 64.

Henning

> With kind regards,
> Baurzhan.
>

--
You received this message because you are subscribed to the Google Groups &= quot;isar-users" group.
To unsubscribe from this group and stop receiving emails from it, send an e= mail to isar-users+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/isar-users/20210210114244.439de40a%40md1z= a8fc.ad001.siemens.net.
--_000_f1dd1f9c5e2c4f5a8058b308f63cdfb6universalrobotscom_-- --_004_f1dd1f9c5e2c4f5a8058b308f63cdfb6universalrobotscom_ Content-Type: image/png; name="UR_New_Logo_266cf885-8c99-4fe9-bae0-ff88fedf0005.png" Content-Description: UR_New_Logo_266cf885-8c99-4fe9-bae0-ff88fedf0005.png Content-Disposition: inline; filename="UR_New_Logo_266cf885-8c99-4fe9-bae0-ff88fedf0005.png"; size=3508; creation-date="Wed, 10 Feb 2021 13:14:26 GMT"; modification-date="Wed, 10 Feb 2021 13:14:26 GMT" Content-ID: Content-Transfer-Encoding: base64 iVBORw0KGgoAAAANSUhEUgAAALsAAAAnCAYAAABXNDlSAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJ bWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdp bj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6 eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1 OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJo dHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlw dGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAv IiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RS ZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpD cmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKFdpbmRvd3MpIiB4bXBNTTpJbnN0 YW5jZUlEPSJ4bXAuaWlkOkE5RjY4MTZDMkRENDExRTg5RDQ3OThDQTMyNkIwRjdFIiB4bXBNTTpE b2N1bWVudElEPSJ4bXAuZGlkOkE5RjY4MTZEMkRENDExRTg5RDQ3OThDQTMyNkIwRjdFIj4gPHht cE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QTlGNjgxNkEyREQ0MTFF ODlENDc5OENBMzI2QjBGN0UiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6QTlGNjgxNkIyREQ0 MTFFODlENDc5OENBMzI2QjBGN0UiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94 OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4q1uftAAAKJElEQVR42uxdDXDUxRW/yyWXcCQB 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 --_004_f1dd1f9c5e2c4f5a8058b308f63cdfb6universalrobotscom_--