diskimage-builder/diskimage_builder/elements/gentoo
Matthew Thode bea81bd234
update gentoo to allow building arm64 images
Adds:

1. grub-efi package mappings
2. efi-64 support
3. default (openrc) arm64 profile
4. systemd arm64 profile

Cleans up the keywords and use flags in 02-gentoo-02-flags.  Most stuff
was stablized.  Also cleaned up some formatting for the if statements.

Enables less trusted overlays (up to the end user to verify).

in 10-gentoo-image I cleaned up some bash lint things as well.
using && instead of -a and avoiding $?

Change-Id: I3dffe1aab4bbdc4946a9bf2269bf0cde49529a4e
2020-08-17 23:50:39 -05:00
..
bin fix comments / spelling errors in gentoo element 2019-07-29 08:54:16 -05:00
cleanup.d support alternate portage directories 2019-07-26 19:30:01 -05:00
environment.d allow building of Gentoo images for non-systemd profiles 2019-12-20 17:51:55 -06:00
extra-data.d update gentoo-releng gpg key 2020-07-12 17:50:00 -05:00
finalise.d support alternate portage directories 2019-07-26 19:30:01 -05:00
pre-finalise.d support alternate portage directories 2019-07-26 19:30:01 -05:00
pre-install.d update gentoo to allow building arm64 images 2020-08-17 23:50:39 -05:00
root.d update gentoo to allow building arm64 images 2020-08-17 23:50:39 -05:00
test-elements/build-succeeds Move elements & lib relative to diskimage_builder package 2016-11-01 17:27:41 -07:00
element-deps Run dib-run-parts out of /tmp 2017-04-05 13:11:22 +10:00
element-provides Move elements & lib relative to diskimage_builder package 2016-11-01 17:27:41 -07:00
package-installs.yaml use stage3 instead of stage4 for gentoo builds 2020-05-27 18:50:16 -05:00
README.rst update gentoo systemd profile to 17.1 from 17.0 2019-08-19 15:13:09 -05:00

Gentoo

Use a Gentoo cloud image as the baseline for built disk images. The images are located in profile specific sub directories:

http://distfiles.gentoo.org/releases/amd64/autobuilds/

As of this writing, only x86_64 images are available.

Notes:

  • There are very frequently new automated builds that include changes that happen during the product maintenance. The download directories contain an unversioned name and a versioned name. The unversioned name will always point to the latest image, but will frequently change its content. The versioned one will never change content, but will frequently be deleted and replaced by a newer build with a higher version-release number.

  • In order to run the package-installs element you will need to make sure dev-python/pyyaml is installed on the host.

  • In order to run the vm element you will need to make sure sys-block/parted is installed on the host.

  • Other profiles can be used by exporting GENTOO_PROFILE with a valid profile. A list of valid profiles follows:

    default/linux/amd64/17.1 default/linux/amd64/17.1/no-multilib default/linux/amd64/17.1/hardened default/linux/amd64/17.1/no-multilib/hardened default/linux/amd64/17.1/systemd

  • You can set the GENTOO_PORTAGE_CLEANUP environment variable to False to disable the clean up of portage repositories (including overlays). This will make the image bigger if caching is also disabled.

  • Gentoo supports many different versions of python, in order to select one you may use the GENTOO_PYTHON_TARGETS environment variable to select the versions of python you want on your image. The format of this variable is a string as follows "python2_7 python3_6".

  • In addition you can select the primary python version you wish to use (that which will be called by running the python command. The GENTOO_PYTHON_ACTIVE_VERSION is used to set that mapping. The variable contents can be something like python3.6.

  • You can enable overlays using the GENTOO_OVERLAYS variable. In it you should put a space separated list of overlays. The overlays must be in the official overlay list and must be git based.

  • GENTOO_EMERGE_ENV is a bash array containing default environment variables for package install, you can override it with another bash array.

  • GENTOO_EMERGE_DEFAULT_OPTS can be set to control the default options passed to emerge for all package actions, this includes operations like depclean and preserved-rebuild.