Announcement and release notes for Puppy Linux 4.1

Puppy 4.00 was a major upgrade from 3.01, with just about everything overhauled and updated. Version 4.1 continues the hectic pace of development, with ground-breaking new applications and under-the-hood architectural improvements over 4.00. Ground-breaking apps include our new Psip VOIP and PPLOG personal blog. Under-the-hood includes faster boot times, much better hardware detection, and new 'pup_event' architecture (including desktop drive icons). The live-CD file is 'puppy-4.1-k2.6.25.16-seamonkey.iso' at 94.1MB and 'puppy-4.1retro-k2.6.21.7-seamonkey.iso' at 94.6MB. The latter is a more conservative kernel that perhaps suits older systems. Download from http://puppylinux.com/download/.

Here is a summary of milestones along the way, with links to further information:
Man, what a great list of new stuff! Before I started to writeup this page I was thinking, well, not that many new things compared with the upgrade from Puppy 3.01 to 4.00, but as I itemised each new feature I began to realise how much we have achieved since 4.00. This is really worthy of being version 5.0, but in Puppy tradition we have major improvements with only minor-version-number changes.

Running the new kernel on old hardware
The 2.6.25.16 kernel should run just fine on very old hardware. I have tested on an old PC with Cyrix 6x86 CPU and 128MB RAM and it runs fine. I configured it very conservatively, without 'tickless', nor 'SMP' support (Puppy still runs fine on a multi-processor machine, so don't worry about that!). However, the next release of Puppy (4.2?) may contain a more ambitiously-configured kernel, in which case I have made some advance notes here (but do realise that these issues do not apply to 2.6.25.16 in 4.1!):

If configured for multiple processors (SMP), the kernel will detect a uniprocessor system and run fine, however there are some exceptions -- in which case boot the kernel with the boot option "nosmp".
If the kernel is configured to be 'tickless', which is supposed to make the kernel less busy when idle, and maybe run cooler. However, tickless causes problems on some systems, even upsets some old kernel modules, so boot with "nohz=off".

There is however one thing that does affect you right now. One big difference betwen the 2.6.25.16 kernel used in 4.1 and the 2.6.21.7 kernel used in 4.1retro is that the former uses the new libata PATA drivers for the IDE drives. These have some issues, although most distros are now using them. One thing you will notice is that a drive that might have previously been named '/dev/hda' is now '/dev/sda' (for example). There may be shutdown problems on some hardware, also setting up GRUB may be slightly more difficult.

So why use the new kernel?
One reason is later drivers. Especially for wireless networking. If you have recent hardware, it may be supported better.
If however, Puppy 3.01 or 4.00 worked for you (they also have the 2.6.21.7 kernel) and you don't have any pressing need to use the later kernel (such as improved wireless support), then it's fine to go for the 'retro'.

Acknowledgement to application authors
Some of our Puppy-enthusiasts are very much into developing software. Many of these new and improved packages are created 'in house' by our own guys and I would like to send out a general acknowledgement. You will know who they are if you lurk on the forum -- I have put some names above, but there are many more contributors. Note, just as important are the many testers -- thanks to you guys too!

T2 build system for Dingo
The complete package of T2 and source packages that I used to create the original Puppy Dingo 4.00alpha1 is available for download. After getting a working Puppy, I then used it to compile further packages, so you need to take this T2 build as the boot-strap first step. Please be warned, this is not a way to create Puppy from source! read more.

Puppy Unleashed
This is the recommended way of building your own Puppy. Get it via the download page.

Warnings
If you want to try both variants of 4.1, be careful about your 'pup_save' file, if you have one from an earlier Puppy. It would be a good idea to make a backup copy of it. To play safe, if booting Puppy from CD, first boot with the boot option 'puppy pfix=ram', then try everything that you would normally do, like sound, network-connection, etc., then if satisfied you can stay with that variant. Note, another thing to check is that it powers-off properly (PATA has some issues here). Otherwise, try the same thing with the other variant (boot with 'pfix=ram'). That way, you are not potentially messing up your pup_save.

If the variant (4.1 or 4.1retro) works fine, you can boot and upgrade your pup_save. In same cases you might notice one or two icons out of place or incorrect on the desktop (depending what version of Puppy you are upgrading from) and you may have to manually tidy-up. If you have some GTK1 or Tcl/Tk apps installed, you will have to install support libraries (use the PetGet package manager), as 4.x is GTK2-only.

An extra precaution for those who need to use both variants. Puppy copies the 'pup_410.sfs' file off the CD to the same place as the pup_save file on the hard drive -- 4.1 does this regardless of whether you decline at shutdown. The problem is that this file has all the kernel drivers in it, and if you boot with the other variant, Puppy will use the pup_410.sfs on the hard drive -- result: kernel panic (or it might boot but all the modules will not load). You need to delete the old pup_410.sfs.

Adieu
I have decided to bow out from my position as leader (also known as "Benevolent Dictator") of the Puppy Linux Project (held since I released v0.1 in mid-2003), and take a back seat. Version 4.1 is my final release as leader. A small group of trusted developers will take over, although the details are still to be worked out -- there are a couple of threads on the forum discussing this.
I won't be going away totally, and plan to focus on a "puplet" (derivative of Puppy) based on my "UniPup" concept and targeting specific hardware, probably one or more of the baby laptops. This will be a more part-time project than the hectic full-time pace that I have maintained over the last couple of years.
It is likely that I will keep working on some aspects of the "core" or "base" Puppy, primarily for my puplet but that will be useful for the mainstream Puppy.
Also, I will retain whatever copyright/trademark rights I currently have and continue with ownership of the puppylinux.com and puppylinux.org domain names. Plus, I will provide input to how and who takes over, hopefully without interfering too much. I see this as providing a kind of safeguard function -- I am mindful of other distros that have languished after the Benevolent Dictator left. Monitor my blog for updates on the transitional phase as I progressively retire.
I think this is a great opportunity, and Puppy will become better and better!

Best regards,
Barry Kauler
www.puppylinux.com