Tiny Core is different because users are not encouraged to perform a
'traditional', hard-drive installation of the operating system. Sure,
a hard drive installation is possible, but Tiny Core is designed to
run from a RAM copy created at boot time. Besides being fast, this
protects system files from changes and ensures a pristine system on
every reboot. Easy, fast, and simple renew-ability and stability is a
principle goal of Tiny Core.

Frugal install

Frugal is the typical installation method for Tiny Core. That is it is not a traditional hard drive installation, which we call
"scatter mode", because all the files of the system are scattered all about the disk.
With frugal, you basically have the system in two files, e.g., bzImage and tinycore.gz whose location is specified by the boot
loader. Any user files and extensions are stored outside the base OS.

Boot codes

Depending upon how how Tiny Core is installed (GRUB, LILO, CD, USB stick
...), users have the option to use boot codes on each reboot (CD, etc),
or to store those codes in a boot configuration file (GRUB, LILO,
etc.).

Boot codes (boot arguments) affect how Tiny Core operates by defining
options at boot-time. There are lots of boot codes. To view all the
available options, peruse the boot code lists by pressing F2, F3 or F4 at
the CD boot prompt.

The boot code base is notable. Use base to simulate Default Mode and
skip all application extension installing or mounting. This is a useful
tool for trouble-shooting, extension building, upgrading ... and just
checking out how fast Tiny Core can boot on your hardware.

USB and External Storage Devices Special Requirements

Tiny Core can be instructed to search for data on external devices at
boot time:
a USB pen drive, compact flash, or other portable media. Below,
the Mode Descriptions discuss Personal Persistent Repositories of extensions
(PPR) or Installed applications (PPI) - those are prospects for external
storage.

Sometimes, hardware doesn't wake up fast enough for Tiny Core's boot
sequence, though. If the hardware doesn't wake up in time, Tiny Core
will move on and finish booting without that data.

If you use a PPR or PPI on external media, it may be necessary to use
the boot code waitusb=5 or similar. This pauses the pauses the boot
process for five seconds, waiting for slow devices to register with the
system bus.

Dependency Checking and Downloading

Tiny Core makes application-getting as easy as possible. The Appbrowser
provides application details from individual .info files - this is
enlightening reading material when choosing applications. Always read
the .info files, and re-read them before upgrading to catch changes
and concerns.

Dependencies are the pieces (other applications) required for an
application. In short, the Tiny Core Appbrowser will take care of
downloading and checking dependencies for you.

Modes of Operation

The Modes of Operation mix up how Tiny Core Loads, Mounts, and Installs
at boot time (see Philosophies, above, if you want to clarify what those
three things mean here). Tiny Core has three main Modes:

Default Mode: Cloud/Internet

Mount Mode: TCZ/Install

Copy Mode: TCZ/Install + copy2fs.flg/lst

Again, some may say there is a "Traditional Mode: Install to Hard
Drive", but that's not really a Mode at all. If you want to do it, go
right ahead. It's just not one of the original goals of the project,
so expect the normally slim documentation to be slimmer.
Details on each Mode follow in the "Mode Descriptions" below.

The Default Mode: Cloud/Internet

By default, Tiny Core Linux operates like a Cloud/Internet client. In
Default Mode:

Tiny Core boots entirely into RAM.

Users run the Appbrowser to browse the repository and download
applications.

Application Extensions (downloaded applications) last only for the
current session.

Tiny Core just uses as much RAM as possible.

Since Cloud/Internet Mode operates out of RAM, it runs
fast. Cloud/Internet Mode is nomadic and quick-booting. Application
extensions are lost on reboot, but only the system files have to be
restored.
If you would like applications stored locally and set up on each reboot,
then consider the Mount and Copy Modes.

The Mount Mode of Operation: TCE/Install

This is the most widely used and recommended method for using Tiny Core.

Applications are stored locally in a directory named tce on a
persistent store, .e..g, a supported disk partition (ext2,ext3.ext4,vfat, or fat)

Applications are optionally mounted on reboot (see onboot.lst in
forum and wiki).

Mounting applications saves RAM for other uses.

Unless specified with a boot code of tce=xdyz Tiny Core will searche for and uses the /tce
of downloaded extensions. Applications stored in the /tce are
optionally mounted at boot time.

Tiny Core uses the Appbrowser to place application extensions in this
tce/ and flag them as either "OnBoot" (mount at boot) or "On Demand"
(do not mount at boot, but create a special menu section for easy access and
display an icon if available).

To establish the tce/ boot with the one time boot code of tce= (see the wiki and forum topics on the tce=
boot code.

Boot times are longer, since copying to RAM takes more time than
mounting.

Copy Mode briefly extends the boot time to gain some of the RAM-run
speed of Default Mode and the persistence of a pure Mount Mode.

In Copy Mode, it is important to note that extensions can be either
mounted or copied into RAM. The Appsaudit program makes this flexibility
possible by keeping track of user selections.

Backup/Restore and Other Persistence Options:

Aside from the Mount Mode and the tce directory of application
extensions, Tiny Core supports persistent/permanent:
Backup and Restore of personal settings, and
Persistent /home and /opt directories.

Backup/Restore

Tiny Core includes filetool for saving personal settings and data. The
text file /opt/.filetool.lst lists files and directories to be backed
up at power down and restored at reboot. The list may be changed
manually (using vi, nano, etc) or via the scripts in the Tools menu;
note that the entry for /opt/filetool.lst should never be removed from
the list itself. filetool also supports exclusion of particular files
via /opt/xfiletool.lst.

By default, filetool.lst includes the entire home/tc directory, and
xfiletool.lst excludes some unnecessary caches and temporary
directories.

filetool writes backup mydata.tgz. The location of mydata.tgz can be
initially set using the boot option restore=hdXY,
restore=hdXY/directory,
or, after boot, by selecting Backup/Restore from the Control Panel. If
the restore code is no used, Tiny Core will search for mydata.tgz in
available root directories at boot. Conversely, the boot option
norestore
ignores any existing backup files, a useful tool for trouble-shooting
and upgrading.

Further settings and configurations are stored or executed using
/home/tc/.xsession, /home/tc/.profile, /opt/bootlocal.sh, and /opt.
Search the forum and wiki for information on these and other custom settings
files.

Persistent Home

Just as Tiny Core offers persistence options for downloaded application
extensions, so does it for your home directory. These are set using
boot codes/options.

home=hdXY will automatically setup /home/tc to "bind" to
/mnt/hdXY/tchome. When using the home boot code, mydata.tgz is not
created - personal data backups must occur in a more traditional way.
The home boot code lets Tiny Core coexist with other Linux installations
by inserting the tc user directory under a pre-existing /home
directory. Be careful, as the initial use of the boot code will creat
this directory and its content. Also, Tiny Core cannot auto-detect a
persistent home directory, so the home boot option is always
required.

Bottom Matter

If you have made it this far, congratulations! You're ready to get Tiny
Core and get started. Browse the wiki, the forums, the download pages,
and join the community conversation.