Create custom distribution
Step 1 - Create folders for distribution files
Custom distribution files are stored inside conf/distro
folder of your meta
layer. Create folder by pasting this command.
mkdir -p ../meta-golemos/conf/distro
Note
All commands diplayed are executed from the build
directory.
Step 2 - Create configuration file for custom distribution
Create conf
file which will contain information about your custom
distribution. This file should be named the same as your distribution name.
touch ../meta-golemos/conf/distro/golemos.conf
Note
All commands diplayed are executed from the build
directory.
Step 3 - Add information about your distribution
There are several ways to fill your configuration files. The easiest way is to
include in your configuration file poky.conf
and overwrite values. The most
important variables are DISTRO
, DISTRO_NAME
, DISTRO_VERSION
. Inside
golemos.conf
file place this configuration.
# Distro Layer configuration
# include and overwrite default poky distro
require conf/distro/poky.conf
DISTRO = "golemos"
DISTRO_NAME = "GolemOS-Linux"
DISTRO_VERSION = "1.0"
DISTRO_CODENAME = "Groot"
SDK_VENDOR = "-golemossdk"
SDK_VERSION="${DISTRO_VERSION}"
MAINTAINER = "golemos@sclabs.io"
TARGET_VENDOR = "-golemos"
# Override these in poky based distros
GOLEMOS_DEFAULT_DISTRO_FEATURES = "systemd wifi"
GOLEMOS_DEFAULT_EXTRA_RDEPENDS = "packagegroup-core-boot"
GOLEMOS_DEFAULT_EXTRA_RRECOMMENDS = "kernel-module-af-packet"
DISTRO_EXTRA_RDEPENDS += " ${GOLEMOS_DEFAULT_EXTRA_RDEPENDS}"
DISTRO_EXTRA_RRECOMMENDS += " ${GOLEMOS_DEFAULT_EXTRA_RRECOMMENDS}"
DISTRO_FEATURES ?= "${GOLEMOS_DEFAULT_DISTRO_FEATURES} ${DISTRO_FEATURES_LIBC} "
PACKAGE_CLASSES = "package_rpm"
Warning
Name of the conf file should match as your DISTRO_NAME
.
Step 4 - Choose your distribution
From now you can choose golemos
in your local.conf
.
DISTRO ?= "golemos"
Changing distribution every time you clone repositories can be boring. In the next section you will learn how to create custom sample files to even more automate process of building your own custom Linux distribution.
Summary
At this step your layer structure should look like this.
../meta-golemos
├── conf
│ ├── distro
│ │ └── golemos.conf
│ └── layer.conf
├── COPYING.MIT
├── README
└── recipes-example
└── example
└── example_0.1.bb