Technical Blog‎ > ‎

Porteus: a highly modular portable Linux environment

posted Feb 1, 2014, 4:01 AM by Jingshan Du   [ updated Feb 3, 2014, 8:21 PM ]

Portable Linux is very useful when you want to carry a handy operating environment as well as your private data and settings along with you. There have been already some Linux distributions which focus on the portable mode, i.e. LiveCD/LiveDVD/LiveUSB. I have been using puppy Linux and one of its Chinese variant (called veket) on my USB stick for some years. They use squashfs (sfs) to store the file system. However, once compiled the sfs cannot be easily revised (or use the squashfs-tools to unpack & repack it). Puppy can "mount" additional sfs files to add software packages, whereas the main sfs file (usually contains everything from the kernel to the web browser) remains immutable unless there is a major upgrade. Also, you receive the distribution as a whole. If you want change something, for instance a different web browser, all your changes can only be saved into another file which must be loaded every time you enter the system and be written every time you leave. The whole system must also be completely loaded to RAM when boots up. These bring unnecessary time wastage in daily use.

Porteus (www.porteus.org) offers an opportunity to highly costomize your portable Linux environment. It is a portable-optimized distribution based on Slackware (more precisely, Slax). Indeed, Porteus appeared as a bleeding-edge remix of the Slax Linux. The whole system is divided into several modules (xzm files), which I guess are also squashfs. Additional packages are also installed as xzm modules in your existing file system. A major advantage of Porteus over other portable distributions like puppy is that, you can choose whether to load all the modules in booting or just load them when needed. This remarkably reduces time required at booting up. 

The system become very slim due to the highly modular design. Take the latest release for example (Desktop Edition 2.1 i486), the minimum size of the essential modules needed to a graphic desktop environment (lxde) is 

13.4 MB (kernel) + 42.0 MB (core apps) + 34.9 MB (xorg) + 17.8 MB (lxde) = 108.1 MB.
You can also choose a more featured however bigger desktop environment by copying a different module into the porteus base directory. RazorQt, MATE, KDE, lxde and Xfce are currently available.

All the basic modules can be directly downloaded at http://dl.porteus.org/i486/current/modules/. For 64-bit systems replace i486 with x86_64. ISO images with different desktop environments can be downloaded at its parent directory.

Porteus can even help you build a customized ISO image online. Go to http://build.porteus.org/ and choose your options. For example, the user and root's password can be preset in this page. These factory settings are stored in a module as well. Porteus can also install/uninstall Slackware packages directly. It can also convert tgz/txz/rpm/deb packages to xzm as new modules to mount. 

You can save your session in Porteus as well. You can save changes on your existing Linux file system, or into a .dat file on FAT/NTFS, or even use the Magic Folders function to synchronize changes between the live system and a actual folder on your existing system.

Now Porteus 3.0 has released its RC1 edition with kernel 3.12. (The 2.1 edition comes with kernel 3.9) You can check it out at http://forum.porteus.org/viewtopic.php?f=35&t=2953.

Comments