[elbe-devel] buildchroot subcommand missing in elbe v1.1 (Debian jessie)

Manuel Traut manuel.traut at linutronix.de
Wed Mar 1 10:01:15 CET 2017


Hi Lukasz,
 
> I am porting a project from elbe v0.9.4 (running on Debian wheezy) to the current Debian jessie version (elbe v1.1 from the official repo). I reckon that the 1.1 version does not support all subcommands 0.9.4 used to support, in particular it does not seem to recognize the "buildchroot" subcommand among others:
> 
> lwa at jessie:~$ elbe buildchroot
> Unknown subcommand !
> 
> elbe v1.1
> need a subcommand: e.g. 'elbe initvm'.
>     Available subcommands are:
> 
>         * check_updates
>         * chg_archive
>         * control
>         * diff
>         * get_archive
>         * init
>         * initvm
>         * pbuilder
>         * pkgdiff
>         * remove_sign
>         * setsel
>         * show
>         * sign
>         * validate
>         * xsdtoasciidoc

The buildchroot subcommand is only available inside the initvm:

$ elbe initvm create
$ elbe initvm start
$ elbe initvm attach (login: root password: root)
$ elbe buildchroot
...

The initvm is a virtual machine running a amd64 Debian/jessie including the elbe
buildenvironment, including 'elbe daemon' that provides a SOAP Interface that is
used by 'elbe control'. 'elbe initvm' is a wrapper for around 'elbe control'
that simplifies common tasks by executing multiple elbe control calls.

The initvm is needed to avoid dependencies to your host-pc for image generation.
If you create a bin-cdrom.iso the initvm and your project can be regenerated
from this single .iso file.
 
> I managed to build my project anyway using the "initvm create" subcommand, but it's far less efficient than the old "buildchroot", i.e. it takes ~20 minutes to build, compared to ~4 minutes previously (same XML input, same hardware, different Debian VM, omitted the currently unsupported --skip-cdrom option), moreover the output directory has now ~6 GB, compared to ~2.5 GB.

you should use

elbe initvm submit --skip-build-bin --skip-build-sources --keep-files test.xml

Todo the similar stuff. The overhead will be syncing files into/out of the
initvm and probably your nested-vm setup. It is posible to run the initvm
image in e.g. vmware and set environment variables for host and port where the
'elbe daemon' is running.

> Apart from performance issues, the current output does not provide full access to the target file system, which is necessary to extract e.g. the kernel and the initramfs images (I am aware of the "control get_file" subcommand, but it does not accept wildcards on source files and requires that the directory structure is mirrored at the destination while getting files from subdirectories).

you can get the 'buildchroot' directory inside the initvm by typing

'elbe control list_projects' (if you have specified --keep-files at elbe initvm
submit)

You can access it with 'elbe initvm attach'.
Use 'scp -r chroot/boot/* lukasz at 10.0.2.2:~/' to copy files from initvm to your
host PC.

Regards,

  Manuel




More information about the elbe-devel mailing list