Booting Modes and Compression - Thinstation/thinstation GitHub Wiki
ThinStation Boot Modes Overview
ThinStation supports several booting modes, each with unique characteristics and use cases.
LiveCD Mode
Description: LiveCD mode operates similarly to many other projects. It involves an initrd file encapsulated in a squashfs archive, loaded into memory at boot. An early boot process involves creating a temporary file system (tmpfs) which merges with the read-only (RO) filesystem to create a read-write (RW) filesystem. The system then transitions to this new union filesystem to continue operations.
Pros:
- Simple to create.
- Disk-independent operation.
Cons:
- Filesystem lookup overhead.
- Moderate boot times.
- Moderate memory usage.
- Squash lag on application launch.
How to Use:
- In
build.conf, ensure theoverlayfspackage is included. - Set
initrdcmdtosquashfs.
Initrd Mode
Description: This mode uses a simple initrd approach where the entire filesystem is compressed during build and then decompressed during booting.
Pros:
- Simple to create.
- Disk-independent.
- Very fast application launching.
Cons:
- High memory usage during boot.
- Longer boot times.
How to Use:
- In
build.conf, ensureoverlayfsis 'not' included. - Set
initrdcmdtogzip,bzip2, orxz.
Fastboot Mode
Description: Exclusive to ThinStation, Fastboot mode splits the filesystem into essential early-boot components and additional components loaded later. It includes two sub-modes: standard and lotsofmem.
Standard Sub-mode
- Process: Critical libraries and binaries are relocated to the
fastbootsubdirectory, with their original locations linked until/libcontains only links. This modified filesystem is then compressed into aninitrd. Additional OS requirements are compressed into asquashfsarchive. - Boot Process: The
initrddecompresses into memory, starting execution. Thesquashfsarchive is mounted from boot media at/libearly during initialization.
Pros:
- Lowest memory usage.
- Fastest booting.
Cons:
- OS dependency on external
squashfsarchive location. - Some filesystem parts remain read-only.
- Squash lag on application launch.
How to Use:
- In
build.conf, setinitrdcmdtogzip,bzip2, orxzand enablefastboot true. - Optionally include the overlay package.
- In
thinstation.conf.buildtime, configure a mount entry for booting from removable media or internal storage that targets a volume label at/boot.
Lotsofmem Sub-mode
- Process: Similar to standard mode, but the
squashfsarchive is decompressed into memory rather than mounted, enhancing performance and accessibility.
Pros:
- Rapid booting and application launching.
- Full filesystem read-write capability.
Cons:
- High memory consumption.
- OS dependency on external
squashfsarchive location.
How to Use:
- In
build.conf, ensureoverlayfsis 'not' included. - Set
initrdcmdtogzip,bzip2, orxzand enablefastboot lotsofmeminbuild.conf. - Configure a mount entry in
thinstation.conf.buildtimeas in standard mode.