# If this is the first time you build 'Minimal Linux Live', then I suggest you
# go through the README file first.

###################################################
#                                                 #
#  This section contains the main source bundles  #
#                                                 #
###################################################

# You can find the latest Linux kernel source bundles here:
#
#   http://kernel.org
#
KERNEL_SOURCE_URL=http://kernel.org/pub/linux/kernel/v4.x/linux-4.14.8.tar.xz

# You can find the latest GNU C library source bundles here:
#
#   http://gnu.org/software/libc
#
GLIBC_SOURCE_URL=http://ftp.gnu.org/gnu/glibc/glibc-2.26.tar.bz2

# You can find the latest BusyBox source bundles here:
#
#   http://busybox.net
#
BUSYBOX_SOURCE_URL=http://busybox.net/downloads/busybox-1.27.2.tar.bz2

# You can find the latest Syslinux source bundles here:
#
#   http://syslinux.org (official website)
#
#   http://kernel.org/pub/linux/utils/boot/syslinux
#
SYSLINUX_SOURCE_URL=http://kernel.org/pub/linux/utils/boot/syslinux/syslinux-6.03.tar.xz

# You can find the latest 'systemd-boot' source bundles here:
#
#   http://github.com/ivandavidov/systemd-boot
#
SYSTEMD-BOOT_SOURCE_URL=https://github.com/ivandavidov/systemd-boot/releases/download/systemd-boot_10-Dec-2017/systemd-boot_10-Dec-2017.tar.xz

####################################################
#                                                  #
#  This section contains configuration properties  #
#                                                  #
####################################################

# This property defines the firmware compatibility, i.e. on which systems MLL
# will be bootable.
#
#  bios - the generated ISO image will be compatible with legacy BIOS systems.
#         This is the default option and it does not require root privileges.
#
#  uefi - the generated ISO image will be compatible with UEFI systems. This
#         option requires root privileges.
#
#  both - the generated ISO image will be compatible with both legacy BIOS and
#         modern UEFI systems. This option requires root privileges.
#
FIRMWARE_TYPE=bios

# Use predefined '.config' file when building the kernel. This overrides the
# config generation in 'xx_build_kernel.sh' and the build process uses the
# config file provided in this parameter. Place the configuration file here:
#
# minimal_config/kernel.config
#
USE_PREDEFINED_KERNEL_CONFIG=false

# Use predefined '.config' file when building BusyBox. This overrides the config
# generation in 'xx_build_busybox.sh' and the build process uses the config file
# provided in this parameter. Place the configuration file here:
#
# minimal_config/busybox.config
#
USE_PREDEFINED_BUSYBOX_CONFIG=false

# Define the overlay type to use. Possible values are 'sparse' and 'folder'. You
# can use any other value, no value, or comment the property in order to disable
# it. Put your overlay content in the folder 'minimal_overlay/rootfs' and it will
# be automatically merged with the root file system on boot. The build process
# creates either '/minimal.img/rootfs' or '/minimal/rootfs' (read below) and
# this folder contains all overlay content in it. The build process also creates
# '/minimal.img/work' or '/minimal/work'. This folder is used by the overlay
# driver to store modifications related to the read only storage. If the overlay
# media is writeable, then all changes on the root filesystem are automatically
# persisted and preserved on reboot.
#
# sparse - use sparse file 'minimal.img' with hardcoded maximal size of 3MB (see
#          xx_generate_overlay.sh). The generated ISO image is larger because
#          the sparse file is treated as regular file. This option requires root
#          permissions or otherwise sparse file generation is silently skipped.
#          Sparse file is treated as separate disk image and works fine on FAT.
#
# folder - use normal folder structure (/minimal/). Note that this doesn't work
#          if the file system is FAT because FAT requires special handling, e.g.
#          POSIX overlay (http://sf.net/p/posixovl). This is the default option
#          because it doesn't require root permissions.
#
OVERLAY_TYPE=folder

