Building SELKS

Peter Manev edited this page Aug 22, 2017 · 47 revisions

Build a SELKS ISO

You can download the latest SELKS ready to use from here. However if you would like to build SELKS from scratch and/or customize and modify it - you can follow this guide bellow.

Prerequisite

NOTE: You can build SELKS from scratch with a choice of a OS distribution based on one of the below:

  • Debian Stretch
  • Debian Jessie

The steps for building a SELKS based on Jessie or Stretch are exactly the same as explained in this article with the only difference being in the Get source from git section below.

You need a Debian Jessie (or Stretch - depending on what SELKS base OS distribution you would like) with a decent Internet access. Building a SELKS ISO will require the download of a complete system. You will also need around 5 GB of space in the build directory.

Get the sources and prepare the system

git clone https://github.com/StamusNetworks/SELKS.git
cd SELKS

Install the dependencies:

./install-deps.sh

If your host OS is Debian Jessie:

cd /usr/share/live/build/data/debian-cd/ && ln -s squeeze stretch

Build the system

You can now start the build:

./build-debian-live.sh

Please note, that the previous command can take up to 40 min to complete. You will then find the ISO file under Stamus-Live-Build/SELKS.iso

usage: ./build-debian-live.sh options

SELKS build your own ISO options:

RUN ON DEBIAN WHEEZY/JESSIE ONLY
OPTIONS:
  -h      Help info
  -g      GUI option - can be "no-desktop"
  -p      Add package(s) to the build - can be one-package or "package1 package2 package3...." (should be confined to up to 10 packages)
  -k      Kernel option - can be the stable standard version of the kernel you wish to deploy -
          aka you can choose any kernel "3.x.x" you want.
          Example: "3.10" or "3.19.6" or "3.18.11"


          More info on kernel versions and support:
          https://www.kernel.org/
          https://www.kernel.org/category/releases.html

  By default no options are required. The options presented here are if you wish to enable/disable/add components.
  By default SELKS will be build with a standard Debian Jessie/Stretch 64 bit distro and kernel ver 3.16.x or 4.9.x respectively .

EXAMPLE (default):

./build-debian-live.sh

The example above (is the default) will build a SELKS standard Debian Wheezy/Jessie 64 bit distro - see Get source from git

EXAMPLE (customizations):

./build-debian-live.sh -k 3.19.6

The example above will build a SELKS Debian 64 bit distro with kernel ver 3.19.6

./build-debian-live.sh -k 4.12.8 -p one-package

The example above will build a SELKS Debian 64 bit distro with kernel ver 4.12.8 and add the extra package named "one-package" to the build.

./build-debian-live.sh -k 3.18.11 -g no-desktop -p one-package

The example above will build a SELKS Debian 64 bit distro, no desktop with kernel ver 3.18.11 and add the extra package named "one-package" to the build.

./build-debian-live.sh -k 4.12.8 -g no-desktop -p "package1 package2 package3"

The example above will build a SELKS Debian 64 bit distro, no desktop with kernel ver 4.12.8 and add the extra packages named "package1", "package2", "package3" to the build.

If you wish to do a subsequent build you need first to remove the output directory before starting a new build:

rm -rf Stamus-Live-Build/

If you plan to build SELKS multiple time you will gain time and spare bandwidth on Debian servers by using an APT proxy such as apt-cacher-ng. To use it, simply set LB_CONFIG_OPTIONS variable which allow you to pass any option to lb config

LB_CONFIG_OPTIONS="--apt-http-proxy http://localhost:3142/" ./build-debian-live.sh

In a similar way, you could specify a mirror:

LB_CONFIG_OPTIONS="--mirror-binary http://mirror/debian/ --mirror-binary-security http://mirror/debian-security/ --mirror-binary-backports http://mirror/debian-backports/" ./build-debian-live.sh
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.