public inbox for isar-users@googlegroups.com
 help / color / mirror / Atom feed
From: Jan Kiszka <jan.kiszka@siemens.com>
To: "[ext] Henning Schild" <henning.schild@siemens.com>,
	"Maxim Yu. Osipov" <mosipov@ilbers.de>
Cc: isar-users@googlegroups.com
Subject: Re: [PATCH v2 0/2] ISAR SDK image support
Date: Tue, 22 May 2018 12:43:45 +0200	[thread overview]
Message-ID: <b4f7dc4b-c02c-6c80-3859-1ba55e4290ce@siemens.com> (raw)
In-Reply-To: <20180522102636.3aa966d6@md1pvb1c.ad001.siemens.net>

On 2018-05-22 10:26, [ext] Henning Schild wrote:
> Am Fri, 18 May 2018 13:01:08 +0200
> schrieb "Maxim Yu. Osipov" <mosipov@ilbers.de>:
> 
>> Hello Henning,
>>
>> Thank you very much for your feedback.
>> I'm new in the project and your suggestions
>> are very welcome.
>>
>> Let me first describe my understanding of the ISAR SDK image
>> use case scenario:
>>
>> We have a team of developers who need to develop application in ISAR 
>> ecosystem. Somebody (let's call him project's leader) has Debian
>> based PC workstation with installed ISAR ecosystem and he has to
>> quickly pass ISAR build environment to other developers, which
>> probably have other Linux distributions like Fedora/Suse etc.
> 
> So far so good, but they might have Windows or MacOS as well.

That's a VM topic in the foreseeable future.

> 
>> The provided patch solves this problem - team leader just builds 
>> required isar-image-sdk and passes the resulting ISAR image or ISAR 
>> rootfs tarball to developers - they just chroot to this image and may 
>> start developing application.
> 
> chroot is not available on the OS the developers are used/forced to work
> in

chroot is specifically problematic on Linux machines where the user
lacks the required privileges.

> 
>> This works fine for x86, but as you absolutely right
>>
>>  > While it will work for arm(64) on x86 you will end up with a
>>  > horribly slow SDK. Horribly slow is OK for building the image with
>>  > Isar, not for the fast turn-around you are looking for as a
>>  > developer.  
>>
>> The proposed solution is just to flash ISAR image on the ARM target
>> (as modern ARM targets are quite powerful) and develop the
>> application natively on the target (like this is done in raspbian
>> world).

Nope, that's not an SDK as we need to provide. A key point of the SDK is
speed in the turnaround. And not all ARM targets are 8-core Cortex-A57
or better yet, not to speak of their storage devices.

Jan

