- Written by Jay
Porteus is a lightning fast and small but powerful Linux operating system that can be installed on a USB flash device, CDROM, MMC/SD card or Hard Drive. Once installed on the storage media of your choice, it can be run on almost any PC, giving you the power and freedom of Linux anywhere you go. In essence, Porteus is a lightweight and portable implementation of the Slackware Linux Operating System that boots directly from your storage media without needing to modify or utilize your existing operating system (your computer doesn't even need a hard drive!). To accomplish this, it makes use of the Linux Live Scripts, which have been heavily modified for much faster boot-up and shutdown times. Unlike a standard Linux installation, Porteus exists in a compressed state on your storage media, with no /root, /bin, /usr, etc. directory structure on the media itself. The familiar Linux file structure is created on the fly (i.e., 'live') in your computer's RAM during the boot process, which only takes about 20-30 seconds to get from pressing the power button to full productivity on a relatively new computer. Porteus is modular in design, which means that extra software comes in the form of 'modules' which can be activated and injected into this live file system. Software does not need to be installed and uninstalled as you may expect with other operating systems which take numerous amounts of clicks and agreements; you simply double click on a module and it is activated and ready for use in a second or two. To remove this software, just double click again and it will be deactivated. It's that simple!
Porteus started out as a community remix project to keep the Slax OS up to date. It has now come into its own as a fully-fledged Linux distribution. It is available in both 32-bit and 64-bit editions, making it the perfect "on the go" solution whether you're running a netbook, an old pentium or a brand-new power system. We hope you enjoy using Porteus as much as we have enjoyed creating it!
Here are a few screenshots:
Anyone who likes an extremely fast and light operating system that boots in seconds and stays up to date with the latest software and kernel versions. Porteus is also a great way to try out linux from a USB device if you want a taste of linux without having to partition and format a hard drive. Read more here
You can run Porteus from your hard drive whether it is an external or internal hard drive. We advise that you run Porteus from these media in its compressed form, commonly referred to as a 'frugal' install. We do not support decompressing Porteus to your system as a regular linux install. You should install Slackware instead.
An md5sum is a way of ensuring that files have not become corrupted while being transferred over the internet. If you download a file to your computer and its md5sum matches the md5sum listed on the server (in the md5sums.txt file, for example), you can be 100% sure that your download was not corrupted. You can check the md5sum on a file by running this command in the console:
If the md5sums do not match, please try the 'rsync' utility instead of downloading through your browser/application:
rsync -avP dl.porteus.org::x86_64/current/porteus-v1.1-x86_64.iso .
Replace the 'x86_64' portion with 'i486' if you are using the 32-bit edition, and replace the '-v1.1-x86_64.iso' portion to match the release you are using. Be sure to include the final dot - it's actually part of the command and means the file will be downloaded to the current directory you are in when you issue the command.
Kernel Mode Setting (high resolution in console mode) is enabled by default on all modern GPU's. If you wish to disable it, just add the: 'nomodeset' cheatcode to your /boot/syslinux/porteus.cfg file.
Be aware that intel, opensource radeon and nouveau drivers won't work without KMS in Graphical User Interface mode.
Porteus strives to keep it's file size below 300Mb - that's why the KDE4 module is stripped of all less important applications. If you really need any special KDE4 application, please post a request in the relevant thread on the Porteus forum and we'll try to add it to Porteus module repository.
If you are running the 64-bit version of Porteus, 32-bit applications wont work until you install the relevant 32-bit libraries. Please use the 32-bit compatibility modules as described in this forum post.
Use 'Network Manager' or the 'pns-tool/xpns-tool' utilities (launched from terminal) to setup your connection in an 'easy way'. Network Manager users may be interested in a few tweaks which help to connect faster: click here. Broadcom owners who prefer open source drivers over broadcom-sta should read this HOWTO: click here.
A new program is included with Porteus Version 1.0 and higher, called Porteus Package Manager (PPM). It can be opened from the desktop menu under the 'System' heading, or run from the command line, as 'porteus-package-manager'. Click here for more information about it.
You can also use the slackyd package manager to install new programs. Slackyd is a CLI (command line interface) utility included with Porteus by default. Slackware packages can be searched and downloaded via slackyd (run the command 'slackyd' for more information on usage of the slackyd application), and then converted into Porteus modules using the 'txz2xzm' utility.
Use Language Selection Tool. Launch it through the 'Porteus Settings Centre'.
Try to recreate the bug first: boot Porteus in 'Always Fresh' mode and if you are able to recreate the error, post a bug report on the Porteus forum in the relevant section. Please attach links to screenshots and logfiles if possible (examples: /var/log/messages, /var/log/Xorg.0.log). For storing log files, please use external sites like pastebin.com and post web links only. Make sure that error was not created by a user mistake, typo, etc. - please save our time!
A cheat code refers to a command that can be entered at the start of booting (or entered into /boot/syslinux/porteus.cfg for permanence) which passes a value to porteus, such as 'nocd' to prevent booting from CD or 'acpi=off' to disable advanced configuration and power interface settings. These can be very useful for trouble shooting problem components.
You can find an updated cheatcode list in the /boot/docs/cheatcodes.txt file inside the Porteus ISO, or you can go here. Familiarize yourself with the cheat codes as they can come in handy.
Try to add the 'vmalloc=256MB' cheatcode to your /boot/syslinux/porteus.cfg file under the mode you boot into. If the error still exists, please post a bug report on the Porteus forum in the relevant section.
Create a swap file on your hard drive which will act as an extra (but slower) memory bank. Run the following command in a console to create and activate a 500MB swap file on the partition 'sda9':
mkfileswap /mnt/sda9/Porteus.swap 500
If you want to have this swap file activated by default, add following command to your /etc/rc.d/rc.local:
You should replace sda9 with the path of your own partition. You can see your partition setup by typing fdisk -l in a console from any location.
Make all of your desired changes to the /boot and /porteus folders to make them look exactly how they should appear on your custom ISO. Then run the script /porteus/make_iso.sh which will create a new ISO with a name and location you provide.
Example of how to run make_iso.sh:
where sdXN is the location of your /boot and /porteus folders.
When the /porteus/rootcopy folder is placed on a FAT/NTFS filesystem, all files are given 777 permissions due to Windows filesystem limitations. If you want to keep your original permissions then you must use an xzm module and not /rootcopy.
REMINDER: all of the above applies to FAT/NTFS, you can use /porteus/rootcopy as normal when placed on a supported linux fs.
In order to boot from the ISO image, your bootloader must boot Porteus from the linux kernel and initrd included in that ISO (otherwise, the kernel version will differ from the version of the kernel modules included in the ISO in /porteus/base/000-kernel.xzm). You need to unpack /boot/syslinux/vmlinuz and /boot/syslinux/initrd.xz and place them somewhere on your hard disk or USB drive. Then, you need to point your bootloader to that kernel and initrd and use the 'from=' cheatcode. For more information on this topic, please read this article.
As of Version 1.0, Porteus will log you in as a non-root user called 'guest' by default. This is done to increase the security of your system. If you would like to boot into your desktop as the root user, just use the 'login=root' cheatcode.
If you would like to change the default passwords ('toor' for root and 'guest' for guest), this can be done through the 'Porteus Settings Centre'. Click the 'Security settings' box and choose the 'Porteus password' button.
Add-ons are stored together with the firefox application in the 04-firefox.xzm module in your /porteus/base/ folder. You must extract this module, remove or replace the add-on, then recompress the module.
For example, in the 32-bit edition, you would perform these actions, as root:
1) Copy the 04-firefox.xzm module to your desktop
2) Right click on the module and select "Extract xzm module..."
3) Double click on the 04-firefox folder that is now on your desktop
4) Navigate inside this folder to usr/lib/firefox/extensions/
5) Remove or overwrite the randomly named folder that corresponds to the add-on you want to remove or replace (navigate inside each of these randomly named folders and open the 'chrome' folder to find out which folder corresponds to which extension)
6) Go back to your desktop, right click on the 04-firefox folder, and select "create xzm module..."
7) Copy the resulting firefox module back to /mnt/sdXN/porteus/base/ replacing the old one.
In the 64-bit edition, you would follow the same steps, but the add-on files are located in:
Be aware that the add-ons stored in /usr/lib (/usr/lib64 in the 64-bit edition) are enabled or disabled globally. If you want to enable add-ons for some users but not others, please place the add-ons in the home folder instead. For example:
Open your file manager (e.g. caja, thunar, pcmanfm or dolphin), navigate to the location of the folder you want to convert, then right click on it and choose "create xzm module" from the service menu. From the command line, you can use the dir2xzm command. For more information, see this article and this article.
First of all you should activate development module: 05-devel.xzm (containing necessary utilities, libraries and headers) which can be find here for 32bit and here for 64bit architecture.
Next you should follow official Slax documentation from here to create modules in the right way.
If you want to install all files to a specified directory please use this command:
make install DESTDIR=/tmp/destination
Sometimes the DESTDIR function is not present or does not work. If that's the case, please read this thread.
Or, you can pull out the files that are installed by the compiler using the 'changes-time' script, which is included in the default ISO and saves all changes made to the Porteus system within a defined time interval. Simply run the script and enter a number of minutes, and your recently modified files will be placed in a new directory. For example, entering '5' for the number of minutes would save all files added or modified in the last five minutes to /root/changesXXXX/, and you could then create a module from that directory that would contain all of the files installed by 'make install'. It's a good idea to go through the files saved by this script, to make sure it only contains the files you want to go in your module.