# 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/v5.x/linux-5.11.10.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.33.tar.bz2 # You can find the latest Busybox source bundles here: # # http://busybox.net # BUSYBOX_SOURCE_URL=http://busybox.net/downloads/busybox-1.32.1.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_26-May-2018/systemd-boot_26-May-2018.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: # # all - all available overlay bundles. # glibc_full - all core GNU C libraries. # # adopt_openjdk - JDK from AdoptOpenJDK with either HotSpot or OpenJ9. # 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. # golang - Google's Go programming language. # graalvm - VM for Java, JavaScript, Python, Ruby, R, LLVM. # 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_hello - simple educational overlay bundle. Type 'hello' to run it. # mll_logo - custom MLL boot logo. # mll_nikola - the meaning of life. # 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. # vitetris - console mode tetris game. # zlib - DEFLATE compression/decompression library. # zulujdk - Zulu is certified build of OpenJDK with better support. # # 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_hello # * mll_logo # * mll_source # OVERLAY_BUNDLES=dhcp,mll_hello,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 # Always use local source bundles. This is useful when you have 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. # 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