public inbox for isar-users@googlegroups.com
 help / color / mirror / Atom feed
From: Alexander Smirnov <asmirnov@ilbers.de>
To: Jan Kiszka <jan.kiszka@siemens.com>,
	isar-users <isar-users@googlegroups.com>
Subject: Re: Minimizing isar-image-base
Date: Tue, 21 Aug 2018 22:36:47 +0300	[thread overview]
Message-ID: <aae8703b-c573-e1f8-e6a1-32a95ad4961e@ilbers.de> (raw)
In-Reply-To: <0228b199-d672-6610-0180-c8a84542366c@siemens.com>

Hi Jan,

On 20.08.2018 10:22, Jan Kiszka wrote:
> Hi all,
> 
> a couple of questions on what we pre-install into the de-facto standard 
> base image for everything that builds on Isar:
> 
> - Why do we pre-install init, but only for >= stretch?
> 

IIRC, for jessie and wheezy, the list of pre-installed packages was 
created based on attempt to boot the board. So it's just a result of 
experiment, no references to official Debian sources.

> - Why do we pre-install dbus?
> 

Again, IIRC, without dbus there was dirty boot log in QEMU, some 
services failed to start.

> - Can we make apt optional? Installing it as transient package by
>    default, e.g. What would happen if a downstream image then puts it
>    into PREINSTALL again? Should we filter IMAGE_TRANSIENT_PACKAGES
>    against IMAGE_PREINSTALL?

I could suppose how apt went to isar-image-base recipe, initially it was 
a copy of buildchroot one. So nobody actually cares about the list of 
packages, there was only one requirement - no error and warnings during 
image boot in QEMU.

In buildchroot apt is needed to populate the dependencies.

With current Isar implementation the apt is a must package for image. 
Let me explain why. Below is the whole chain to generate image:

1. At first, isar-debootstrap is called. This recipe fetches minimal 
*pure* Debian suite for specified architecture. It's stored in 
tmp/deploy folder.
2. Image generation is started from copying this pre-fetched suite to 
work folder.
3. Then you chroot to this *pure* minimal suite.
4. And finally all the additional packages in pre-install list are 
installed via apt-get.

So, the only way for current architecture - remove apt in post-build task.

Hope this a bit clarifies your questions.

> 
> Alternatively, we could define some isar-image-tiny that removes 
> packages from the base image, possibly also some that debootstrap pulls in.
> 
> Ideas, suggestions?
> 

I'd support you with this idea. For example sometimes I really need 
minimal QEMU image with just console, let's say 10-20MB of disk space 
and 2-3 minutes to build it.

But my proposal will be to start from requirements - which packages 
should go to tiny image and why. Otherwise we will have the same 
questions as above in 1-2 years :-)

Alex

  parent reply	other threads:[~2018-08-21 19:36 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-08-20  7:22 Jan Kiszka
2018-08-20  7:24 ` Jan Kiszka
2018-08-21 19:36 ` Alexander Smirnov [this message]
2018-08-22 14:37   ` Jan Kiszka
2018-08-22 19:52     ` Jan Kiszka
2018-08-22 20:43       ` Alexander Smirnov
2018-08-23  6:29         ` Christian Storm
2018-08-28 13:45   ` Jan Kiszka

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=aae8703b-c573-e1f8-e6a1-32a95ad4961e@ilbers.de \
    --to=asmirnov@ilbers.de \
    --cc=isar-users@googlegroups.com \
    --cc=jan.kiszka@siemens.com \
    /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