If you are looking for a small footprint Linux distribution, you may be interested in Tiny Core Liunx. Here’s the description on Tiny Core Linux Website:
Tiny Core Linux is a very small (10 MB) minimal Linux GUI Desktop. It is based on Linux 2.6 kernel, Busybox, Tiny X, and Fltk. The core runs entirely in ram and boots very quickly. Also offered are Micro Core, a 6 MB image that is the console based engine of Tiny Core, and Multi Core, which includes Tiny Core, Micro Core, networking tools and an installer. Micro Core contains CLI versions of Tiny Core’s programs allowing the same functionality of Tiny Core’s extensions, only starting with a console based system.
It is not a complete desktop nor is all hardware completely supported. It represents only the core needed to boot into a very minimal X desktop typically with wired internet access.
Tiny Core Linux can be booted from CDROM or USB pendrive. You can also choose to perform a “Frugal Installation of Tiny Core Linux” on your hard disk.
The latest version (Tiny Core Linux 3.8.1) can be downloaded here as an ISO file (Select multicore-current.iso for the frugal installation).
Tiny Code Linux 3.8.1 is a bug fix release of version 3.8 with the following Changelog:
- Updated Freedesktop .desktop items for appsaudit, run, and editor icons.
- Updated tce-setup to handle both cdroms and isohybrid images, as well as other ISO9660 hosted images.
- Updated ondemand for extension name matching for onboot and ondemand select lists as used by AppsAudit.
Here’s the full ChangeLog for Tiny Core Linux 3.8:
- Updated AppsAudit dependencies menu grouping and added “Fetch Missing Dependencies”.
- Updated AppsAudit – updated error reporting and now reports stale extensions.
- Updated AppsBrowser – clear Search&Provides field upon results.
- Updated Wallpaper – Improved GUI. Now with a single window.
- Updated screenshot to display file name created upon completion.
- Updated mnttool – added a refresh button.
- Updated wbarconf – support for no initial .wbar
- Updated busybox – 1.18.5 new depmod applet and audit of required applets.
- Updated tc-audit added “fetchmissing” to fetch missing dependencies.
- Updated tce-load – now allows re-downloading non-installed extensions to better handle download failures.
- Updated tce-setup & tce-load to ensure busybox calls thus avoiding conflicts with various gnu utilities.
- Updated rc.shutdown – removed sleep to improve shutdown speed.
- Updated search.sh – improved searching by title results and support for fat file-system.
- Updated provides.sh – support for fat file-system.
- Updated tce-setup, tce-load, and loadpack.sh – alias for new depmod applet.
- Updated .profile – new user login sudo issue resolved.
- Updated rebuildfstab and tc-config for AOE support.
- Updated tc-functions getpassword to support backspace during input.
- Updated tce-setup for loading “tce” directory on cdrom and installable via updates to tc-install & tc-grub4dos
- Updated multicore.iso now uses extension directories for network, install, or grub4dos.
- New icons for AppBrowser and AppsAudit.
There does not seem to be any no proper documentation to access the source code and fully build TinyCore by yourself. The source file of Tiny Core Linux are available at http://distro.ibiblio.org/tinycorelinux/3.x/release/src/, but the latest version seems to be 3.5. You can also check the Forum post “TinyCore from SCRATCH – NADA -ZILCH – ZIP – NULL – – – THE BIG BANG!!!” and the file compile_compiletc with all command lines and packages version required.
My understanding is that Tiny Core Linux currently only runs on x86 platform, so you’d have quite a lot of work to port it to ARM or MIPS platforms.
For those of you who just want to make a custom version of Tiny Core Linux (for x86), please check the Remastering section of the Wiki.