The easiest way to build "Minimal Linux Live" is to run the following script:
sh build_minimal_linux_live.sh
Note that the build process requires proper toolchain already installed and
configured. Check the project's website for more information:
http://minimal.idzona.com
For Ubuntu and other Debian based operating systems you can use the following
command in order to resolve the required build dependencies:
sudo apt install wget make gawk gcc bc genisoimage
Once you have your ISO image up and running perhaps you'd like to play with the
configuration file ".config" and see what options you have there. For example
you can enable the property "OVERLAY_BUNDLES". If you do that you will have
additional software being downloaded, built and installed on the ISO image.
Currently available overlay bundles:
* GLIBC - Set of all core GNU C libraries packaged together. Requires ~3MB
additional space. This overlay bundle is not host specific and
can always be built. The libraries are useful if you plan to use
more software after boot.
This overlay bundle depends on the GLIBC build process.
* coreutils - set of commonly used GNU executable utilities.
* dhcp - DHCP and DNS functionality to connect to the Internet.
* Dropbear - SSH server/client. Requires ~1MB additional space. The build
process creates user 'root' with password 'toor'. These are
sample commands which demonstrate how to use Dropbear:
SSH server (Alt + F1): dropbear -E -F
SSH client (Alt + F2): dbclient 10.0.2.15 -l root
This overlay bundle requires GLIBC.
* Felix OSGi - Apache Felix OSGi framework. Requires ~2MB additional space. Use
the "felix-start" command to run the Apache Felix OSGi framework.
This overlay bundle requires JRE or JDK.
* JRE / JDK - Oracle's JRE or JDK. Requires ~366MB additional space for JDK.
This overlay bundle requires some manual preparation steps. Refer
to the "JAVA_ARCHIVE" property in the ".config" file for more
detailed information.
This overlay bundle requires GLIBC. JDK 9 requires ZLIB.
* kbd - Keyboard utilities and keymaps, you can for example load
a german keyboard layout:
loadkeys de
* Links - Text based browser. Requires ~1MB additional space. Use the
"links" command to activate the browser.
* Open JDK - The open source JDK. No need for manual steps.
This overlay bundle requires GLIBC and ZLIB.
* Lua - The Lua Scripting Language 5.3. Requires ~ 800kb additional
space. Use the "lua" command to run an interactive lua
interpreter.
* MLL Utils - Set of experimental shell scripts (mll-*.sh) which provide
additional functionality, e.g. installer and useful tools.
This overlay bundle is currently experimental and its build
process depends on the host machine.
* nano - Simple command-line text editor with on-screen shortcuts.
This overlay bundle requires ncurses.
* ncurses - "GUI-like" API that runs within a terminal emulator.
* nweb - nweb is a very small and easy to use webserver, it is run
automatically on port 80. To portforward port 80 from the
guest (minimal) to port 8080 on the host add
'-net nic,model=e1000 -net user,hostfwd=tcp::8080-:80' to
'cmd' in the qemu.sh file.
* util_linux - Set of executable utilities distributed by the Linux Kernel
similar to busybox or GNU Core Utils.
Some packages in this overlay bundle require ncurses.
* vim - An advanced text editor that seeks to provide the power of
the de-facto Unix editor 'Vi', with a more complete feature
set.
This package will create symlinks on top of vi.
* ZLIB - Software library used for data compression.
### ### ###
I only provide the build scripts. It's entirely up to you to configure and
prepare your build environment. I use Linux Mint and Ubuntu, both 32 and 64 bit
editions. Your distribution might have different build dependencies but most of
the time there is a single meta-package which installs most of the stuff that
you need.
The build proces is slow, so be prepared to wait. In the end you should have
the ISO image file "minimal_linux_live.iso" in the same folder where you
started the build process. You can burn the ISO image on CD/DVD or (better) run
it with PC emulator like QEMU or VirtualBox.