Release notes for Puppy Linux version 3.00
The live-CD iso file is 'puppy-3.00-seamonkey.iso' and is 96.2MB.
This time I have not created a detailed release-notes page, instead,
for further information please go to my Developer News Blog: http://www.puppylinux.com/news/.
This Puppy is a massive upgrade from the previous (v2.17.1). I decided
to aim for close binary compatibility with Slackware 12, with the
objective of being able to install Slackware packages and have all or
most of the required dependencies already in place. To that end, I used
all the building block packages from Slackware 12, such as glibc 2.5,
gcc 4.1.2 and gtk 2.10.13. Most of the libraries in Puppy are now from
Slackware. Note, though, this does not in any way make Puppy a clone of
Slackware -- apart from aiming for binary compatibility, Puppy is
fundamentally unique from the foundations upward.
Another major thing that I have done is totally rewritten the key
scripts that control how Puppy boots up, is configured, and shuts down.
This covers such things as pup_save file custom naming, frugal install
into a subdirectory, pup_save file resizing and correct recognition of
multiple pup_save files at bootup.
Then there are some major breakthroughs, such as finally getting
periodic flushing of RAM to Flash drive working properly -- this is
part of a mechanism that constrains writes to Flash drives so that they
don't burn out.
Release notes (summary):
- All base packages upgraded, including glibc v2.5, gcc v4.1.2, GTK v2.10.13.
- Application upgrades (incomplete list): pptp v1.7.1,
Isomaster
v1.1, KP 2.0 (gray), Pbdict (zigbert), pure-ftpd
(getnikar), trashcan (disciple), Pbackup
(zigbert), Network Wizard (Dougal, tempestuous,
BarryK), JWM v2.0.1, Xvesa Wizard
(gray, BarryK), Burniso2cd (BarryK), Busybox v1.6.1, TkDVD
v4.0.6, various small utilities (gray), Pidgin v2.0.2, SeaMonkey 1.1.2,
Xorg v7.2, Unionfs v2.1.2, Pfind v2.4 (zigbert), PDF-printer v0.8
(jcoder24), WakePup2 (john doe), NoteCase v1.6.5, HomeBank v3.5,
Universal Installer (BarryK), Pmirror v0.2 (zigbert), PRename v0.6 (plinej).
- Massive improvements achieved with new boot and shutdown scripts,
including pup_save file custom naming, frugal install into a
subdirectory, correct recognition of multiple pup_save files at bootup, pup_save file resizing.
- New kernel: 2.6.21.7, configured with 'tickless' option. Initrd.gz is now a cpio archive.
- NetSurf web browser v1.1 as our internal HTML viewer.
- True flushing for Flash drives (andrei, BarryK). Finally.
- Also a great number of bugfixes.
I have shown some authors and contributors above (forum-member names,
in brackets), however this is far from a complete list. My Developer
Blog acknowledges more contributors.
True flushing to Flash drive.
If you install Puppy to a USB Flash drive, Puppy will run in RAM and
save periodically (every 30 minutes) to the 'pup_save' file. This batch
saving is to limit writes and thus prolong the life of the Flash drive.
The saving is copy-down meaning that the RAM does not get flushed -- so
if you have a PC with say only 128MB RAM, no swap partition or swap
file, and say a 512MB 'pup_save' file, you can only fill up the free
RAM space, then you have to reboot -- at shutdown the RAM is flushed to
the 'pup_save'. The free space is shown in the taskbar so you will
always know when space is running low.
However, Puppy 3.00 has something new. PETget, the PET package manager
installs packages direct to the 'pup_save' file, not into RAM. Thus,
you can install big packages and they will not chew up RAM space and
you won't have to reboot.
Other package installation systems (such as for DotPup packages) do not yet have this feature.
Boot parameters. The 'init' script should now correctly handle the boot parameters 'psubdir', 'pdev1'.
The 'init' bootup script now has rigorous handling of 'psubdir', so a
frugal
install of vmlinuz, initrd.gz, pup_300.sfs and zdrv_300.sfs in a
folder, say
'puppy300', will be recognised. Puppy will automatically search
partitions one-deep, however the 'psubdir=puppy300' boot parameter can
be given to prevent Puppy from searching anywhere else. I have updated
the Universal Installer to offer to install to a folder when doing a
frugal install. I
also modified the shutdown script rc.shutdown so that it recognises
that Puppy has booted from a folder and on first shutdown will create
the pup_save.2fs file (personal storage file) in that folder.
These are all optional. you use them to narrow down the search as
much as you want. for example, booting from a usb flash drive, use
'pmedia=usbflash' so that puppy won't waste time probing the cd drives
and other drives (CD probing especially is slow). Or, for a frugal ide
hd install, use 'psubdir=puppy300 pmedia=idehd' so that puppy will only
probe the ide hd's and will only search inside folder 'puppy300' -- this
is particularly good for multiple frugal installations that want to
keep themselves apart.
This is all good news for those who like to have multiple Puppy installations in their PC. More examples:
pmedia=usbflash #choices: usbflash|usbhd|usbcd|ideflash|idehd|idecd|idezip|satacd|satahd|scsihd|scsicd|cd
pdev1=hda7 #partition puppy is installed on.
psubdir=pup220 #folder containing all the puppy files. even pup_save.2fs will be here.
initrd.gz cpio archive.
The 'initrd' file no longer has a filesystem inside it, so cannot be
mounted with a loop device. It is now a cpio archive, so has to be
extracted somehing like this:
# gunzip initrd.gz
# mkdir puppy-devx
# cd puppy-devx
# cat ../initrd | cpio -d -i
Upgrading from earlier version of Puppy.
No problem. If you run Puppy from live-CD, just boot the new CD and
Puppy will automatically perform any required upgrading of your
personal storage file/partition (usually pup_save.2fs file).
For
USB or
frugal-hd installations, just copy the latest files (vmlinuz,
initrd.gz, pup_300.sfs and zdrv_300.sfs) to the USB or hd boot media.
Download. If you want to
obtain the latest Puppy live-CD, or the "devx" module, that turns Puppy
into a complete C/C++ compiler environment, or the patched 2.6.21.7
kernel source, please go to the Puppy download page for links:
http://www.puppylinux.com/download/downpage.htm
Note, file 'devx_300.sfs' is what we call a SFS module,
which is a "combo-pack" of applications in a single file. It
can be loaded at bootup and you instantly have all the apps
"installed". Or, not load it at bootup and all the apps are immediately
"uninstalled". Normally, you just download a SFS file to /mnt/home then
reboot Puppy, and it automatically loads. Note: it is reported on the
Puppy Forum that SLAX .mo modules work with Puppy -- just rename the
'.mo' file extension to '.sfs' -- no guarantees though!
A note on the kernel source: If you want to compile a module, or a
package that needs to reference the kernel source, we have the kernel
source available as an SFS file. Download 'devx_300.sfs' and
'kernel-src_300.sfs' to /mnt/home then reboot Puppy and you're in
business (that's how simple SFS files are to use, but note you can
manage loading of SFS files by running the BootManager (System menu)).
Get the official SFS files from here:
http://distro.ibiblio.org/pub/linux/distributions/puppylinux/sfs_modules-3/
History. To get a better sense of how Puppy has evolved, it is helpful to read the release notes for earlier versions.
Puppy v2.16: http://www.puppylinux.com/download/release-2.17.htm
Puppy v2.16: http://www.puppylinux.com/download/release-2.16.htm
Puppy v2.14: http://www.puppylinux.com/download/release-2.14.htm
Puppy v2.13: http://www.puppylinux.com/download/release-2.13.htm
Puppy v2.12: http://www.puppylinux.com/download/release-2.12.htm
Puppy v2.11: http://www.puppylinux.com/download/release-2.11.htm
Earlier: http://www.puppylinux.com/news.htm
Best regards,
Barry Kauler and the Puppy Team
September 2007