Skip to content
Andreas Simbuerger edited this page Jun 12, 2017 · 3 revisions

The container binary.

Containers suitable for uchroot usage are created using the container binary.

container [SWITCHES] [SUBCOMMAND [SWITCHES]] args...

Meta-switches
    -h, --help                                    Prints this help message and quits
    --help-all                                    Print help messages of all subcommands and quit
    --version                                     Prints the program's version and quits

Switches
    -i, --input-file CONTAINER:str                Input container path
    -m, --mount USER_MOUNT:ExistingDirectory      Mount the given directory under / inside the uchroot container; may be given multiple times
    -o, --output-file CONTAINER:str               Output container path
    -s, --shell CUSTOM_SHELL:str                  The shell command we invoke inside the container.
    -t, --tmp-dir TMPDIR:ExistingDirectory        Temporary directory
    -v                                            Enable verbose output; may be given multiple times

Subcommands:
    bootstrap                                     Check for the needed files.; see 'container bootstrap --help' for more info
    create                                        Create a new container with a predefined strategy.  We offer a variety of creation policies for a new container. By default a basic 'spawn a bash' policy is used. This just leaves
                                              you inside a bash that is started in the extracted container. After customization you can exit the bash and pack up the result.; see 'container create --help' for more info
    list                                          Prints a list of the known containers.; see 'container list --help' for more info
    run                                           Execute commannds inside a prebuilt container.; see 'container run --help' for more info

Options

PolyJIT containers

Most options are quite self-explanatory, below are 2 special parameters that require additional information.

  • -i: You can provide an archive that contains a container image that is used for container creation.
  • -m: You can add directory mounts inside the container, if you need special tools for container setup available in the container. If available, subdirectories like ./bin and ./lib are added to PATH and LD_LIBRARY_PATH inside the container.

Boost

PolyJIT requires boost-thread and boost-system. If you plan to use regular projects in cojunction with the gentoo projects. You need to make sure that the versions match in both the host system and the container, or you end up getting symbol errors. This goes for any other dependency you might add through mounts. The PolyJIT strategy is configurable, such that you can configure the packages that are required inside the container.

Clone this wiki locally