Making a working version of Puppy Linux for iCanProgram

If you are creating from version Puppy Linux 4.3.1 (latest version at February 2010), follow this link - there are a few differences.

A complete iso (CD image) containing the items below is on this site, but making it yourself is not so hard and saves some download time.

Download puppy linux version from Puppy Linux site - start here

http://www.puppylinux.org/index.php?q=downloads

For the downloadable iso, I started with a standard "Official Release" version 4.1.2

Burn to CD, as a CD (iso) image (ie don't just 'copy' the file onto it as data - it wont work).

Set computer to boot from CD - usually a BIOS setting - might already be set.
On the Dells I use, pressing F12 as it boots brings up the boot menu, which means there is no need even to go into the Bios setup, and better still, it will reboot into the standard desktop when you reboot, without making any other changes.

Put newly burned CD in drive, Boot up, set up keyboard, video, Internet connection etc (follow the onscreen prompts)
Close down, follow prompts to make a save file (to preserve settings).

Download devx_xxx.sfs where xxx is the version number of puppy already downloaded, (so devx_412.sfs is included on my version)
ftp://ibiblio.org/pub/linux/distributions/puppylinux/sfs_modules-4

Or http://ftp.nluug.nl/ftp/pub/os/Linux/distr/puppylinux/sfs_modules-4/
seems to work much faster in Europe (but may be updated slightly later than the other site)
correct at February 2010.

This (large - 80mb) file needs to be in /mnt/home on Puppy, but if saved in same drive as the pup save file it should be picked up correctly without having to move it.
Reboot. If asked, say you want the devx...sfs file loaded each time.

For the iCanProgram course
[See note below if you plan to use a USB stick installation]

A. Install RCS
This was not available anywhere, that I can find, in any of the Puppy file repositories
so Download source.
http://www.cs.purdue.edu/homes/trinkle/RCS/rcs-5.7.tar.Z
or
from ftp://ftp.cs.purdue.edu/pub/RCS/
I downloaded to my-applications folder (/root/my-applications)

open a console (icon on the desktop)

NB** This is changed from earlier version - don't su to 'spot' until the "make" step.

Extract (untar) rcs-5.7
#cd /root/my-applications
# tar -xzvf rcs-5.7.tar.Z    [x= extract, z=it's a zipped tar, v=verbose, f=use the file that follows]
change directory to the rcs-5.7 directory
# cd /root/my-applications/rcs-5.7
#./configure
RCS will complain if you make as root (the default puppy user), so change to the non root `spot`

First you need to give permission for spot to write to the folders concerned. I am no chmod expert,
but
#chmod -c -R a+rw /root/my-applications/rcs-5.7
worked for me. The -c is not essential but gives feedback on changes made. The -R ensures changes are made to all sub-directories too.
#su spot [no password required]
#cd /root/my-applications/rcs-5.7
# make

go back to root as follows
#exit
# cd /root/my-applications/rcs-5.7
and install with
# make install

If I have included all right steps should end up with no errors.

B. Install Tcl/tk
Unfortunately, for the course, you can't use the Puppy Linux .pet that is available because it does not have all the source files required.

Download
eg from
http://garr.dl.sourceforge.net/sourceforge/tcl/tcl8.5.6-src.tar.gz
AND
http://puzzle.dl.sourceforge.net/sourceforge/tcl/tk8.5.6-src.tar.gz

or, for the latest version, eg from
http://www.tcl.tk/software/tcltk/download.html
As I said, you need both tcl and tk sources.

download to, say, my-applications

Install Tcl first.
untar Tclx.x.x-src.tar.gz
#cd /root/my-applications
#tar -zxvhf tcl.....tar.gz (fill in the numbers that correspond to the version)
# cd /root/my-applications/tclx.x.x/unix
#./configure
#make
#make install
Do the same for tk


In Puppy 4.3.1, with tcl/tk8.5.8, I also had to make symbolic links for wish and tclsh, as follows:-
#cd /usr/local/bin
#ln -s  wish8.5 wish
#ln -s tclsh8.5 tclsh
If anyone can tell me why wish and tclsh were not created by the 'make install', please do.
This was not necessary with installing 8.5.6 in puppy 4.1.2.


That creates the environment ready to take the simplcourse material

c. Install simplcourse

Download simplcourse.sh from icanprogram site
 copy to the /tmp directory, then
 #cd /tmp
 #chmod a+x simplcourse.sh
 #./simplcourse.sh

Unless I have missed  out an important step, you should now have a liveCD system that will run the iCanProgram course, without messing up any already installed operating system.

Rebooting puppy linux at this point will make sure the changes you have made are saved into the puppysave file ready for next time.

You should now have a liveCD system that will run the iCanProgram course, without messing up any already installed operating system.

Note on installing to USB
Note that if you install to a usb stick, you will have to repeat the steps to include the required environment files (RCS, Tcl/Tk and the simplcourse.sh files), so if you plan to do this, I would advise installing to USB first, so you only need to do it all once. The ready made iso, on the other hand, should install to USB as the complete system.

One other issue I should pass on is that I have had mixed success with installing to usb sticks formatted to ext2 or ext3. If the USB stick is formatted as vfat (ie windows format-usually the supplied format), the install will default to a 'frugal' install and I have found this simpler.

Menu>Setup>'Puppy Universal Installer' - and follow the prompts



Donate
You don't have to donate, but if you do, it helps support further developments. Thanks. (Click the button below to donate via paypal.)