Announcement and release notes for Puppy Linux 4.1NOTICE: Versions 4.1.1 and 4.1.2 are bugfix releases of 4.1. Bugfix notes are at the bottom of the page.
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.2-k22.214.171.124-seamonkey.iso' at 94.1MB and 'puppy-4.1.2retro-k126.96.36.199-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:
- 188.8.131.52, 184.108.40.206 kernels. The 'standard' Puppy has been built with the 220.127.116.11 kernel. The 'retro', which may work better on some older hardware, has been built with the 18.104.22.168 kernel and with a more conservative configuration. The older kernel is configured with the old IDE drivers (instead of PATA)*.
- More drivers. With help from forum member
'tempestuous' we have included many extra third-party drivers. Note that the 'retro' Puppy has more modem drivers (HSF modules).
- SCSI kernels. I have also
compiled three SCSI kernels for 4.1retro, with different selections of SCSI drivers
built-in. Puppy is now able to boot from a SCSI drive. read more read more
- LZMA-enabled kernel. The 22.214.171.124 kernel has an LZMA patch for smaller size, and optionally for a smaller initrd.gz (4.1 is built with LZMA-compressed vmlinuz, but the initrd is only gzipped).
- Improved PCMCIA support. Puppy has finally dropped the old pcmcia_cs package, now using the native uevent/udev mechanism.
- Hardware detection. Puppy
has a major overhaul of hardware detection and module loading. The
udevd daemon is now used (from the udev packge) and is supported by
custom scripts. The total environment for hardware detection,
hotplugging and general "event management" is named pup_event, and includes simple GUI management. read more
- Pup_event. The new
pup_event system detects more hardware than before, automatically
creates any missing devnodes (entries in /dev), loads firmware, detects
hotplugged devices. This is also extended to the desktop, where drive
icons appear and disappear as drives are added and removed. The
behaviour of these desktop icons is fully configurable by a GUI. read more
- Faster boot. The main boot script /etc/rc.d/rc.sysinit has been rewritten and is now simpler and faster. Considerable attention has been given to optimise boot speed, with parallel execution wherever possible and no unnecessary 'sleep' instructions.
- Psip VOIP. This is
another major milestone for Puppy, our very own VOIP
telephone/chat/messenger program, named Psip. This is a GUI developed
"in house" and uses the pjsua commandline executable. Previously we
have been prevented from including such an application in Puppy due to
enormous dependencies (and hence huge size). Our guys have created
something that is not only small, but works well and has an excellent
GUI. read more read more
- PPLOG blog. Yet another
major milestone, Puppy now has his very own blog! The Hiawatha web
server is now built-in to Puppy, along with the PPLOG Perl blog. This
is great for a personal diary, or to publish over an intranet or the
Internet. read more read more
- Pmusic audio player.
There is yet another new application developed "in house" by forum
member 'zigbert'. This lovely music player fills a bit of a gap in the
Puppy application-suite. read more
- Ayttm. The inbuilt
multiprotocol chat client is now Ayttm instead of Pidgin. Thanks to the
Ayttm developer Siddhesh for putting in considerable effort to improve
Ayttm. Thanks to forum member 'Wolf_Pup' for an auto-login script to our
#puppylinux IRC channel. read more
- Virus checker. Xfprot, a GUI frontend for the f-prot virus checker, has made a comeback. Not that Linux needs virus checking, but this is a great tool for checking Windows drive partitions.
- Network Wizard. The
Network Wizard has undergone a major overhaul by forum member 'Dougal'.
The layout of the GUI is more logical, and naming of profiles is
improved, amongst many other things. read more
- Huge number of updated applications.
Many updated applications and building-block packages, including Trash
(disciple), Pburn (zigbert), Pfind (zigbert),
Pschedule (zigbert), Pprocess (zigbert), Pmirror (zigbert),
ndiswrapper, ntfs-3g, Fotoxx, xine-lib, unionfs, aufs, Pnethood
(HairyWill), Xlock (Nathan), libgphoto2, gphoto2, Geany, hiawatha,
inotify-tools, inotail, lzma, ePDFView, replaceit, mtPaint, pupX
(Nathan), Wallpaper Setter (Nathan), Figaro's Password Manager, Gdmap,
normalize, Pcdripper (plinej), Pwireless (plinej), Pdvdrsab (plinej),
mut2 (Jesse), Sysprof, Xsoldier, Glade3, Gnumeric, Abiword.
- SeaMonkey with Mail&News. SeaMonkey has been upgraded to version 1.1.11 and now has the Mail & News component, replacing Sylpheed.
- Improved modem support.
Puppy no longer probes for a serial modem and mouse at bootup, as that
has proved unreliable, and is slow. In the case of a modem, other modem
types are still auto-detected, and there has been major improvement of
the PupDial and associated scripts to improve probing and modem setup
post-bootup. Puppy is one of the few distros that is actively working
on supporting Internet dialup users. Forum member 'rerwin' has been
very active testing Puppy with various modems and improving our scripts
-- look him up on the forum if you need help with your modem!
- GPRS modem. Puppy now
supports Internet connection by Multitech USB GPRS modem, thanks to
forum member 'lstandish' (Lloyd). This is also works for other GPRS modems, but we need more testing/verification. read more
- zdrv gone. Another
under-the-hood thing: the 'zdrv' file is no more. For various reasons,
the full set of modules are now available permanently in /lib/modules
and the firmware tarballs in /lib/modules/firmware.
- Many bugs fixed. Many bugfixes and minor improvements. Some are mentioned above,
many more not explicitly mentioned here but can be found by reading
through my Developer News.
Running the new kernel on old hardware
The 126.96.36.199 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 188.8.131.52 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 184.108.40.206 kernel used in 4.1 and the 220.127.116.11 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 18.104.22.168 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.
This is the recommended way of building your own Puppy. Get it via the download page.
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.
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) maybe based on my "UniPup" concept and targeting specific hardware, probably one or more of the baby laptops -- and, I might play with some radical new ideas. 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!
Heh heh, I'm still "leader" for this bugfix release. There are a few niggly things in 4.1 that I wanted to fix. I strictly avoided any changes from 4.1, only applied bugfixes that were really needed or highly desirable. These fixes include: mouse detection, touchpad tapping, loading extra SFS files, DVB USB firmware, old Network Wizard, GPRS messsage, desktop drive icon renaming, desktop drive icon realigning, check dependencies of installed PET packages, ALSA shutdown, ROX error message when copying from Linux to vfat filesystem, improved support for widescreen resolutions, remaster-CD improved, rxvt terminal pasting, and many network setup fixes especially for wireless (including ndiswrapper). Details on all of these fixes can be found by going to my blog, http://puppylinux.com/blog, and do a search for "(SP1)" in the title.
Still a few niggly things in 4.1.1 that I have now fixed. At my blog, do a search for "4.1.2:" in the title to find details, but summarising: bugfix looking for USB drives at bootup, ohci-hcd USB driver was not loading in the initial ramdisk so some interfaces not working at that stage, bugfix for .deb packages extraction, /tmp/versioncleanup fix at version upgrade, Pmetatagger bugfix, some modem detection improvements, tweak for network connection at bootup, can now load 3 SFS files, prevent Pmount crash, prevent invalid RAM-save-interval.