Uber Cool Portable Linux With Porteus

Been exploring Porteus for a while, and though I have no doubt that it is an excellent replacement for the Puppy Linux live cd, I could sense that it is much more than just a tiny little OS that can boot from a live cd. I read through some articles on how to install it to a USB and use it as a complete portable solution with changes that could be saved onto the USB itself. That way you carry your work and software with you anywhere you go. All you need is a laptop that you can “borrow”, boot into Porteus off the USB and get going. I am just listing steps that I took to get this working the way I wanted.

Manually creating the Porteus bootable USB required a few trivial steps. I opted to use a 16GB pen drive that I had with me. Though 16GB is way generous for this experiment, I planned to install Porteus on it as well as keep the rest of the space accessible to Windows machines, so it doubles up as storage device as well as a bootable linux system. Good way to go about this is the format the USB as FAT32, which will be accessible to windows and linux machines alike. Using a FAT32 formatted drive for Porteus requires use of a .DAT container to save changes that are made to the Porteus installation, I will get there in a while.

On a freshly FAT32 formatted drive, I created two folders “PorteusLive” and “Documents” with intention of installing Portues under “PorteusLive” and using “Documents” as the external folder where I can just drop in contents whenever I am using this as a regular storage device. The Porteus iso is just about 170MB and if you look into the iso contents, it has boot and porteus folders. The next step was to extract /boot and /porteus to the “PorteusLive” folder that I had just created. Any archive manager will help you with this step. Alternate way is to mount the iso and then manually copy the folders to target folder.

Next step was to open the terminal and go to the boot directory on the pen drive. Run the installation script as root

sudo sh Porteus-installer-for-Linux.com

This installed the bootloader onto the pen drive (/mnt/sdb1/). It asked for confirmation for the drive it is trying to install Porteus to. Entered “ok” to proceed.

Installing Porteus to /dev/sdb1
WARNING: Make sure this is the right partition before proceeding.
Type 'ok' to continue or press Ctrl+c to exit.

The installation detected that I was trying to install under a sub-directory “PorteusLive” and not at the root of the USB drive. Porteus installer attempted to change the locations so that it knows where to boot from. These changes got saved to the proteus.cfg file.

Updated /media/KOOLKSP/PorteusLive/boot/syslinux/porteus.cfg
Installation finished successfully.
You may reboot your PC now and start using Porteus.
Please check the /boot/docs folder for additional information about
the installation process, Porteus requirements and booting parameters.
In case of making tweaks to the bootloader config,
please edit: /media/KOOLKSP/PorteusLive/boot/syslinux/porteus.cfg file.

That successfully installed Porteus onto the USB drive under the “PorteusLive” folder. It was time to test this. Rebooted the laptop and selected boot from the USB from BIOS options. If booting from USB isnt supported, you could still use the Porteus live cd to boot the machine and then use the Plop Boot Manager include in the cd to select the USB drive to boot from.

On first boot, Porteus detected that it is being booted from a FAT32 formatted device and needs to configure a save file to continue. It then fell back to a “fresh start” mode and loaded the default system. Now I had to create a .DAT container for Porteus so that it is able to save changes made to the system and load them the next time the system boots. Found that under “System -> Porteus save file manager”. Chose to create a new save file, it asked a size and location of the file. 512MB was sufficient initially which could later be increased if required. The location of the save file should be set to /portues on the USB drive. In my case it was mounted at location /mnt/sdb1/PorteusLive/porteus/ and I saved the file as default name “porteussave.dat”. It took a while to create this save file, and the location of the save file needed to be configured into the cfg file. Edited boot/syslinux/porteus.cfg as root and changed the line starting with APPEND to changes=/PorteusLive/porteus/porteussave.dat for the graphical boot option. So that on next boot, porteus is aware of the save file location and persists any change made to the system.

Rebooted again and this time Porteus detected the save file and read its content before loading. As of now it was empty so no changes are reflected. I made some changes like reorganizing the panels, changing time zones etc. These changes were reflected on next reboot as well. So the save file that I configured was working as expected.

Next step was to make some cosmetic changes, so I installed some themes and icons as usual. Just tyring to spice up the desktop. These icons and themes can go into the /home/guest/.icons and /home/guest/.themes folder, but a better option is to copy them over to /usr/share/icons and /usr/share/themes so that they are available when running applications as root as well. Without this, when you run something as root, the xfce windows manager falls back to some default icons and theme settings which ruins the look and feel completely. This time I went with the Radiance Teal theme and Flattr icons. Previously installed ultra-flat-icons didnt seem to go well with the Radiance theme. Flattr felt more at home. Changed the wallpaper as well. All these changes are saved to the DAT file and will be reflected everytime I boot from the USB.

