I wrote a few months back on using Puppy Linux on a USB stick in the classroom. This post will follow in the same vein though instead of Puppy, I will be using the Porteus distribution. Puppy seems a little out-dated and I never had any luck installing the Pygame package. I probably would have turned to Porteus earlier had it not been for a quirk in the search engines. 'USB linux' doesn't return anything linking to Porteus. A search of 'portable linux' puts links to Porteus very high among the results. The most recent version of Porteus dates back to December last year and ranks in the top 50 or so at Distrowatch. Somehow, I missed it last year when I was doing the basic research for Puppy. I'm glad I now have the chance to talk about it.
Porteus starts out at this page where one 'builds' the .iso from scratch. A unique system that seems to work well. I left the settings pretty much at default except for changing the local time zone and choosing the XFCE desktop environment, a vast improvement over what Puppy had to offer, by the way. The size of the .iso is comparable to Puppy, (~200 MB) and takes only a few minutes to download.
Once the .iso is downloaded, Porteus can be installed on the USB. Again the process is a little different from what I've been used to. It's described here. As the link says in the 'Installing Porteus to a USB Flash Drive' section, "you must extract or mount the .iso file in order to copy the /boot and /porteus directories to your target device." Extract and copy those two folders to the root of the USB. Once done, navigate to the /boot folder on the USB and open a terminal there. Execute the following: "sudo sh Porteus-installer-for-Linux.com" and provide a password when prompted. The Porteus USB is now ready to boot.
On starting Porteus, there are a few changes to be made. First off, it's necessary to make the USB persistent. After that, any changes made (like WIFI passwords, newly installed applications, data files etc) will not disappear after shutting down. I found it rather tricky. The menu item "Porteus Save file manager" starts a wizard to create a 'save file' where changes can be saved. It works smoothly. I created the file 'porteussave.dat' in the 'porteus' folder. The next step is to navigate to the /boot/syslinux folder and open a terminal. The file 'porteus.cfg' should be there and it needs a little altering. Open the file as root: 'sudo mousepad porteus.cfg' should do it. 'toor' is the root password. Look for the information about XFCE in the porteus.cfg file and edit the entry to look like this: 'changes=/porteus/porteussave.dat'. Only the information /porteus/porteussave.dat' needs to be added, the rest of the line can be kept as is. Create some empty text files or connect to WIFI. If the connections and the files persist after rebooting, your efforts have been successful.
The next step is to download and install a number of applications not included in the original .iso. They are Python, Tkinter, Pygame, Geany and the Gimp. The package manager doesn't seem to work, so the following should be downloaded from the http://pkgs.org site. Search the site in the Slackware 14.1 (or 14.0) section.
From these pages:
download Python in .txz format.
download Pygame in .txz format.
download PyGobject in .txz format.
download GTK in .txz format.
download TK in .txz format.
download TCL in .txz format.
download GIMP in .txz format.
download GEANY in .txz format.
Once these files are downloaded, they can be moved to the /porteus/modules folder and converted (txz2xcm) into the .xzm format. Then they should be activated. Both operations can be done by right-clicking on the file and selecting the option from the menu. Once activated, the application should be ready to use.
One more item is to ensure that the files are accessible to Windows without booting. As with Puppy, the /etc/rc.d/rc.local_shutdown needs to be edited with an additional line of code. First, unlike Puppy, the file needs to be made executable. Navigate to /etc/rc.d/ and open a terminal. Then type 'sudo chmod +x rc.local_shutdown' followed by the password 'toor' when prompted. Then 'sudo mousepad rc.local_shutdown' and add the following line to file:
cp -r /home/guest/homework/* /mnt/sdb1/homework/
Finally, copy an files you want into a 'homework' folder in the guest folder then go to the root folder and create another new folder 'homework'. It should sit between /boot and /porteus. I decided against copying the contents of the accessible root homework folder to the inaccessible guest homework folder for security reasons. Users will have to remember to transfer any work done outside Porteus (like in Windows) to the guest homework folder.
The XFCE desktop, the fonts, menus, panels and wallpapers can now be edited to taste. And the USB is complete.