# This property defines one or more additional overlay software pieces which
# will be generated and placed in the directory 'work/overlay_rootfs'. These
# software pieces will be visible and fully usable after boot. Note that the
# build process for most of the overlay bundles depends on the softawre that
# is already installed on the host machine. The only overlay bundles that are
# guaranteed to work are the ones declared by default. The build process for
# most of the other overlay bundles may fail and therefore these bundles are
# not enabled by default. It is up to you to prepare your host environment and
# install all prerequisites for the overlay bundles that you want to build.
# For starters, you might want to install the 'libncurses-dev' library which
# is required by some of the overlay bundles.
#
# In the future Minimal Linux Live aims to provide fully functional 'sysroot'
# and all development host dependencies should be eliminated. However, for now
# it is up to you to maintain your host build environment.
#
# Note that if you build any overlay software and you are using sparse image file
# for the overlay structure then most probably something will go wrong because
# the overlay software requires more than 3MB free space. The solution is to use
# folder overlay or to edit the script 'xx_generate_overlay.sh' and modify it to
# create sparse image file with bigger size.
#
# Currently available overlay software:
#
# glibc_full     - all core GNU C libraries.
# bosh_cli       - BOSH CLI (command line interface).
# c2048          - console version of the game 2048.
# cf_cli         - Cloud Foundry CLI (command line interface).
# cf_tools       - all BOSH and Cloud Foundry tools.
# coreutils      - set of commonly used GNU executable utilities.
# dhcp           - DHCP and DNS functionality.
# dialog         - shell scripting for ncurses
# dropbear       - SSH server and client.
# felix          - Apache Felix OSGi framework.
# fio            - I/O load generator.
# java           - Oracle JRE or JDK. Manual preparations are required.
# kbd            - keyboard utilities.
# kernel_modules - default MLL kernel modules and 'mdev' hotplug manager.
# kexec_tools    - execute another kernel from userspace
# libevent       - event notification library.
# links          - text browser for the web.
# lua            - scripting language.
# make           - GNU make utility.
# mll_logo       - custom MLL boot logo.
# mll_utils      - set of executable utilities (mll-*).
# mll_source     - MLL source code provided in directory '/usr/src'.
# nano           - simple command-line text editor with on-screen shortcuts.
# ncurses        - 'GUI-like' API that runs within a terminal emulator.
# nweb           - simple mini http server.
# openjdk        - installs Open JDK. All operations are automated.
# static_get     - portable binaries for Linux (http://s.minos.io).
# stress         - CPU and RAM load generator.
# util_linux     - executable utilities distributed by the Linux Kernel org.
# vim            - advanced text editor.
# zlib           - DEFLATE compression/decompression library.
#
# Refer to the README file for more information.
#
# Each bundle can have separate '.config' file which overrides any property
# which has been provided in this configuration file. Refer to the README
# file for more information.
#
# The line below is sample which provides Open JDK, Apache Felix and Links.
# There is also network functionality provided by the 'dhcp' overlay bundle.
#
# OVERLAY_BUNDLES=dhcp,felix,links,openjdk
#
# The default overlay bundles are 'dhcp', 'mll_logo' and 'mll_source'.
#
OVERLAY_BUNDLES=dhcp,mll_logo,mll_source

# The location where the overlay bundle software will be stored.
#
# rootfs - all overlay bundles will be embedded in the initramfs. In this way
#          the software will be available on boot but the initramfs size may
#          grow significantly and MLL will require more RAM in order to boot.
#
# iso    - all overlay bundles will be packed in the ISO image structure. The
#          actual location depends on the value of the configuration property
#          'OVERLAY_TYPE'.
#
OVERLAY_LOCATION=iso

# Use already downloaded source bundles instead of downloading them from
# internet. This is useful when you have already downloaded the sources and have
# no internet connection, or if you want to share your version of 'Minimal Linux
# Live' with predefined sources.
#
USE_LOCAL_SOURCE=false

# This property enables the standard penguin boot logo in the upper left corner
# of the screen. The property is used in 'xx_build_kernel.sh'. The default value
# is 'true' for demonstration purposes.
#
USE_BOOT_LOGO=true

# This property is the multiplicator which is used during the build process. The
# total number of each 'make' jobs will be equal to the number of detected CPU
# cores mutiplied by this property. For example, if you set this property with
# value '2' and if your CPU has 4 cores, then the number of 'make' jobs will be
# 4 * 2 = 8. Don't change this property unless you know what 'make' jobs are.
#
JOB_FACTOR=1

# This property defines the default GCC flags to be used during the compilation
# process. You can use your own flags here or even completely remove the flags.
#
CFLAGS=-Os -s -fno-stack-protector -fomit-frame-pointer -U_FORTIFY_SOURCE