When all looked nice and functional and comfortable, I stopped with my tinkering and looked back at a beautiful desktop booted off an USB drive.

Screenshot - 12252014 - 07:45:58 PM

That is what I can now carry in my pocket anywhere I go and boot into a fully functional portable linux desktop. Portues still takes about 170MB of space on the USB, with the additional 512MB save file, but thats about it. The rest of the drive is available as a storage device which I can use on windows and linux machine alike. It is also available from within Portues as a mounted drive where I can copy files if I have to use them outside Porteus. Only issue I face here, is the guest user on Porteus needs root access to the /mnt/sdb1/Documents folder which resides outside the Portues space. But its hardly a deal breaker and the work around is to trasfer files using Thunar as root.

With that I think my curious little experiment with Proteus has been a success. It time to show it off to a few friends and check their reactions. Uber Cool!

And then I found Porteus

Curiosity always get the better of me when I come across something new in the Linux landscape and feel that urge to explore it just a bit more. Why stop at reading a quick review or watch a YouTube video, when I can get a hands on and decide for myself if what I discover is really the next best thing. Lightweight Linux distros have always interested me, partly because I don’t really own any top of the line hardware and what I have is growing older as days go by. I really wonder how long will these machine serve their purpose before I am left with little option but to chuck them for something latest.

While browsing through list of lightweight options I came across Porteus. What a curious name, I thought, and made my way to the Porteus home page to learn some more about this distro. Couple things really stood apart. First its based on Slackware, something which I wasn’t really familiar with so its just another chance to learn something new. Second it was all of 170MB download but promised a full blown XFCE desktop and third its boot menu was really interesting. It allows you to run Porteus with options like a “Start afresh” which is a default session as if it were booting for the first time, it also allows to save sessions so that next time you log in, you could continue where you left off, it also allowed loading the entire OS into ram making it blazing fast even on old hardware.

It is offered in two flavors. One being a traditional desktop with wide choice of desktop environments (KDE, XFCE, MATE to name few) and second being a kiosk edition which had lock down on the softwares installed so that only the browser is available as the primary program. This is an interesting concept and more distros should explore it. A kiosk can serve as a dummy terminal to allow limited computing functionality(mostly internet access) at common places like cafes, hotels etc. Porteus also has a do-it-yourself distro wizard where you can pick and choose components that you want installed in the system and download the generated image for use. We have seen this in Suse studio, but its interesting to see this for tiny isos as well.

I had chosen to download the 170MB 32 bit XFCE image from Porteus and decided to give it a spin. Live boot was smooth and fast. The xfce desktop is quite snappy and made me think whether LXLE, my previous installation, was really bloat! After tinkering enough with Porteus, I have come to believe that with Porteus my old toshiba laptop feels more fast and responsive. The default set of programs is impressive. I can get on with daily computing needs with default installed programs which include a browser, a music player, a video player, a multi-chat client, a bit torrent client, a ftp program, a download manager, a cd ripper, an iso mounter, a dvd burner, a pdf reader, an image viewer et all. Out of the box, this thoughtful selection of softwares give the user all that he needs to get going. Whats missing is maybe an office suite or a serious image editor like gimp, but think “bloat” and you will realise why these things are left out of the Porteus iso. For a 170MB installer, it has managed to cram in a lot of functionality.

Running Porteus off the cd was fast enough and I wanted to install it onto my HDD and start using it as my primary OS. The Porteus installer program helps install Porteus on the machine, it is a non destructive installation i think. You could install it side by side with an existing setup as well ( Windows or Linux ). Porteus just copies itself to a dedicated boot partition and boots from there if you choose to install a bootloader as well. Porteus also keeps tab of the changes you make to the system and loads these changes when you boot normally. If you choose to boot a “fresh” Porteus, it only loads the default one and no changes are reflected. This is something which I really liked.

For the eyecandy I took to gnome-look.org for some interesting XFCE themes and Icons. After tinkering a bit I was quickly able to transform the default into something more vibrant.

Screenshot - 12222014 - 06:08:36 PM

Got a quick make over to

Screenshot - 12222014 - 05:52:34 PM

Screenshot - 12222014 - 05:47:44 PM

The XFCE theme is Radiance Flat and Icon set is Ultra Flat.

Eye candy is really a personal choice for everybody, so its difficult to say whether the changes I made appeal to someone else. You are free to change things however you like.

From what I see so far, I seem to like Porteus. Its software manager is different than the usual debian installations that I am used to, but once I get past the initial learning curve, I should be comfortable finding my way with this nifty little thing that I accidently discovered. I feel its a good replacement for Puppy as a rescue disk but at the same time be a worthy full blown installation for my aging machines. Let me have fun with this while it lasts.