Skip to content
Etienne Dublé edited this page Oct 1, 2017 · 4 revisions

Scope

Generating a bootable image may be seen as a 3-steps process:

  1. Generate a chroot environment
  2. Customize it
  3. Build a bootable image

debootstick takes care of step 3 only. As such, it follows the UNIX philosophy: this limited scope makes it good at collaborating with other tools, such as debootstrap, chroot, or even docker.

Embedded OS: simple structure, long-term viability

Bootable OS images: the classical concept

Most Linux-based distributions provide an official bootable image with the following characteristics:

  • Can boot from a CD and from a USB device
  • OS files (except linux kernel and bootloader files) are embedded in a compressed read-only filesystem image (usually squashfs-based)

These 2 factors lead to:

  • a high complexity (especially when you want the user to be able to modify files included in the compressed read-only filesystem...)
  • a very short OS lifetime (linux kernel and bootloader update is not possible, which is a major security issue; the filesystem compression technique is counter-productive over the long-term, because when you modify a file, you store the new version uncompressed, and the filesystem image storing the old version will remain unchanged...).

As a result, this kind of bootable image is usually restricted to installation purposes.

The "mobile OS" concept

Nowadays, very few people still use a CD to boot a computer. Everyone uses a USB stick. So why should we maintain this compatibility? Moreover, nowadays, USB sticks are all 8GB-big or more. So why bother with complex compression mechanisms?

debootstick builds OS images with a much simpler structure. What you get inside is (almost) exactly like an OS you would have installed there. As a result:

  • There is no installation procedure, debootstick did it already!
  • You can update it the usual way, including the kernel, the bootloader... and use it over the long term, just like the OS you have installed on your main disk.

In short, with debootstick you get a mobile (but regular) OS.

Clone this wiki locally