> 
> And this is exactly the point where i think you are wrong. Developers
> do not want to or can not deal with additional hardware. It is
> cumbersome and HW might not be available. We need something that works
> on one machine (the developers notebook).
> So the --sysroot for devs with any Linux + cross toolchain, and for the
> Windows guys a whole Linux + cross toolchain to wrap it all into a
> VM-image.
> 
>> I hope this clarifies the idea behind the patch,
> 
> The idea was clear but that way has the mentioned limitations.
> 
> Henning
> 
>> Kind regards,
>> Maxim.
>>
>> On 05/18/2018 10:33 AM, Henning Schild wrote:
>>> Am Wed, 16 May 2018 17:56:51 +0200
>>> schrieb "Maxim Yu. Osipov" <mosipov@ilbers.de>:
>>>   
>>>> Hello everybody,
>>>>
>>>> Please ignore previous patch series.
>>>>
>>>> This series introduces ISAR SDK image support.  
>>>
>>> Thanks for looking into that!
>>>
>>> As i explained here
>>> https://groups.google.com/forum/#!topic/isar-users/bxmZQD8sSDQ  
>>
>>> There are two general ways to prepare an SDK. The image+devtools and
>>> the "--sysroot" of buildchroot way. You have implemented
>>> image+devtools which is only practical for non qemu-user-static
>>> setups ... basically just for x86 targets.
>>>
>>> While it will work for arm(64) on x86 you will end up with a
>>> horribly slow SDK. Horribly slow is OK for building the image with
>>> Isar, not for the fast turn-around you are looking for as a
>>> developer.
>>>
>>> What should be done instead is extracting the buildchroot and using
>>> it from the outside with "--sysroot", add example for make, CMake,
>>> eclipse And maybe creating an x86 Debian rootfs with the cross
>>> compiler that contains all that.
>>>
>>> Henning
>>>   
>>>> In order to create ISAR SDK image just add package isar-sdk into
>>>> variable IMAGE_INSTALL in bitbake's conf/local.conf and fireup the
>>>> ISAR image build.
>>>>
>>>> When build is done, perform the following steps:
>>>>
>>>> 1) Copy host's hostname and resolv.conf into resulting rootfs:
>>>>
>>>> For example,
>>>>
>>>> sudo cp /etc/hostname
>>>> $HOME/isar/src/build/tmp/work/debian-stretch-amd64/isar-image-base/rootfs/etc
>>>> sudo cp /etc/resolv.conf
>>>> $HOME/isar/src/build/tmp/work/debian-stretch-amd64/isar-image-base/rootfs/etc
>>>>
>>>> 2) Mount the following directories in chroot by passing resulting
>>>> rootfs as an argument to the script mount_chroot.sh:
>>>>
>>>> $ cat mount_chroot.sh
>>>> #!/bin/bash
>>>> sudo mount /tmp     $1/tmp                 -o bind
>>>> sudo mount proc     $1/proc    -t proc     -o nosuid,noexec,nodev
>>>> sudo mount sysfs    $1/sys     -t sysfs    -o nosuid,noexec,nodev
>>>> sudo mount devtmpfs $1/dev     -t devtmpfs -o mode=0755,nosuid
>>>> sudo mount devpts   $1/dev/pts -t devpts   -o gid=5,mode=620
>>>> sudo mount tmpfs    $1/dev/shm -t tmpfs    -o
>>>> rw,seclabel,nosuid,nodev
>>>>
>>>> $./mount_chroot.sh
>>>> $HOME/isar/src/build/tmp/work/debian-stretch-amd64/isar-image-base/rootfs  
>>>
>>> Should that helper not be part of the patch series?
>>>   
>>>> 3) chroot to isar SDK rootfs:
>>>>
>>>> $sudo chroot
>>>> $HOME/isar/src/build/tmp/work/debian-stretch-amd64/isar-image-base/rootfs
>>>>
>>>> 4) In chroot change user to 'builder', cd to directory isar and
>>>> start the isar image generation as usual.
>>>>
>>>> For example,
>>>>
>>>> root@tiberius:/# su - builder
>>>> builder@tiberius:~$ cd isar/
>>>> builder@tiberius:~/isar$ . isar-init-build-env ../build/
>>>> builder@tiberius:~/build$ bitbake
>>>> multiconfig:qemuamd64-stretch:isar-image-base
>>>>
>>>>
>>>> Kind regards,
>>>> Maxim.
>>>>
>>>> Alexander Smirnov (1):
>>>>    isar-bitbake: Add AUTOREV definition
>>>>
>>>> Maxim Yu. Osipov (1):
>>>>    image: Add ISAR SDK package to create SDK from any rootfs image.
>>>>
>>>>   meta-isar/recipes-core/images/isar-image-sdk.bb |  9 ++++++
>>>>   meta/conf/isar-bitbake.conf                     |  2 ++
>>>>   meta/recipes-devtools/isar-sdk/files/README     |  2 ++
>>>>   meta/recipes-devtools/isar-sdk/files/postinst   | 21
>>>> +++++++++++++ meta/recipes-devtools/isar-sdk/isar-sdk.bb      | 42
>>>> +++++++++++++++++++++++++ 5 files changed, 76 insertions(+)
>>>>   create mode 100644
>>>> meta-isar/recipes-core/images/isar-image-sdk.bb create mode 100644
>>>> meta/recipes-devtools/isar-sdk/files/README create mode 100644
>>>> meta/recipes-devtools/isar-sdk/files/postinst create mode 100644
>>>> meta/recipes-devtools/isar-sdk/isar-sdk.bb 
>>>   
>>
>>
> 


      reply	other threads:[~2018-05-22 10:43 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-05-16 15:56 Maxim Yu. Osipov
2018-05-16 15:56 ` [PATCH v2 1/2] isar-bitbake: Add AUTOREV definition Maxim Yu. Osipov
2018-05-16 15:56 ` [PATCH v2 2/2] image: Add ISAR SDK package to create SDK from any rootfs image Maxim Yu. Osipov
2018-05-18  8:19   ` Henning Schild
2018-05-18  8:28   ` Henning Schild
2018-05-17  7:47 ` [PATCH v2 0/2] ISAR SDK image support Baurzhan Ismagulov
2018-05-18  8:33 ` Henning Schild
2018-05-18 11:01   ` Maxim Yu. Osipov
2018-05-22  8:26     ` Henning Schild
2018-05-22 10:43       ` Jan Kiszka [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=b4f7dc4b-c02c-6c80-3859-1ba55e4290ce@siemens.com \
    --to=jan.kiszka@siemens.com \
    --cc=henning.schild@siemens.com \
    --cc=isar-users@googlegroups.com \
    --cc=mosipov@ilbers.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox