[Buildroot] Buildroot docker image

Yann E. MORIN yann.morin.1998 at free.fr
Sun Dec 10 13:48:14 UTC 2023


Thomas, All,

On 2023-09-02 09:42 +0200, Thomas Petazzoni via buildroot spake thusly:
> On Fri, 1 Sep 2023 09:19:02 +0200
> Arnout Vandecappelle via buildroot <buildroot at buildroot.org> wrote:
> >   First of all, the one on dockerhub is no longer updated. The images we 
> > actually use are on registry.gitlab.com/buildroot.org/buildroot/base
> > 
> >   But even those images are not really "for user consumption". They are the 
> > images we use for CI, and they therefore have a bit more stuff in them than 
> > really needed, e.g. qemu. They are also not updated (on the OS level) - no 
> > security updates or anything are applied on it.
> > 
> >   It would probably be better if we would also create a small image that people 
> > can use for just building in their CI. A small image based on e.g. Alpine or 
> > Arch, and that is updated e.g. daily on dockerhub. However, nobody ever 
> > contributed such an image so we don't have it.
> 
> Yann has been working on and off on a set of Docker images for
> Buildroot. See his branch at
> https://gitlab.com/ymorin/buildroot/-/commits/yem/dockers/. I indeed
> shared with him recently on IRC that it would be nice to have a really
> minimal image, separate from the image used in CI (which has more stuff
> enabled, most notably python3).

I was looking at this right now, and in fact I believe the existing
image is the perfect fir as the minimal image to use.

Indeed, let's take a look at what we have there, and why we do:

  MTSCR
  ×     bc
  ×     build-essential
        bzr
  ×     ca-certificates
   ×    cmake
  ×     cpio
  ×     cvs
  ×     file
  ×     g++-multilib
  ×     git
   ×    libc6:i386
  ×     libncurses5-dev
  ×     locales
        mercurial
      × openssh-server
     ×× python3
     ×  python3-flake8
     ×  python3-magic
      × python3-nose2
      × python3-pexpect
      × python3-pytest
      × qemu-system-arm
      × qemu-system-misc
      × qemu-system-x86
  ×     rsync
     ×  shellcheck
        subversion
  ×     unzip
  ×     wget

M: strictly mandatory
T: optional, but helps use pre-built toolchains
S: optional, speeds up the build
C: needed to run check-package et al.
R: needed to run the runtime test-suite

Bazaar, mercurial and subversion are optional, and only required when a
package is bzr-, hg-, or svn-hosted, but if we want this image to be
usable generally, it should have all three.

Since mercurial is a python package, we can't drop python3, and the
remaining modules are relatively small in comparison to the rest.

Getting a more minimal image would be just about dropping qemu. That
would make for an image that we could not use in the CI, and that would
not be usable to test the changes done to Buildroot. I don't think that
would mkae for a good image.

The size of this image is currently ~330MiB to download, and ~975MiB of
storage; building an image without qemu would not make much of a
difference.

So, I think this is the best minimal we can get to, as it contains
everything that people should need to build and to run the tooling.

Regards,
Yann E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'



More information about the buildroot mailing list