Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Clone this wiki locally
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.
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:
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:
Please note, that the previous command can take up to 40 min to complete.
You will then find the ISO file under
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 .
The example above (is the default) will build a SELKS standard Debian Wheezy/Jessie 64 bit distro - see
Get source from git
./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_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