* multistrap support @ 2019-02-13 13:14 kazuhiro3.hayashi 2019-02-13 13:56 ` Claudius Heine ` (3 more replies) 0 siblings, 4 replies; 11+ messages in thread From: kazuhiro3.hayashi @ 2019-02-13 13:14 UTC (permalink / raw) To: isar-users; +Cc: meta-eid Hi, I would like to know if isar still has some plans to use multistrap again (or similar existing tools if exists) to generate target images. Multistrap for isar-image-base has been removed by the following commit: https://github.com/ilbers/isar/commit/19a314559178f7afd93ce3dafe8c8647ca6c8884 and replaced by setup_root_file_system() in isar-bootstrap-helper.bbclass, which seems to use (pre-built?) isar-bootstrap-$ROOTFS_DISTRO-$ROOTFS_ARCH as the base tree instead of running the debootstrap process. I guess that the main purposes of quitting multistrap is that there is no big update for a few years (though the last update is 2.2.10 on Nov. 2018) Are there any other reasons? (Some bugs difficult to be fixed, mismatches with isar specification, etc.) The current isar-bootstrap based approach would work fine for isar system, but in that case, it might be difficult to share efforts for developing and maintaining the functionality with non isar users. I'm just interested in the future plan of isar. Kind regards, Kazu Kazuhiro Hayashi Corporate Software Engineering & Technology Center Toshiba Corporation Tel: +81-44-549-2476 E-mail: kazuhiro3.hayashi@toshiba.co.jp ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: multistrap support 2019-02-13 13:14 multistrap support kazuhiro3.hayashi @ 2019-02-13 13:56 ` Claudius Heine 2019-02-14 3:53 ` [meta-eid] " kazuhiro3.hayashi 2019-02-13 15:18 ` Henning Schild ` (2 subsequent siblings) 3 siblings, 1 reply; 11+ messages in thread From: Claudius Heine @ 2019-02-13 13:56 UTC (permalink / raw) To: kazuhiro3.hayashi, isar-users; +Cc: meta-eid Hi Kazu, I don't speak for the whole Isar community, but just from my point of view. For context I implemented the switch from multistrap to debootstrap. On 13/02/2019 14.14, kazuhiro3.hayashi@toshiba.co.jp wrote: > Hi, > > I would like to know if isar still has some plans to use multistrap again > (or similar existing tools if exists) to generate target images. No, only debootstrap is supported and we will most probably stick with that. > Multistrap for isar-image-base has been removed by the following commit: > https://github.com/ilbers/isar/commit/19a314559178f7afd93ce3dafe8c8647ca6c8884 > and replaced by setup_root_file_system() in isar-bootstrap-helper.bbclass, > which seems to use (pre-built?) isar-bootstrap-$ROOTFS_DISTRO-$ROOTFS_ARCH > as the base tree instead of running the debootstrap process. > > I guess that the main purposes of quitting multistrap is that > there is no big update for a few years (though the last update is 2.2.10 on Nov. 2018) > Are there any other reasons? That is one of them. Debootstrap is better supported by the main Debian community than any other bootstrapping tools. And since it is out of scope or the Isar Project to implement its own bootstrapping mechanism, we will stick with the second most official one 'debootstrap'. The Debian installer being the most official way to install Debian, which is a bit to bulky and integrated to be easily used in a scripted environment. Both multistrap and debootstrap had or still have some inconveniences with our usage and it would of course be great to have one that fits exactly our purposes and is used and supported by the broader Debian/Embedded Debian and possible Debian server community. But as I said Isar does not have the resources to implement that. > (Some bugs difficult to be fixed, mismatches with isar specification, etc.) > > The current isar-bootstrap based approach would work fine for isar system, > but in that case, it might be difficult to share efforts for > developing and maintaining the functionality with non isar users. > I'm just interested in the future plan of isar. Maybe you can give an example about which feature you think could be moved outside of the isar project and be used separately. One issue here is that Isar uses bitbake as the build task scheduler, so shell scripts etc. are difficult to extract from it to be used outside of Isar. And if they are extracted from the Isar recipes, then using them in Isar again is disadvantageous for the Isar build process. So sharing code between a bitbake/isar project and other build systems is not really possible. regards, Claudius -- DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-54 Fax: (+49)-8142-66989-80 Email: ch@denx.de ^ permalink raw reply [flat|nested] 11+ messages in thread
* RE: [meta-eid] Re: multistrap support 2019-02-13 13:56 ` Claudius Heine @ 2019-02-14 3:53 ` kazuhiro3.hayashi 2019-02-14 6:19 ` Jan Kiszka 2019-02-14 9:07 ` Claudius Heine 0 siblings, 2 replies; 11+ messages in thread From: kazuhiro3.hayashi @ 2019-02-14 3:53 UTC (permalink / raw) To: claudius.heine.ext, isar-users; +Cc: meta-eid Hi Claudius, (and Isar developers) Thank you for your replies, I would like to reply one by one. > -----Original Message----- > From: meta-eid@googlegroups.com [mailto:meta-eid@googlegroups.com] On > Behalf Of Claudius Heine > Sent: Wednesday, February 13, 2019 10:56 PM > To: hayashi kazuhiro(林 和宏 ○SWC□OST) > <kazuhiro3.hayashi@toshiba.co.jp>; isar-users@googlegroups.com > Cc: meta-eid@googlegroups.com > Subject: [meta-eid] Re: multistrap support > > Hi Kazu, > > I don't speak for the whole Isar community, but just from my point of > view. For context I implemented the switch from multistrap to debootstrap. > > On 13/02/2019 14.14, kazuhiro3.hayashi@toshiba.co.jp wrote: > > Hi, > > > > I would like to know if isar still has some plans to use multistrap again > > (or similar existing tools if exists) to generate target images. > > No, only debootstrap is supported and we will most probably stick with that. > > > Multistrap for isar-image-base has been removed by the following commit: > > > https://github.com/ilbers/isar/commit/19a314559178f7afd93ce3dafe8c8647 > ca6c8884 > > and replaced by setup_root_file_system() in > isar-bootstrap-helper.bbclass, > > which seems to use (pre-built?) > isar-bootstrap-$ROOTFS_DISTRO-$ROOTFS_ARCH > > as the base tree instead of running the debootstrap process. > > > > I guess that the main purposes of quitting multistrap is that > > there is no big update for a few years (though the last update is 2.2.10 > on Nov. 2018) > > Are there any other reasons? > > That is one of them. Debootstrap is better supported by the main Debian > community than any other bootstrapping tools. And since it is out of > scope or the Isar Project to implement its own bootstrapping mechanism, > we will stick with the second most official one 'debootstrap'. The > Debian installer being the most official way to install Debian, which is > a bit to bulky and integrated to be easily used in a scripted environment. I'm fully agree that using debootstrap, one of the core package in Debian for a long time, as the base tool to generate images from multiple apt repos if we decided not to use multistrap. Regarding Debian installer, base-installer(udeb) also uses debootstrap to install the base system before using apt and tasksel, but as you said, it's integrated to d-i scripts so difficult to use in non-installer environment. > > Both multistrap and debootstrap had or still have some inconveniences > with our usage and it would of course be great to have one that fits > exactly our purposes and is used and supported by the broader > Debian/Embedded Debian and possible Debian server community. But as I > said Isar does not have the resources to implement that. Thank you for your opinion. I didn't mean that multistrap should be used in Isar again. Also, my opinion is that any other full 'replacement' of debootstrap should not be implemented if bootstrapping from multiple repositories can be achieved by pure debootstrap + additional scripts. (Sorry, I was misunderstanding multistrap; I thought it uses debootstrap as back-end, but that is a replacement actually.) The current bitbake function in Isar is one of the better solutions. I should check more detailed implementation of that. > > > (Some bugs difficult to be fixed, mismatches with isar specification, > etc.) > > > > The current isar-bootstrap based approach would work fine for isar system, > > but in that case, it might be difficult to share efforts for > > developing and maintaining the functionality with non isar users. > > I'm just interested in the future plan of isar. > > Maybe you can give an example about which feature you think could be > moved outside of the isar project and be used separately. I should learn the mechanism of setup_root_file_system() more, but at least I'm originally considering how I can provide the following API: mybootstrap [debootstrap_OPTION] <suite> <target> [<mirror_list> [<script>]] I guess that the most important part for me is isar_bootstrap() in isar-bootstrap.inc, which is shared by isar-bootstrap-*.bb and copied by setup_root_file_system as a base tree ("${DEPLOY_DIR_IMAGE}/isar-bootstrap-$ROOTFS_DISTRO-$ROOTFS_ARCH/). Other remaining commands in setup_root_file_system() seems to be almost based on apt, so too easy to control multiple repositories. In the following commands, only one debootstrap command is called with one repository argument given from get_distro_primary_source_entry(). https://github.com/ilbers/isar/blob/master/meta/recipes-core/isar-bootstrap/isar-bootstrap.inc#L175 Does it work with multiple apt repositories? Or, installing required packages from other repos with apt after debootstrapping finishes? > > One issue here is that Isar uses bitbake as the build task scheduler, so > shell scripts etc. are difficult to extract from it to be used outside > of Isar. And if they are extracted from the Isar recipes, then using > them in Isar again is disadvantageous for the Isar build process. > > So sharing code between a bitbake/isar project and other build systems > is not really possible. I usually have the same issues in my bitbake recipes development. It might be possible to share the concrete processes to create a Debian base system from multiple repositories, even if it's difficult to share the actual codes. Background of my question: I guess that people who are developing Debian based system with their own custom packages (I'm one of them) may want to use a command (or a wrapper script) to create a base image from multiple apt repos, especially if they need to replace a part of existing Debian essential packages by their custom packages (coreutils, util-linux, dpkg, etc.). I'm investigating existing approaches that provide the API above or similar one. Regards, Kazu ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [meta-eid] Re: multistrap support 2019-02-14 3:53 ` [meta-eid] " kazuhiro3.hayashi @ 2019-02-14 6:19 ` Jan Kiszka 2019-02-14 10:18 ` kazuhiro3.hayashi 2019-02-14 9:07 ` Claudius Heine 1 sibling, 1 reply; 11+ messages in thread From: Jan Kiszka @ 2019-02-14 6:19 UTC (permalink / raw) To: kazuhiro3.hayashi, claudius.heine.ext, isar-users; +Cc: meta-eid On 14.02.19 04:53, kazuhiro3.hayashi@toshiba.co.jp wrote: > Background of my question: > I guess that people who are developing Debian based system > with their own custom packages (I'm one of them) may want to use > a command (or a wrapper script) to create a base image from multiple apt repos, > especially if they need to replace a part of existing Debian essential packages > by their custom packages (coreutils, util-linux, dpkg, etc.). > I'm investigating existing approaches that provide the API above or similar one. Isar gained support for debian package rebuilding (with modifications) just recently. You may want to study the existing (rather straightforward) implementation and usage of that (meta-isar/recipes-app/hello/). Jan -- Siemens AG, Corporate Technology, CT RDA IOT SES-DE Corporate Competence Center Embedded Linux ^ permalink raw reply [flat|nested] 11+ messages in thread
* RE: [meta-eid] Re: multistrap support 2019-02-14 6:19 ` Jan Kiszka @ 2019-02-14 10:18 ` kazuhiro3.hayashi 0 siblings, 0 replies; 11+ messages in thread From: kazuhiro3.hayashi @ 2019-02-14 10:18 UTC (permalink / raw) To: jan.kiszka, claudius.heine.ext, isar-users; +Cc: meta-eid > -----Original Message----- > From: Jan Kiszka [mailto:jan.kiszka@siemens.com] > Sent: Thursday, February 14, 2019 3:19 PM > To: hayashi kazuhiro(林 和宏 ○SWC□OST) > <kazuhiro3.hayashi@toshiba.co.jp>; claudius.heine.ext@siemens.com; > isar-users@googlegroups.com > Cc: meta-eid@googlegroups.com > Subject: Re: [meta-eid] Re: multistrap support > > On 14.02.19 04:53, kazuhiro3.hayashi@toshiba.co.jp wrote: > > Background of my question: > > I guess that people who are developing Debian based system > > with their own custom packages (I'm one of them) may want to use > > a command (or a wrapper script) to create a base image from multiple apt > repos, > > especially if they need to replace a part of existing Debian essential > packages > > by their custom packages (coreutils, util-linux, dpkg, etc.). > > I'm investigating existing approaches that provide the API above or > similar one. > > Isar gained support for debian package rebuilding (with modifications) just > recently. You may want to study the existing (rather straightforward) > implementation and usage of that (meta-isar/recipes-app/hello/). Great news. I should look at that, thanks. > > Jan > > -- > Siemens AG, Corporate Technology, CT RDA IOT SES-DE > Corporate Competence Center Embedded Linux ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [meta-eid] Re: multistrap support 2019-02-14 3:53 ` [meta-eid] " kazuhiro3.hayashi 2019-02-14 6:19 ` Jan Kiszka @ 2019-02-14 9:07 ` Claudius Heine 1 sibling, 0 replies; 11+ messages in thread From: Claudius Heine @ 2019-02-14 9:07 UTC (permalink / raw) To: kazuhiro3.hayashi, isar-users; +Cc: meta-eid Hi Kazu, On 14/02/2019 04.53, kazuhiro3.hayashi@toshiba.co.jp wrote: > Hi Claudius, (and Isar developers) > > Thank you for your replies, > I would like to reply one by one. > >> -----Original Message----- >> From: meta-eid@googlegroups.com [mailto:meta-eid@googlegroups.com] On >> Behalf Of Claudius Heine >> Sent: Wednesday, February 13, 2019 10:56 PM >> To: hayashi kazuhiro(林 和宏 ○SWC□OST) >> <kazuhiro3.hayashi@toshiba.co.jp>; isar-users@googlegroups.com >> Cc: meta-eid@googlegroups.com >> Subject: [meta-eid] Re: multistrap support >> >> Hi Kazu, >> >> I don't speak for the whole Isar community, but just from my point of >> view. For context I implemented the switch from multistrap to debootstrap. >> >> On 13/02/2019 14.14, kazuhiro3.hayashi@toshiba.co.jp wrote: >>> Hi, >>> >>> I would like to know if isar still has some plans to use multistrap again >>> (or similar existing tools if exists) to generate target images. >> >> No, only debootstrap is supported and we will most probably stick with that. >> >>> Multistrap for isar-image-base has been removed by the following commit: >>> >> https://github.com/ilbers/isar/commit/19a314559178f7afd93ce3dafe8c8647 >> ca6c8884 >>> and replaced by setup_root_file_system() in >> isar-bootstrap-helper.bbclass, >>> which seems to use (pre-built?) >> isar-bootstrap-$ROOTFS_DISTRO-$ROOTFS_ARCH >>> as the base tree instead of running the debootstrap process. >>> >>> I guess that the main purposes of quitting multistrap is that >>> there is no big update for a few years (though the last update is 2.2.10 >> on Nov. 2018) >>> Are there any other reasons? >> >> That is one of them. Debootstrap is better supported by the main Debian >> community than any other bootstrapping tools. And since it is out of >> scope or the Isar Project to implement its own bootstrapping mechanism, >> we will stick with the second most official one 'debootstrap'. The >> Debian installer being the most official way to install Debian, which is >> a bit to bulky and integrated to be easily used in a scripted environment. > > I'm fully agree that using debootstrap, one of the core package in Debian > for a long time, as the base tool to generate images from multiple apt repos > if we decided not to use multistrap. > Regarding Debian installer, base-installer(udeb) also uses debootstrap > to install the base system before using apt and tasksel, but as you said, > it's integrated to d-i scripts so difficult to use in non-installer environment. I didn't know that the Debian installer uses debootstrap somewhere inside as well. Interesting. >> >> Both multistrap and debootstrap had or still have some inconveniences >> with our usage and it would of course be great to have one that fits >> exactly our purposes and is used and supported by the broader >> Debian/Embedded Debian and possible Debian server community. But as I >> said Isar does not have the resources to implement that. > > Thank you for your opinion. > I didn't mean that multistrap should be used in Isar again. > Also, my opinion is that any other full 'replacement' of debootstrap > should not be implemented if bootstrapping from multiple repositories > can be achieved by pure debootstrap + additional scripts. > > (Sorry, I was misunderstanding multistrap; I thought it uses > debootstrap as back-end, but that is a replacement actually.) > > The current bitbake function in Isar is one of the better solutions. > I should check more detailed implementation of that. Thanks! > >> >>> (Some bugs difficult to be fixed, mismatches with isar specification, >> etc.) >>> >>> The current isar-bootstrap based approach would work fine for isar system, >>> but in that case, it might be difficult to share efforts for >>> developing and maintaining the functionality with non isar users. >>> I'm just interested in the future plan of isar. >> >> Maybe you can give an example about which feature you think could be >> moved outside of the isar project and be used separately. > > I should learn the mechanism of setup_root_file_system() more, > but at least I'm originally considering how I can provide the following API: > > mybootstrap [debootstrap_OPTION] <suite> <target> [<mirror_list> [<script>]] To further consider is the case of raspbian where we need an additional public repo key and the possibility of employing package pinning and priorities as well as apt configuration to change the package selection of the bootstrapped image. It would be great to have temporary apt settings (repo, package pinning) to allow offline building from a local repo, but the system will use the official one in production later. IMO it would be great if the bootstrap process itself would populate a local repo with all used packages + source packages while it is fetching them from upstream and using that repo at the same time with high priority. This way calling the bootstrap process multiple times in a row (with removal of bootstrapped system, but not local repo) would result in exactly the same file system. -> idempotent bootstrap -> caching of installation data -> reproducible bootstraping The bootstrap process should also not just be one big step, but split into smaller idempotent ones. So that customization should be possible at every level. IMO the 'script' option should not be used, since that seems to be a hacky way because the bootstrap process was not split up enough to call a script yourself at the right moment. So my suggestion would be something like this: mybootstrap init <suite> <arch> <target directory> # Setups a directory with some configuration files (.mybootstrap directory?) mybootstrap -C <target directory> addrepo <static|temporary|reproducible> <url> <prio> # Add a repo, should work in with a un-generated as well as a generated system, static for repos that should remain after finalization, temporary ones should be removed and reproducible ones should be used and populated with used packages as mybootstrap does its thing, maybe a package filter here might be useful as well mybootstrap -C <target directory> generate <package selection> # generates initial bootstrap environment with only required packages + apt -> afterwards it should be a chrootable system mybootstrap -C <target directory> install <package> # Installs packages, since this might be more involved that just calling 'apt-get install', because of the reproducible repository, it would make send to wrap around that mybootstrap -C <target directory> execute <script> # starts script inside the system with the right chroot mybootstrap -C <target directory> finalize # removes mybootstrap stuff and temporary+reproducible repos from the apt configuration I have more ideas for some additional subcommands, like executing repo updates, controlling the 'reproducible' repo better (removing packages, selectively updating packages, etc.) and some more. But that interface in general would be great for scripting custom Debian installations. > I guess that the most important part for me is isar_bootstrap() in isar-bootstrap.inc, > which is shared by isar-bootstrap-*.bb and copied by setup_root_file_system as > a base tree ("${DEPLOY_DIR_IMAGE}/isar-bootstrap-$ROOTFS_DISTRO-$ROOTFS_ARCH/). > Other remaining commands in setup_root_file_system() seems to be almost based on apt, > so too easy to control multiple repositories. > In the following commands, only one debootstrap command is called with > one repository argument given from get_distro_primary_source_entry(). > https://github.com/ilbers/isar/blob/master/meta/recipes-core/isar-bootstrap/isar-bootstrap.inc#L175 > Does it work with multiple apt repositories? > Or, installing required packages from other repos with apt after debootstrapping finishes? The isar-bootstrap process has changed alot after I initially implemented it (cross-build support, etc.), and I haven't worked on that since. But the general idea when I implemented it was that just one repo will be used for debootstrap (the first one listed), and afterwards the other repos are added and an update+dist-upgrade is performed on all of them. After that step the upstream apt index should not be changed. No global apt-get update, only apt-get update of local repos where newly created packages are placed. That way the buildchroot and the resulting image should contain the same versions of the packages which are installed in their respective usages of setup_root_file_system function in a copy of that initial bootstrapped system. > >> >> One issue here is that Isar uses bitbake as the build task scheduler, so >> shell scripts etc. are difficult to extract from it to be used outside >> of Isar. And if they are extracted from the Isar recipes, then using >> them in Isar again is disadvantageous for the Isar build process. >> >> So sharing code between a bitbake/isar project and other build systems >> is not really possible. > > I usually have the same issues in my bitbake recipes development. > It might be possible to share the concrete processes to create > a Debian base system from multiple repositories, > even if it's difficult to share the actual codes. > > Background of my question: > I guess that people who are developing Debian based system > with their own custom packages (I'm one of them) may want to use > a command (or a wrapper script) to create a base image from multiple apt repos, > especially if they need to replace a part of existing Debian essential packages > by their custom packages (coreutils, util-linux, dpkg, etc.). > I'm investigating existing approaches that provide the API above or similar one. We would currently deal with that by having the local repo that contains our build packages added to the apt with a high priority. Installing or updating now would remove the upstream package and install our own versions. Not the best way, but it works in principle. I don't know how tested in Isar that currently is though. regards, Claudius -- DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-54 Fax: (+49)-8142-66989-80 Email: ch@denx.de ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: multistrap support 2019-02-13 13:14 multistrap support kazuhiro3.hayashi 2019-02-13 13:56 ` Claudius Heine @ 2019-02-13 15:18 ` Henning Schild 2019-02-14 6:08 ` kazuhiro3.hayashi 2019-02-13 16:15 ` Jan Kiszka 2019-02-14 7:23 ` [meta-eid] " Baurzhan Ismagulov 3 siblings, 1 reply; 11+ messages in thread From: Henning Schild @ 2019-02-13 15:18 UTC (permalink / raw) To: kazuhiro3.hayashi; +Cc: isar-users, meta-eid Hi, in fact Isar does not really care too much about how exactly setup_root_file_system does what it does. Just the interface has to be stable at some point. So you take a list of repos and packages and off you go ... to put it overly-simple. rootfs = strap(repos, package-names) That is why the switch from multistrap to debootstrap was relatively simple. So you could even think about switching back or switching to yet another <funny>-strap. What i would like to understand is why you care about multistrap and why you think the strap-tool has an implication on collaboration with other projects? Where do you see the risk of not being able to share efforts with other projects that use multistrap? Henning Am Wed, 13 Feb 2019 13:14:57 +0000 schrieb <kazuhiro3.hayashi@toshiba.co.jp>: > Hi, > > I would like to know if isar still has some plans to use multistrap > again (or similar existing tools if exists) to generate target images. > > Multistrap for isar-image-base has been removed by the following > commit: > https://github.com/ilbers/isar/commit/19a314559178f7afd93ce3dafe8c8647ca6c8884 > and replaced by setup_root_file_system() in > isar-bootstrap-helper.bbclass, which seems to use (pre-built?) > isar-bootstrap-$ROOTFS_DISTRO-$ROOTFS_ARCH as the base tree instead > of running the debootstrap process. > > I guess that the main purposes of quitting multistrap is that > there is no big update for a few years (though the last update is > 2.2.10 on Nov. 2018) Are there any other reasons? > (Some bugs difficult to be fixed, mismatches with isar specification, > etc.) > > The current isar-bootstrap based approach would work fine for isar > system, but in that case, it might be difficult to share efforts for > developing and maintaining the functionality with non isar users. > I'm just interested in the future plan of isar. > > Kind regards, > Kazu > > Kazuhiro Hayashi > Corporate Software Engineering & Technology Center > Toshiba Corporation > Tel: +81-44-549-2476 > E-mail: kazuhiro3.hayashi@toshiba.co.jp > > ^ permalink raw reply [flat|nested] 11+ messages in thread
* RE: multistrap support 2019-02-13 15:18 ` Henning Schild @ 2019-02-14 6:08 ` kazuhiro3.hayashi 0 siblings, 0 replies; 11+ messages in thread From: kazuhiro3.hayashi @ 2019-02-14 6:08 UTC (permalink / raw) To: henning.schild; +Cc: isar-users, meta-eid Hi Henning, > -----Original Message----- > From: Henning Schild [mailto:henning.schild@siemens.com] > Sent: Thursday, February 14, 2019 12:19 AM > To: hayashi kazuhiro(林 和宏 ○SWC□OST) > <kazuhiro3.hayashi@toshiba.co.jp> > Cc: isar-users@googlegroups.com; meta-eid@googlegroups.com > Subject: Re: multistrap support > > Hi, > > in fact Isar does not really care too much about how exactly > setup_root_file_system does what it does. Just the interface has to be > stable at some point. So you take a list of repos and packages and off > you go ... to put it overly-simple. > > rootfs = strap(repos, package-names) > > That is why the switch from multistrap to debootstrap was relatively > simple. So you could even think about switching back or switching to > yet another <funny>-strap. Thanks, I got it. I'm now watching isar_bootstrap() which creates base tree with debootstrap. It seems to run one debootstrap command with one primary apt repository, then merge available updates from other apt repositories by `apt-get dist-upgrade`. I understood that these steps could replace calling multistrap command. > > What i would like to understand is why you care about multistrap and > why you think the strap-tool has an implication on collaboration with > other projects? Where do you see the risk of not being able to share > efforts with other projects that use multistrap? I should explain that I'm not heavy user of Isar at the moment actually, and I'm prototyping another build tool: https://events.linuxfoundation.org/wp-content/uploads/2017/12/ELCE2018_Debian-Yocto-State-of-the-Art_r6_Kazuhiro-Hayashi.pdf Many important visions of that project are from Isar development policy, and tooling is one of the most important topic. I WAS thinking that bootstrapping with multiple apt repositories are complicated and existing tools like multistrap should be used because of the fact (history) that multistrap has been developed as an independent package from debootstrap to support multiple repositories. However, if we can replace multistrap functionality by the above (simple and easy to understand) steps with debootstrap, the strap-tool might not affect collaboration of Isar and other projects so much. Regards, Kazu > > Henning > > Am Wed, 13 Feb 2019 13:14:57 +0000 > schrieb <kazuhiro3.hayashi@toshiba.co.jp>: > > > Hi, > > > > I would like to know if isar still has some plans to use multistrap > > again (or similar existing tools if exists) to generate target images. > > > > Multistrap for isar-image-base has been removed by the following > > commit: > > > https://github.com/ilbers/isar/commit/19a314559178f7afd93ce3dafe8c8647 > ca6c8884 > > and replaced by setup_root_file_system() in > > isar-bootstrap-helper.bbclass, which seems to use (pre-built?) > > isar-bootstrap-$ROOTFS_DISTRO-$ROOTFS_ARCH as the base tree instead > > of running the debootstrap process. > > > > I guess that the main purposes of quitting multistrap is that > > there is no big update for a few years (though the last update is > > 2.2.10 on Nov. 2018) Are there any other reasons? > > (Some bugs difficult to be fixed, mismatches with isar specification, > > etc.) > > > > The current isar-bootstrap based approach would work fine for isar > > system, but in that case, it might be difficult to share efforts for > > developing and maintaining the functionality with non isar users. > > I'm just interested in the future plan of isar. > > > > Kind regards, > > Kazu > > > > Kazuhiro Hayashi > > Corporate Software Engineering & Technology Center > > Toshiba Corporation > > Tel: +81-44-549-2476 > > E-mail: kazuhiro3.hayashi@toshiba.co.jp > > > > ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: multistrap support 2019-02-13 13:14 multistrap support kazuhiro3.hayashi 2019-02-13 13:56 ` Claudius Heine 2019-02-13 15:18 ` Henning Schild @ 2019-02-13 16:15 ` Jan Kiszka 2019-02-14 10:14 ` kazuhiro3.hayashi 2019-02-14 7:23 ` [meta-eid] " Baurzhan Ismagulov 3 siblings, 1 reply; 11+ messages in thread From: Jan Kiszka @ 2019-02-13 16:15 UTC (permalink / raw) To: kazuhiro3.hayashi, isar-users; +Cc: meta-eid On 13.02.19 14:14, kazuhiro3.hayashi@toshiba.co.jp wrote: > Hi, > > I would like to know if isar still has some plans to use multistrap again > (or similar existing tools if exists) to generate target images. > > Multistrap for isar-image-base has been removed by the following commit: > https://github.com/ilbers/isar/commit/19a314559178f7afd93ce3dafe8c8647ca6c8884 > and replaced by setup_root_file_system() in isar-bootstrap-helper.bbclass, > which seems to use (pre-built?) isar-bootstrap-$ROOTFS_DISTRO-$ROOTFS_ARCH > as the base tree instead of running the debootstrap process. > > I guess that the main purposes of quitting multistrap is that > there is no big update for a few years (though the last update is 2.2.10 on Nov. 2018) > Are there any other reasons? > (Some bugs difficult to be fixed, mismatches with isar specification, etc.) Indeed, the key reason (beside some technical issues) for no longer using multistrap in Isar was that the multistrap creator himself explained to us that it's dead and we should rather sooner than later move away from it. We then decided to pick up the most commonly used bootstrapping mechanism for Debian today, simply to reduce the risk of running into problems no one else is seeing - and fixing. > > The current isar-bootstrap based approach would work fine for isar system, > but in that case, it might be difficult to share efforts for > developing and maintaining the functionality with non isar users. > I'm just interested in the future plan of isar. This takes concrete ideas what you consider worth sharing and what interfaces this may imply. Debootstrap is not married to Isar but it would take some use case to make that shareable or replaceable with something else. Jan -- Siemens AG, Corporate Technology, CT RDA IOT SES-DE Corporate Competence Center Embedded Linux ^ permalink raw reply [flat|nested] 11+ messages in thread
* RE: multistrap support 2019-02-13 16:15 ` Jan Kiszka @ 2019-02-14 10:14 ` kazuhiro3.hayashi 0 siblings, 0 replies; 11+ messages in thread From: kazuhiro3.hayashi @ 2019-02-14 10:14 UTC (permalink / raw) To: jan.kiszka, isar-users; +Cc: meta-eid Hi Jan, > -----Original Message----- > From: Jan Kiszka [mailto:jan.kiszka@siemens.com] > Sent: Thursday, February 14, 2019 1:15 AM > To: hayashi kazuhiro(林 和宏 ○SWC□OST) > <kazuhiro3.hayashi@toshiba.co.jp>; isar-users@googlegroups.com > Cc: meta-eid@googlegroups.com > Subject: Re: multistrap support > > On 13.02.19 14:14, kazuhiro3.hayashi@toshiba.co.jp wrote: > > Hi, > > > > I would like to know if isar still has some plans to use multistrap again > > (or similar existing tools if exists) to generate target images. > > > > Multistrap for isar-image-base has been removed by the following commit: > > > https://github.com/ilbers/isar/commit/19a314559178f7afd93ce3dafe8c8647 > ca6c8884 > > and replaced by setup_root_file_system() in > isar-bootstrap-helper.bbclass, > > which seems to use (pre-built?) > isar-bootstrap-$ROOTFS_DISTRO-$ROOTFS_ARCH > > as the base tree instead of running the debootstrap process. > > > > I guess that the main purposes of quitting multistrap is that > > there is no big update for a few years (though the last update is 2.2.10 > on Nov. 2018) > > Are there any other reasons? > > (Some bugs difficult to be fixed, mismatches with isar specification, > etc.) > > Indeed, the key reason (beside some technical issues) for no longer using > multistrap in Isar was that the multistrap creator himself explained to > us that > it's dead and we should rather sooner than later move away from it. Thank you for the detailed information. > > We then decided to pick up the most commonly used bootstrapping mechanism > for > Debian today, simply to reduce the risk of running into problems no one > else is > seeing - and fixing. Reasonable approach. > > > > > The current isar-bootstrap based approach would work fine for isar system, > > but in that case, it might be difficult to share efforts for > > developing and maintaining the functionality with non isar users. > > I'm just interested in the future plan of isar. > > This takes concrete ideas what you consider worth sharing and what > interfaces > this may imply. Debootstrap is not married to Isar but it would take some > use > case to make that shareable or replaceable with something else. I was thinking a kind of the following things, mentioned in the reply to Claudius: > mybootstrap [debootstrap_OPTION] <suite> <target> [<mirror_list> [<script>]] For examples, I assumes that the following apt repositories could be listed in the <mirror_list> 1. The official Debian apt repository (or a (local) mirror of it) 2. An apt repository for specific custom distro (like Debian deliverable) 3. An apt repository for specific project/product (includes apps, etc.) If a command like the above provided, we can always generate the rootfs tree only by one command (+ chroot apt install) without setting any tools up (probably for experiment purposes). This kind of technical discussion would be kept in other replies... Regards, Kazu ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [meta-eid] multistrap support 2019-02-13 13:14 multistrap support kazuhiro3.hayashi ` (2 preceding siblings ...) 2019-02-13 16:15 ` Jan Kiszka @ 2019-02-14 7:23 ` Baurzhan Ismagulov 3 siblings, 0 replies; 11+ messages in thread From: Baurzhan Ismagulov @ 2019-02-14 7:23 UTC (permalink / raw) To: isar-users; +Cc: wookey, meta-eid On Wed, Feb 13, 2019 at 01:14:57PM +0000, kazuhiro3.hayashi@toshiba.co.jp wrote: > I would like to know if isar still has some plans to use multistrap again > (or similar existing tools if exists) to generate target images. > > Multistrap for isar-image-base has been removed by the following commit: > https://github.com/ilbers/isar/commit/19a314559178f7afd93ce3dafe8c8647ca6c8884 > and replaced by setup_root_file_system() in isar-bootstrap-helper.bbclass, > which seems to use (pre-built?) isar-bootstrap-$ROOTFS_DISTRO-$ROOTFS_ARCH > as the base tree instead of running the debootstrap process. > > I guess that the main purposes of quitting multistrap is that > there is no big update for a few years (though the last update is 2.2.10 on Nov. 2018) > Are there any other reasons? > (Some bugs difficult to be fixed, mismatches with isar specification, etc.) > > The current isar-bootstrap based approach would work fine for isar system, > but in that case, it might be difficult to share efforts for > developing and maintaining the functionality with non isar users. > I'm just interested in the future plan of isar. Neil told us that he doesn't maintain multistrap anymore. We also encountered issues (e.g., https://github.com/ilbers/isar/issues/16). For me personally, Perl is an obstacle (I go through Perl tutorials every couple of years :) ). So switching to debootstrap was easier at the time. That is not to say that debootstrap is the tool we want to have. The focus of debootstrap is to create Debian rootfss on Debian and non-Debian systems with the least possible dependencies. Given that, it is developed in shell, which is also not maintainable. In the long run, we'll need more and more introspection into apt & Co. for more advanced features. One way could be multistrap re-implementation in Python, as suggested by Wookey. ELBE has good experiences with libapt. aptly also promises some features we would like to use (though probably not multistrapping OOTB). Bootstrapping hybrid repos is also a useful use case. It can be achieved by making the "secondary" distribution upgradable from Debian, but if one has a lot of customized packages, using multistrap would require less effort and be less error-prone as well. In Isar, we try to stay away from massive modifications, but there are projects ending up tuning significant parts of Debian. The specific tools don't have to be mutually exclusive; Python offers enough polymorphism to include both as plugins (bitbake support has to be checked). With quite diverse requirements and opinions we already have today, we'll need pluggability, be it for multistrap or other features; the earlier we start playing with it, the better. For me, it is the question of enough itch rather than resources. For your specific use case, I don't see a problem using multistrap for meta-eid till we have a better alternative. With kind regards, Baurzhan. ^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2019-02-14 10:19 UTC | newest] Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2019-02-13 13:14 multistrap support kazuhiro3.hayashi 2019-02-13 13:56 ` Claudius Heine 2019-02-14 3:53 ` [meta-eid] " kazuhiro3.hayashi 2019-02-14 6:19 ` Jan Kiszka 2019-02-14 10:18 ` kazuhiro3.hayashi 2019-02-14 9:07 ` Claudius Heine 2019-02-13 15:18 ` Henning Schild 2019-02-14 6:08 ` kazuhiro3.hayashi 2019-02-13 16:15 ` Jan Kiszka 2019-02-14 10:14 ` kazuhiro3.hayashi 2019-02-14 7:23 ` [meta-eid] " Baurzhan Ismagulov
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox