logoPuppy developer news:

from 1.09 to 2.01

left-arrow Older news

arrow-rightLater news

June 19, 2006

Puppy version 2.01 is released. The live-CD is puppy-2.01-seamonkey.iso and is 70.8M. Release notes:

  • Please read the release notes for Puppy v2.00, released June 1st. Those notes still apply.
  • Booting from CD in a RAM-challenged PC (32 - 128M RAM) has significant performance improvement. A swap file is now automatically created -- see news for June 18.
  • ALSA sound has been upgraded to version 1.0.11, to recognise recent sound chips.
  • Tcl/Tk has been upgraded to 8.5a4 and now has font antialiasing, that automatically works on all Tcl/Tk GUI apps.
  • The audio recorder/editor is now mhWaveEdit, version 1.4.8, replacing the Snack library and XS editor.
  • Perl is upgraded to version 5.8.6 and now includes GTK modules.
  • GPRename is a GTK-Perl application for batch file renaming.
  • Rarsa's mini-volume taskbar applet is upgraded to version 0.3.
  • MU's Puppybackgroundsetter is upgraded to version 2.0.
  • Jesse's MUT (Media Utility Tool) is upgraded to version 0.0.9c.
  • Unclutter is a utility to auto-hide the mouse pointer when it isn't moving. It is configured via the Mouse Wizard.
  • Installing to hard drive is improved, but there are still issues installing over an existing installation of Puppy 1.x or other distro -- best to wipe beforehand. The Installer's handling of creating a boot floppy is messy.
  • Lots of bugfixes -- for details, read the news below since June 1st. Upgrading from v2.00 is recommended.
    If you have a prior pup_save.3fs file (where all your personal files are saved), booting up the v2.01 CD will perform an automatic upgrade. There is however one odd thing with the ALSA kernel modules: these are upgraded to v1.0.11 but there is an error message about missing symbols and the snd-mixer-oss module does not load (so the sound mixer won't work). But, on the next reboot it is okay -- I investigated this for sometime and it defies logic, but perhaps it is a unionfs problem. Anyway, it's a temporary annoyance.
There is still a lot to-do, which has to hold-over until v2.02. The Universal Installer still needs work, as does hardware detection at bootup and booting from media such as PCMCIA and SATA. NTFS support needs attention also.

Please read news for June 1st for download URLs.
The latest Unleashed and devx_201.sfs files are also available.

Discussion forums status
My Puppy2 Developer forum isn't working. I've been waiting almost two days for Netfirms customer support to reply.
Since yesterday I have not been able to post anything to John Murga's Puppy forum, which is our main forum.

Other Puppy flavours
I intend to upload OneBone and BareBones in a couple of days.
OneBone: Puppy with CLI apps only, no X.
BareBones: A very small Puppy with X and lightweight apps.
John Murga will be releasing MeanPuppy soon, a 50M Opera-based Puppy.

June 18

I've taken a step toward improving performance in RAM-challenged PCs, the 32 - 128M PC without any Linux swap partition. The boot script /etc/rc.d/rc.sysinit will, under certain circumstances, create and activate a swap file.

To explain this more clearly:

  1. You boot the live-CD for the first time on a RAM-challenged PC. If the PC has 128M RAM, then the pup_xxx.sfs file (the single file which contains all of Puppy) loads into RAM, with less RAM the file instead mounts from the CD. In the former case, there's barely enough room in the RAM to run big applications like SeaMonkey. In the latter case (<128M), much CD-drive activity. In both cases, sluggish performance.
  2. You shutdown/reboot, during which you are asked where you want to create the pup_save.3fs file in which the session will be saved. You choose a suitable hard drive or USB drive (even floppy).
  3. At next bootup, if you had chosen to create the pup_save.3fs file on a fast internal non-NTFS partition, then Puppy will automatically create a swap file and activate it.
    You will also notice a lot of free space showing in the blue box in the right side of the taskbar, but note that this only shows the free space in the pup_save.3fs file.
    So, now you have lots of space for saving personal files (the pup_save.3fs file) and the RAM working space in which the applications run and the kernel does all of its file management is now effectively much bigger due to the swap file.
Testing on my PC with 1GHz Celeron CPU and 128M RAM, the speed improvement with the swap file is enormous. SeaMonkey starts in 6 seonds the first time, about 2 seconds subsequently.
The swap file is going to improve performance, however there is one more thing that can be done that will improve performance even more. In the case of the 128M PC, Puppy does manage to load the pup_xxx.sfs file (the 'guts' of Puppy) into RAM, but for PCs with less RAM it has to be mounted from the CD. Either way results in slow performance: the former due to less free RAM, the latter due to frequent CD reads. Solution:
  1. Use Rox file manager to copy pup_xxx.sfs off the CD to /initrd/mnt/dev_save. The latter is the mount point of the partition that has the pup_save.3fs file.
  2. Reboot, and you will get a very fast boot, the CD drive is freed for other uses, and performance is snappy.
After doing this, my 128M 1GHz PC boots from the Isolinux boot menu to desktop fully loaded in an amazing 18 seconds.

The above does not apply to a NTFS partition!
Note, the end result of all of the above is, in a hard drive partition you will have three files together, pup_save.3fs, pup_xxx.sfs (example: pup_201.sfs) and pupswap.swp (swap file).

June 17

Improvements to /etc/rc.d/rc.update script. In particular, if there are changes to the modules, the latest modules and 'depmod' files must be 'on top' in the unionfs layered system.

libstdc++-6.0.3 Unleashed package is now part of the 'standard' live-CD. I figured, so many DotPups and other binary installable applications need it, so best to have it in beforehand. Opera for example.

Puppy has embraced Perl, a very small Perl, cutdown by John Murga and then by Mark Ulrich.
Having Perl in Puppy means that ndiswrapper, the tool for installing Windows wireless network drivers into Linux, is available in Puppy. The latest Perl Unleashed package also has GTK modules, so we can have GTK-Perl applications. So, we now have one, GPRename, a very interesting batch file renamer. It will be in the "File managers" menu in Puppy 2.01.
The Unleashed package is gprename-1.7.
I wonder what other GTK-Perl applications are out there?...

Rarsa (Raul) has been very patient... he has developed a great little applet for the window manager taskbar, mini-volume, a very convenient way to control the speaker volume. He just released version 0.2, then I asked, please rewrite it as I am taking Snack out of Puppy. Without grumbling, he did so, and we now have version 0.3.

MU (Mark) has improved the Puppybackgroundsetter. He brought out a service pack for Puppy 2.00, and I have incorporated the pack into the Unleashed package, and it is now named puppybackground-2.0.

Jesse has done some great work improving MUT (Media Utility Tool). He wrote disks.tcl, a program to help with distinguishing between the different type of drives, like SATA and USB. He has incorporated disks.tcl into MUT and released version 0.0.9.
I made a slight change for MUT to work with Tcl/Tk 8.5 and also changed the load_drivers.sh script, and have made this version 0.0.9a.

Jesse wrote disks.tcl in response to our ongoing agonizing over how to distinguish between types of drives at bootup. SATA and USB drives use the SCSI-emulation layer, so their drive letters are the same. I want to look further at disks.tcl and the other contributions on the forums to improve booting from SATA/SCSI/USB drives, however have to hold that over for v2.02.
Version 2.01 is now "frozen" and I'm just doing minor changes and bug fixes. It is urgent to get v2.01 out as soon as possible, as it has some major bug fixes, especially regarding hard drive installation.

June 16

I converted MU's Perl-midi DotPup package into an Unleashed package, named perl-5.8.6midi. This replaces the perl-5.8.0 Unleashed package. There was a clash of Perl versions, as devx_xxx.sfs (also the usr_devx.sfs for Puppy1) has Perl 5.8.6 (taken from Vector) whereas the Unleashed package was 5.8.0. Now, they are the same versions, so there should be no problem if the devx_xxx.sfs file is used.
Mark created Perl-midi with just the modules he needed, including GTK modules, and it is somewhat smaller than the previous Unleashed package.

ALSA drivers, library and utilities has been upgraded to version 1.0.11. Previously, the drivers were those that came with the kernel and the asound library and utilities were version 1.0.8.
We had a couple of reports of sound hardware not working, including my own new PC, and we found that ALSA 1.0.11 has the fix.

The application 'iwpriv' has been added to the Wireless Tools v28 Unleashed package.

I've just tested Mark's Perl-midi with ndiswrapper. It only needed a few extra Perl modules and it works. That's fantastic!

Yippee! I found the bug that caused autodetection of network driver etc. to not work after a hard drive install. Just a simple little logical error in /etc/rc.d/rc.modules.

Note, Puppy 2.01 is expected to be released early next week, about 19 - 20th. Who cares about a beta release! -- it's looking good, but I'll fire it up on 4 - 5 different machines to be sure.

June 15

I recompiled the calendar application Ical, to work with Tcl/Tk 8.5. The Unleashed package is still the same name, ical-2.3.1patched.

The LAME package has been upgraded from version 3.93.1 to 3.96.1. This package has the 'lame' executable, and previously I had compiled it without the shared library file libmp3lame.so. However, another application needs the shared library file, so recompiled and took the opportunity to upgrade. LAME is for encoding (creating) MP3 audio files, and is used by many applications, including RipperX and SOX.

The sound conversion library and utilities package libsndfile, version 1.0.16, is now in Puppy. The reason for this is I like the mhWaveEdit sound recorder/editor much more than the XS application provided with the Snack package, and mhWaveEdit can use libsndfile for opening and saving in all the file formats that libsndfile supports. Libsndfile also has utilities sndfile-info, sndfile-convert, sndfile-play, sndfile-request and sndfile-regtest. The Unleashed package is libsndfile-1.0.16.
Actually, I'm in two minds about whether the extra 400K of libsndfile is really necessary, so I have created two Unleashed packages of mhWaveEdit, compiled with and without support for libsndfile. For the next release of Puppy I'll go for the 'without', to save space.

June 14

I have upgraded the Tcl/Tk libraries from version 8.4.2 to 8.5a4. My main reason for doing this is to get font antialiasing, which gets automatically applied to all the Tcl/Tk GUI apps and gives them a more modern appearance.
I am working through testing the Tcl/Tk apps for compatibility with the new library. Mostly okay, some apps have issues.

PHV (Puppy HTML Viewer), the HTML file viewer that I was working on over a year ago, looks real nice with the antialiased fonts. It is available as a PupGet package and you also need the Tkhtml2.0 PupGet package.
Klhrevolutionist mentioned on the Forum that there is now Tkhtml3.0, but I found it is not compatible with my PHV program. probably easy enough to fix. Note, the Tkhtml3.0 source package dontains a "HV" demo HTML file viewer, but it it not as good as mine! -- it also has more dependencies, such as the Snit library.
In some respects, my PHV program is better than Dillo. Yeah, maybe I'll work on it again!

June 13

Jesse's MUT (Media Utility Tool) is upgraded from version 0.0.8 to 0.0.8a. It is a little hack to fix a problem with incorrect recognition of a swap partition in Puppy2.

As reported in the News for June 11, rerwin discovered a solution to the SmartLink modem "grab" problem. But, it still didn't work. Our conversation is to be found in the developer's forum:
After examining error messages from the Modem Wizard and googling, rerwin found another issue and how to fix it -- it turns out that the readme file supplied with the source tarball has wrong information, and it was only by googling and chancing upon a conversation between someone from Smartlink and someone from Fedora that the fix has been found ...sigh.
Anyway, much thanks to rerwin. I'm implementing the fix, so hopefully v2.01 will be fine. I had to edit /etc/rc.d/rc.network, /usr/sbin/modem-wizard, the pinstall.sh script in the slmodem-2.9.11patched-k2.6.16.7 Unleashed package and used mknod to recreate the slamr0-3 and slusb0-3 devices.

Note that the SmartLink drivers can be used for other (non-SmartLink) modems. I did read somewhere that SmartLink have put a restriction in their latest drivers so that they only work with actual SmartLink modems, but rerwin posted an example of one workaround, for the NetoDragon modem.

Jesse reported that USB drivers were not getting loaded on his PC and he found the fault in 'init' script in the initial ramdisk. Our discussion is on the Developers' Forum:
I have improved the script.

While on the subject of USB, I found out what went wrong with USB detection when the Universal Installer is used to install Puppy to hard drive, full installation (what we call 'option 2').

June 12

I compiled Xfmedia media player. This uses the Xine library, same as Gxine, and is very similar in features and performance, except doesn't seem to have full-screen video. Gxine has more configuration options and overall seems more polished -- but Xfmedia is an on-going project, part of the Xfce window manager suite, and will steadily improve. Anyway, it is nice to have a choice, and I have made it into an Unleashed package, xfmedia-0.9.1, and it will be a PupGet package installable when Puppy 2.01 is released.

I also compiled the latest mhWaveEdit, a audio recorder and editor. Due to limited available libraries in Puppy, it only handles mp3 and wav files, but it could be expanded in the future. I did test mhWaveEdit a couple of years ago, and if my memory serves me right, it was buggy. This latest version works well.
I'm contemplating using mhWaveEdit in place of the Snack-based XS audio recorder/editor, although the latter does have the advantage that it handles many audio file formats and can be used to convert between file formats.
This also is an Unleashed package, mhwaveedit-1.4.8.

June 11

It has been reported on the Forum that the SmartLink modem driver does not work. There are two drivers, slamr and slusb, the former for serial modems, the latter for usb modems, and the only feedback so far is about the slamr driver.
rerwin (forum name) has helped out here by doing some detective work. This is a known bug. Apparently the winmodem identifies itself to the Linux kernel as a true modem (which it isn't) and this causes the kernel to assign it to a serial port. When the slamr driver is loaded, it finds the modem is already "grabbed" and is unavailable. A program has been written, called ungrab-winmodem, which is a kernel module that has to be loaded just before slamr is loaded.
I have compiled ungrab-winmodem and edited /etc/rc.d/rc.network so that it gets loaded before slamr. I don't have a serial SmartLink modem to test, but this fix will be in v2.01 so you guys with SmartLink modems can give it a spin.

...well, why not test it right now. I have uploaded rc.network and ungrab-winmodem.ko to ibiblio:
Download them to these locations:
Then run these commands:

# depmod
then either reboot (if session is saved) or do this...
# rmmod slusb
# rmmod slamr
# modprobe ungrab-winmodem
# modprobe slamr

Just had an interesting thought... I wonder if the people who have a SmartLink serial modem are also the same people who reported a problem with puppyserialdetect? (see News for June 8)

June 11

Puppy v2.01 will have unclutter, a tiny utility application that auto-hides the mouse cursor when it isn't moving. I was told about this ages ago then forgot, and only now remembered it. It is an old application, last updated in 1996, but it is still very useful. People using Puppy for kiosk type of displays would like the cursor to be hidden, but the most popular reason is when using a text editor or wordprocessor (or web browser, etc.,) where the mouse cursor is sometimes in the way. It is launched from ~/.xinitrc every time X starts. I set the idle time to 3 seconds. The Unleashed package is unclutter-0.8-11 and I got the source from a Debian package archive.

But then I thought, some people might not like the mouse cursor disappearing from view after a few seconds idle, so have made it optional. The Mouse Wizard now has an extra checkbox to turn it on or off, default is off. The Keyboard/Mouse Wizard script is /usr/sbin/input-wizard. The effect is immediate, does not require a restart of X.

June 10

John Murga's popular 50M Opera-Puppy, that fits on a business-card-size-CD and is easy for those on dialup to download, is now in its first beta based on Puppy 2.00.
Look here: http://www.murga.org/~puppy/viewtopic.php?t=8557

Nyu has create a Chinese Puppy based on Puppy 2.00:

June 10

So much great stuff gets posted on the Puppy Forum! I don't mention most of it, as a lot gets reported in the Wiki Community-supported News page: http://www.puppylinux.org/wikka/LatestNews
Just a couple of recent really interesting items:

Bash-diff (in Puppy2) is Bash on steroids. Interested persons invited to get stuck into it: http://www.murga.org/~puppy/viewtopic.php?t=7531

Need wireless driver? http://www.murga.org/~puppy/viewtopic.php?t=8488

Hacao Linux, our Vietnamese flavoured Puppy, is now at beta1 based on Puppy2: http://www.murga.org/~puppy/viewtopic.php?t=8534

Regarding OneBone, could it be smaller? Definitely yes. I left in lots of packages that may not be required in a text-mode only system. You could probably sift through the packages.txt file and find more candidates for removal -- then use Unleashed to build your own OneBone. Note, sound support is still there (Alsa, Snack, wavplay), so OneBone can play music, but I did remove Xine.

June 9

OneBone Puppy version 2.00rev.1 is released. The live-CD iso file is puppy-onebone-2.00r1.iso and is 26.4M. This is a play-thing, requested by a few people on the forum, and definitely not for the average user. In other words, Linux commandline nerds only! Download from ibiblio.org.

OneBone does not have any X GUI applications. It does have Elinks web browser, Ytree file manager and MP text editor. The Lucent and SmartLink modem drivers are included (though there is an issue with the latter, see forum). The full list of packages is to be found in /root/.packages/packages.txt.

OneBone is a one-off from me, but it would be an interesting ongoing project for someone so inclined. There are lots of text-mode applications out there and a very interesting flavour of Puppy could be created, based on this starting point. Note that currently Puppy does not have mouse support in text-mode, but I found Elinks quite usable with the keyboard -- there is no text-mode Network Wizard, but I just ran "dhcpcd eth0" and I was connected to the Internet. For dialup, there are the text-mode wvdial and eznet.

Note also that the version of OneBone is 2.00 revision 1, as it includes the bugfixes mentioned below since the release of v2.00.

June 8

There has been some discussion on the Puppy forums about the missing 'bcm5700' network driver, that was present in the Puppy 1.xx series. We found that the 'tg3' driver works. This is currently not included in v2.00, but will be in 2.01. Quoting from http://www.broadcom.com/support/ethernet_nic/faq_drivers.php#tg3:

To better support users, Broadcom has been actively supporting, maintaining, and testing the in-kernel tg3 driver for well over a year. Broadcom has officially released the tg3 driver as a package, and the tg3 driver is now the Linux driver that Broadcom will support for the NetXtreme product line. Accordingly, Broadcom will discontinue support for the bcm5700 driver and no longer provide updates.
If you are really desparate to use the tg3 driver right now, it is in the 'all-modules' package at http://www.puppylinux.com/test/.

puppyserialdetect is a small program that detects the presence of serial mouse and modem. I posted this on the forum awhile back and invited testers, and all reports were that it works. However, after releasing Puppy 2.00 there have been two reports that puppyserialdetect hangs.
puppyserialdetect is called during bootup by /etc/rc.d/rc.local0, so if it hangs so does the bootup. I have modified the script to launch puppyserialdetect as a separate process and kill it if it doesn't complete after four seconds.

Puppy version 2.00 with Opera web browser is released. The live-CD iso file is puppy-2.00-opera.iso and is 70.1M. release notes:
  • The release notes of version 2.00 'standard' (SeaMonkey) Puppy also apply.
  • Opera version 9.0 beta2 replaces SeaMonkey 1.0.
  • Amaya 8.8.51 WYSIWYG HTML editor replaces SeaMonkey Composer.
  • Gaim has been removed (Opera has an IRC chat client).
If you bootup on a PC with an existing pup_save.3fs file (saved-sessions file from another Puppy2 release), then the desktop will be incorrect. As this is not a version update, no corrections are applied to an existing desktop layout or menu. Therefore, bootup on a PC without any pup_save.3fs file, or bootup with boot option "puppy pfix=ram" to run totally in RAM.

This is still version 2.00. Fixes, like the abovementioned 'tg3' driver, are not in it. But, the Modem Wizard fix did get in. If you have a PC with only 128M RAM and no Linux swap partition, tweaks for improving performance are still not there, and scheduled for v2.01 -- this release will load totally into RAM, freeing up the CD drive, but loading and running of Opera is a bit sluggish. The problem is that there is not quite enough free RAM and the kernel has to do a lot of juggling, which slows things down. What would improve speed is a swap file, which is what I might do for 2.01. At 70.1M, this is not the slimmer Opera-Puppy I was earlier contemplating.

June 7

Lior's great little freememapplet in the taskbar displays free memory and has a menu -- just left-click and there it is. One of the menu entries is "Help: what does this mean?", but as was pointed out in the forum, this just opens Dillo with an empty page. I fixed it, created a page that explains exactly what the value in the taskbar is showing, and what to do if it gets too low.

r_hughes reported that the wrong network driver got loaded, 'tulip' instead of 'dmfe'. The file /lib/modules/ shows that both drivers are suitable for the 1282:9102 chip (which is what r_hughes has), and Puppy just loads the first one, the tulip driver.
To fix this problem, I've created a little "cheat table" in /etc/rc.d/rc.modules. The first and so far only entry in this table has this:

dmfe 0x00001282 0x00009102 #r_hughes reports tulip module not work.

which will cause Puppy to use the dmfe driver instead.

If you are getting the wrong module loaded, or the module is not loaded at all although it is present, send me the vendor:chip numbers, a brief description of the chip model name and function, and the correct module.

How to find out the vendor:chip numbers? These are two four-digit numbers that uniquely identify the chip used in the PCI interface (video, network, pcmcia, or whatever). If you open a terminal window and type this:

# lspci -n

you will see all the vendor:chip numbers, but no identification as to what they do. For that, go to http://pciids.sourceforge.net and either look online or download the 'pci.ids' file. That should enable you to identify the network chip or whatever is the troublesome one. Then post the info to me, preferably via the forum.

June 5

I have compiled the latest stable release of Scribus, version Scribus is a superb desktop publishing application, however the print-preview in version 1.2.1 used in Puppy does not work. In the latest version, print-preview works nicely. I've made this into a Unleashed package and it will be available as a PupGet package with the next version of Puppy (2.01).

There was a report on the forum that the Modem Wizard is not working. I found out why. I had placed a little program into it called modem-stats (see news for May 19 below), which worked fine with the original modem I tested on. Testing on another modem however, is not so good.
Sending an "AT" command to the modem, modem-stats just hangs, which means that the Modem Wizard hangs. However, sending "ATZ" does produce an "OK" response. But, turn off the modem and try it, modem-stats hangs.
I need to find something better than modem-stats (or improve its source code), but in the meantime, if you are one of those experiencing trouble with the Modem Wizard, use a text editor to open /usr/sbin/modem-wizard and find the line with "modem-stats" then edit it:

#the above method used to work k2.4, not k2.6. now do it like this...
#no, with one modem at least, it hangs, also only works with atz...
#also hangs if modem unplugged or turned off (contrary to what docs say)...
#modem-stats -c "AT" $1 > /tmp/answer.txt
modem-stats -c "ATZ" $1 > /tmp/answer.txt &
sleep 2
killall modem-stats

Even if the Modem wizard does work with your modem, it is a good idea to try this code change to make sure that it still works, considering that I've made this change in the original source and it may be in the next Puppy release.

June 4

eSvn is a GUI frontend for the svn program, a subversion control system. I have made it into an Unleashed package, esvn-0.6.11-1 and have uploaded it to the pupgets folder at ibiblio.org. For the standard and BareBones Puppies, and all earlier Puppies, you will need to download it first and then use the PupGet package manager to install it as an alien package. It will not appear in the menu (not until the next release of Puppy with updated menus). The executable is 'esvn'.
It requires the 'svn' and 'qt' Pupget packages to be pre-installed.

June 2

BareBones Puppy version 2.00 is released. The live-CD iso file is puppy-barebones-2.00.iso and is only 39.9M. Download from ibiblio, see link in June 1 news below.

BareBones is especially for people on slow dialup Internet connection. What you get is a cutdown Puppy, with Dillo web browser only and Xvesa Kdrive X server only. The major applications such as Abiword and Gnumeric are removed. However, most small applications and utilities, plus the entire infrastructure and libraries, are present. After creating a pup_save.3fs personal storage file, get connected to the Internet and use the PupGet package manager to download whatever extra applications you need. Dillo for example is a pathetic web browser, but you can use PupGet to download Opera, Firefox or SeaMonkey. If the PupGet package manager does not have what you want, there may be a DotPup package that has what you want, such as a later version of Firefox. Though, in the cases of Firefox and Opera, you should be able to download the latest binary tarballs from their home download sites -- look in the Puppy Wiki for help on this.

I've got an idea for a tweak to further improve BareBones and other small Puppy iso's to run fast in less RAM, so I might release a 2.00-revision1 soon, rather than wait until 2.01.

I really love the new Opera version 9.0 beta2. Superb support for SVG. I like the 'fit to window' feature -- as I run 800x600, sites like distrowatch are too wide, but Opera can squeeze it to fit the window. Many other nice things. So, I created a live-CD with Opera and Amaya to replace SeaMonkey, and I'm running it right now, typing in Amaya.
But, I would like a bit more time before releasing a iso file. I would like to work on it for a few days, perhaps upload it by next Thursday or Friday (8th - 9th). I intend this iso to be slightly slimmer and well-suited to 128M PCs. I think John Murga is going to create an Opera-based 50M iso and I won't compete with that -- I'm aiming for around 65 - 68M.

June 1

Puppy version 2.00 is released. The 'standard' live-CD iso file is puppy-2.00-seamonkey.iso and is 70.0M. Smaller iso files, such as our "BareBones Puppy" will be released very soon. This is a major upgrade from the 1.xx series. How to summarise five months work? The graphical user interface is much the same, as most work has been on the underlying architecture. In a nutshell, the fundamental architecture and bootup-shutdown scripts are a total rewrite, from scratch, no relationship to any other distro. Release notes:

  • Redesign of the underlying architecture of Puppy for streamlined booting from any media, running in a wide range of environments, and installation to any media, including CD/DVD, hard drive, USB, Zip.
  • Total rewrite of the boot and shutdown scripts for maximum flexibility. No longer does Puppy automatically create a personal save-file on the hard drive -- now you are in control and choose exactly where you want it (note, you make the choice at the first shutdown). You can even save personal files/settings to a floppy disk!
  • Total rewrite of the main Wizards, in particular the Puppy Universal Installer and the CD/DVD Simple Remaster Wizards.
  • The 'standard' live-CD now uses Mozilla SeaMonkey suite, with web browser, composer, mail & news and addressbook.
  • The 'standard' live-CD has the wonderful Inkscape vector editor.
  • The 'standard' live-CD has GParted, an excellent graphical drive partitioning tool.
  • Geany text editor replaces the aging Beaver.
  • The 'standard' live-CD now has Perl, v5.8.0.
  • Greate little applets for the taskbar, to display free memory, volume control, network status. Read down this page for further details.
  • There is considerably more automatic hardware detection, with loading of the correct kernel modules.
  • We have moved from a 2.4 kernel to 2.6. Now using version
  • Many more little utility applications, read down this page.
The files in Puppy2
Users of Puppy1 will have to become accustomed to new file names:
This is the persistent storage, where all your data, settings, email, installed packages, etc., get saved permanently. The ".3fs" means that the file contains a ext3 filesystem.
Puppy1 approx. equivalent: pup001
This is Puppy. The builtin applications, window manager, scripts, everything. The ".sfs" means the file contains a squashfs compressed filesystem. The "xxx" is the Puppy version number without the dots, for example "200".
Puppy1 approx. equivalent: usr_cram.fs
The initial ramdisk. This is a small filesystem that loads into ram and is executed first at bootup.
Puppy1 approx. equivalent: image.gz
This table is an extract from "How Puppy works", a webpage that explains the architecture of Puppy2 in some depth. Srongly recommended that you read it:

RAM-challenged PCs
The 'standard' live-CD has become a bit fat and for PCs with 128M or less RAM (and no Linux swap partition) one file (pup_200.sfs) is mounted from the CD, not copied to RAM. This means that the CD/DVD drive is not free for other uses and also Puppy will run a bit slower.
However, there is a simple solution, that will result in very fast boot time, frees up the CD/DVD drive after bootup, and causes Puppy to run very fast! See the notes below, dated May 31.
This simple fix is recommended for PCs with any amount of RAM, even if you have oodles, like 1G, as it speeds the bootup time from CD.

Hardware detection
We are getting close to rivalling the likes of Knoppix for automatic hardware detection. The intention is that if you install Puppy to a portable media such as USB Flash pen drive, or save sessions to a multisession-CD, you will be able to take that media to another PC and have the new hardware autodetected -- in other words, it won't be statically set for the hardware of just one PC. We are getting there... sound, mouse, network are just about there. Currently you would need to choose Xvesa Kdrive X server for portability.

Burning to CD
The iso file can be burnt to CD-R or CD-RW using most Windows or Linux CD-burner programs. If you want to use it in multisession mode (sessions get saved back to CD-R), then be sure the CD-burner program supports multi-session burning (leaves CD "open" for further tracks to be burnt later).

Burning to DVD
You need a Linux DVD-burner program, such as Burniso2cd in Puppy -- this program burns the DVD "open", so that it can be used normally or as multisession. There was a report on the forum that DVDDecypter (www.mrbass.org/dvdrip) works okay in Windows, but beware, many Windows DVD-burner programs will not burn the iso file correctly.

Multisession CD/DVD
Now works extremely well, but note that DVD still is the superior choice. See note above for burning CD and DVD 'open'.
For the multisession-CD, there is one problem with laptop drives. Sometimes at shutdown, when the session is being saved back to CD, the drive tray opens then closes before the actual save -- or rather, that is what happens with normal drives. The laptop drive can only be closed manually, so if the tray opens just before the actual save, you have to manually close it. I will try to determine why this happens and fix it.

If you have a pre-existing pup_save.3fs file, from using earlier alpha-releases of Puppy2, it will now be upgraded automatically. However, I recommend that you first boot up the new CD totally in RAM, by the boot parameters "puppy pfix=ram" to get a feel for how the new Puppy2 works, and you can then try a normal reboot and see if the upgrade works and gives you a correctly updated working environment.
If you want to upgrade from Puppy1, that is, you have a 'pup001' file somewhere, there is a script for importing from it. Open a terminal window and type "importfrompuppy1". This script is pretty bare-bones and I would like help with improving it.

You can find the 'standard' Puppy version 2.00 iso file, puppy-2.00-seamonkey.iso, via the Puppy Download page:
Download the complete set of modules for the kernel, patched kernel source, also the latest devx_200.sfs compiler file: http://www.puppylinux.com/test/

Puppy Unleashed
The complete Unleashed tarball (247M), as well as the 'core' tarball (11M), is available at:
For further information on Puppy Unleashed:
Mark Ulrich has kindly provided this fast mirror: http://dotpups.de/puppy-releases/2.00/

May 31

As mentioned in the release notes for the May 24 beta1 release, the standard Puppy iso is getting too fat to run properly in a PC with only 128M RAM (and no Linux swap partition). If the guts of Puppy, the pup_xxx.sfs file, is loaded from CD to ramdisk, there isn't enough free RAM for Mozilla to run. So, the beta1 release leaves pup_xxx.sfs on the CD and mounts it from there -- meaning that you can't use the CD/DVD drive for anything else, and Puppy will run a bit slow due to the continual CD accesses.
We plan a couple of slimmer releases of Puppy2 that will load totally into RAM on a PC with only 128M total RAM space. However, the standard release now has a workaround:

When you boot from CD, it remains mounted and the mount-point is /initrd/mnt/dev_ro1. The hard drive partition that has the saved personal file pup_save.3fs is mounted at /mnt/home, or if this is the very first boot of Puppy, use Pmount or MUT to mount the partition where you intend to create the pup_save.3fs file. Using ROX-Filer, drag pup_xxx.sfs from the CD to the hard drive partition. Then unmount the hard drive partition if you had mounted it.
At next boot, pup_xxx.sfs on the hard drive partition will be discovered and used instead of the copy on the CD.
It's not too difficult to do, and you only have to do it once, and the reward will be the CD drive becomes free and Puppy will run faster.

Here's a new review of Puppy and interview:

May 31

I fixed a bug with the Ethernet/Network Wizard. It was not displaying loaded drivers. I found that I had corrupted the format of /etc/networkmodules (there should not be any space character in column 1).

I've tracked down some modem bugs. There is a bug in the Modem Wizard that caused the 'ttyLT0' button not to display after the Lucent driver PupGet package was loaded. Fixed.

May 31

My new PC (see May 25 news below) has some compatibility problems. Neither sound nor SATA work.

The sound chip is ADI AD1986A and ALSA does have a driver for it, which Puppy Loads at bootup. Puppy then executes the 'aplay' program to play a sound, however 'aplay' hangs, thus bootup hangs. This problem was reported by a couple of people on the forum and it is good that I have got the same bug as I have now devised a workaround. For those of you using the May 24 Puppy2 and have this bug, type ctrl-c to quit aplay and then booting will continue. I have modified the boot script so that even if aplay hangs, bootup will not.
The very latest version of ALSA fixes this bug, but Puppy2 is at the "freeze" stage and I will hold the upgrade of ALSA over to v2.01.

The ASUS P5V800-MX motherboard has the VIA VT8251 Southbridge chip and there is no Linux distro out there that will work with its SATA interface. There is a kernel patch available, which apparently needs a bit more work, and it seems the patch is targetted to be part of the official kernel for v2.6.18. So, probably we will have to target that fix for Puppy v2.01 or 2.02.

May 31

As we are currently having "forum problems", I decided to setup another "emergency" forum. This one is very interesting, it's E-Blah, written in Perl, with a flat file database (that is, doesn't use any SQL database). I like being independent of any SQL database, but is E-Blah up to the task? From all reports I could find, it seems so.
This one is for Puppy version 2 only, to avoid confusion and clutter. For users of 1.09CE, Grafpup, etc. who stumble onto this Puppy2 forum, I'll put links from it, to the appropriate forum.

Puppy 2 Discussion Forum: http://www.puppylinux.com/forum/

This forum requires registration to post, and registration activation requires email confirmation. This is for security reasons. E-Blah also supports GD::SecurityImage, which displays a raster image with characters that the user has to type in, deterring robots, however it seems my host's Apache server isn't setup right (I shall have to lobby them).

May 29

Tracked down some bugs in the remaster-CD script. The most serious caused essential files, such as vmlinuz, to be missing from the remastered CD.

On first boot, the assumption is now that you do have a scrollwheel mouse. There was at least one report that enabling the scrollwheel in Xvesa or Xorg for a non-scrollwheel mouse caused mouse malfunction, but this was a very small percentage of cases.

May 28

At bootup, if sound is successfully detected, the 'aplay' program is used to play '2barks.au', that barks twice. This happens at every bootup. There are two problems with this. One is that some people do not want to draw attention to the fact that they are booting Puppy. Second, it seems that some laptops get stuck in the 'aplay' program, barking forever, preventing the boot script from continuing.
The compromise is that the two barks will only happen at the very first boot, when the welcome splash window is put up. Subsequent boots, when you have created a permanent storage file, you will not get the splash window nor the barks. For those troublesome laptops, the barking will be continuous but only until you kill the welcome window -- at least Puppy won't hang.

May 28

The jwmconfig background-setter scripts in /root/.jwm/themes/ are wrong. I thought they had been fixed, but I must have overwritten them with the jwmconfig-0.2 package designed for 1.09ce, or something. They still use xli and write to /etc/background, also refer to images that aren't there. Fixed. I named the Unleashed package jwmconfig-0.2.1.

Lior has added more features to his nifty freememapplet, and it is now version 1.2.
('nifty' is a slang word, defined as "[slang] attractive, smart, stylish, enjoyable" in my Collins Australian Pocket English Dictionary)

May 28

The 'splash window' on first boot of Puppy2 beta1 (yes, the May 24 alpha has been promoted) was fairly basic. I've simplified it and made it look nicer with some graphics. Dillo's rendering is primitive and inaccurate, so had to take that into account.

May 27

MU has fixed a bug in Dillo, that caused the forward and back buttons not to work. I have compiled his latest source, but left the Unleashed package at the same name, dillo-0.8.6teki-mu.

Rarsa has written a great little volume control for the taskbar. I've named the Unleashed package mini_volume-0.1. This is great, this is something most useful.

May 26

Geany text editor is now upgraded to version 0.7 beta1. V0.6 has a bug: all files inside /proc open as empty. Also, the implementation of code folding was only partially implemented for Bash/Ash scripts: only for comment lines. Enrico has now implemented folding for functions in Bash/Ash scripts.
I asked Enrico if he could implement color syntax highlighting for Tcl/Tk and he has done that also, but requests feedback as he knows nothing about Tcl/Tk.
I expect this beta version will be in the next release of Puppy, Puppy2 beta2.

Lior Tubi has greatly improved the taskbar applet that displays free memory, and named it freememapplet. As reported in the forum, the reported size is not always accurate, in particular when running from a USB pen drive, as the applet reports the sum of temporary storage in tmpfs ramdisk and permanent storage in the pup_save.3fs file. So, I created a script, /usr/sbin/calcfreespace.sh, that performs a more accurate calculation and modified Lior's program to execute that. The Unleashed package is now freememapplet-1.1.

May 25

Today I placed an order for a "barebones" PC with 160G SATA2 hard drive. Will pick it up on Tuesday, so will be able to do some SATA testing for Puppy2 beta2 (followed by Puppy2 final hopefully shortly after). Thanks to people who have purchased CDs and made donations -- I've now got enough for this system, plus plan to buy more stuff for testing a bit later.

The specs: Celeron-D 2.66GHz, Asus P5V800-MX motherboard, 512M DDR RAM, Western Digital 160G SATA2, LiteOn DVD burner, Dpc CX0756R case. Total price assembled and tested A$473.

My apologies to people who have recently ordered a CD. Let's see, five orders since May 18, have not yet been processed, as I was waiting on releasing Puppy2 -- as well as Pup1 CD you will be getting a bonus Pup2 beta CD gratis. I'll force myself to sit down tomorrow morning and burn CDs...

May 25

Billstclair has a mirror of Puppy2 alpha May 24:
"My mirror is up at http://s3.amazonaws.com/puppy/puppy2.html . Amazon is usually fast. If people use the torrents, it will save me some bandwidth cost."

MU also has a fast mirror site:
The link to the md5sum of the developper-addon is wrong, here is the correct one:
I also uploaded a modified devx_004.sfs, where I renamed /usr/lib/qt to /usr/lib/qt-renamed.
Like that it should be possible to use it together with megapup003.
http://dotpups.de/isos/devx-qt-renamed_004.sfs.md5.txt "

May 24

Puppy2alpha-24may06 is released (70.1M). This is not an official release, it is for Puppy testers.
This release may be upgraded to 'beta' if it looks fairly solid. Release notes:

  • We now have Perl. Currently it's John Murga's v5.8.0 Unleashed package.
  • MU's PB-DebianInstaller is there, but not in the menu. Type 'pb-debianinstaller' in a terminal window.
  • Major changes to hardware probing and module loading. Much faster, more automatic, less questions at first bootup.
  • Puppy is now highly portable. If you boot from, say, a USB Flash drive and choose Xvesa X server, then the pen drive will bootup on any PC. Mouse, keyboard, sound, network-card should all be auto-detected. It's still not perfect, but well on the way.
  • As Puppy has moved up to the 2.6 kernel, we are still discovering hardware-compatibility issues.
  • CD: This can be burnt to CD-R or CD-RW using most Windows or Linux CD-burner programs. If you want to use it in multisession mode (sessions get saved back to CD-R), then be sure the CD-burner program supports multi-session burning (leaves CD "open" for further tracks to be burnt later).
  • DVD: There is no known Windows burner program that will burn the DVD properly (?). You need a Linux DVD-burner program, such as Burniso2cd in Puppy -- this program burns the DVD "open", so that it can be used normally or as multisession.
  • UPGRADING: If you have tested a previous puppy2 alpha CD, please get rid of any pup_save.3fs file, wherever it is on the hard drive or plugged-in device. Also delete a underdog.lnx file if it exists. See further notes below.
Download the iso from here: http://www.pupweb.org/test/
Download the complete set of modules for the kernel, patched kernel source, also the latest pup_004.sfs compiler file: http://www.puppylinux.com/test/

There is a special forum for puppy2 development. Report here any bugs, I also want to know about success stories!
Forum URL: http://www.puppylinux.com/nfphpbb/
Puppy2 discussion also takes place on the regular forum: http://www.murga.org/~puppy

If you have a pre-existing pup_save.3fs file, from using earlier alpha-releases of Puppy2, it will now be upgraded automatically. However, I recommend that you first boot up the new CD totally in RAM, by the boot parameters "puppy pfix=ram" to get a feel for how the new Puppy2 works, and you can then try a normal reboot and see if the upgrade works and gives you a correctly updated working environment.
If you want to upgrade from Puppy1, that is, you have a 'pup001' file somewhere, there is a script for importing from it. Open a terminal window and type "importfrompuppy1". This script is pretty bare-bones and I would like help with improving it.

RAM problem
On the subject of bare-bones, there will be a BareBones Puppy2 released along with the standard one, maybe even a Chubby Puppy.
There is a problem, Standard Puppy is becoming too fat, and although it can all load into RAM on a PC with only 128M RAM (and no Linux swap partition), Mozilla is very slow. So, I'm forced to leave a file on the boot CD to give enough working space in the RAM. Most people into using Linux will have a swap partition, so won't have this problem. For those for whom it is, the solution will be to use BareBones. There is another solution, which is to copy the pup_004.sfs file off the CD to the hard drive and mount it from there -- this could be done automatically and it is on my to-do list, high priority.

Feature freeze
It's just about frozen now. There's lots happening, such as Pakt's work on booting from PCMCIA, etc., but time is dragging on and yesterday I decided to freeze it and just fix bugs. The next lot of exciting things are targetted for v2.01. Though, the above-mentioned improvement for a 128M PC will be in v2.00.

May 22

The uClibc root filesystem used to compile the initial ramdisk has been uploaded to http://www.puppylinux.com/test/. The file is 27M and expands to a 295M ext2 filesystem that can be mounted with a loop device. Once mounted, it can be 'chrooted' into.

May 22

A major rewrite of hardware detection and module loading. I have thrown out the 'scanmodule' program and the 'libhardware' module database. Most of the changes have taken place in the /etc/rc.d/rc.modules script.
Detection of the correct sound module is now very fast and fully automatic -- in fact, it is also portable and the correct driver will load when the CD/DVD or Flash drive is booted on different PCs. However, this autodetection is only for PCI sound interfaces, not legacy ISA-bus sound cards for which the Alsa Wizard will have to be run after bootup.
Detection and loading of the correct network driver is also improved.

May 21

Rarsa created an Unleashed package for the client application of SVN, named subversion_client-1.3.1. As we are moving toward using SVN for Puppy development, I have made this package an official member of the Unleashed suite, meaning that it will be installable using the PupGet package manager. I tidied up the package slightly, adding a small help file and a keyword file, plus a couple other small changes.

Lobster has created a new Puppy2 home page for the web browser, based on that in Puppy 1.09CE. I've placed this in /usr/share/doc/home.htm and set Seamonkey to start with this page.

I created an Unleashed package for MU's pb_debianinstaller-alpha09. As I had compiled Dillo with "--sysconfdir=/etc", the config files dillorc and dpidrc are located in /etc. For consistency I also placed debianinstallerrc into /etc, which meant that I had to edit /usr/local/PB-Debian-installer/pb-debianinstaller script.

May 20

Dillo v0.8.6 has been patched for Xft (antialiased fonts) and i18n (internationalisation) support by Kiyo (see link further down) and MU has added further patches to support the Debian Installer. I have compiled it and created Unleashed package dillo-0.8.6teki-mu.

Thanks to pop-pop who got his trackball working in Puppy2. It required a simple change in /etc/rc.d/rc.local0.

The following modules have been added to /etc/networkmodules: atp, hamachi, sb1000, sis190, axnet_cs, de2104x, uli526x, airo_cs, atmel, atmel_cs, atmel_pci, ipw2100, ipw2200, orinoco, orinoco_pci, spectrum_cs, wl3501_cs, hostap_pci, hostap_cs, prism54.

/etc/networkmodules is used by the Network Wizard, however the 2.6 kernel has better information that may enable loading of the correct driver without needing this part of the Wizard. Or, the Wizard can be redesigned without needing the /etc/networkmodules file. This is a work-in-progress.

May 20

It took awhile, but I compiled the Smart Link modem driver for the kernel. There were compile errors, but I eventually found patches. Same situation as for the Lucent driver, this will have to be downloaded and then installed with the PupGet package manager. The Unleashed package is slmodem-2.9.11patched-k2.6.16.7.

May 19

The Modem Wizard is now working. I could not figure out why echoing "AT" to a serial port no longer works, however I found a neat little utility application that does it. I considered using picocom, which is already in Puppy, but I found modem-stats, a very small program for sending Hayes commands to a modem. Characters returned from the modem go to the console. This works great and is now used in the Modem Wizard. The Unleashed package is modem_stats-1.0.1.

May 19

The Lucent linmodem driver has been compiled for the kernel in Puppy2. The Unleashed package is ltmodem-2.6.8alk-k2.6.16.7. This will not be in the live-CD but will be able to be installed by the PupGet package manager (obviously, if you don't have Internet access from a running Puppy, you will have to download it some other way, then PupGet can install it). I have streamlined the installation, such that the driver is loaded and ready to use as soon as it is installed, and a reboot is not required.

The Modem Wizard, however, is a headache. It tests for presence of a modem by sending a "AT" command to the serial port, and if modem is there is responds with "OK". At least it does for the 2.4 kernel. For the 2.6 kernel, what gets returned is multiple echoes of "AT" and carriage-return/new-line characters. I spent a couple of hours puzzling over it, no resolution yet.

(c) Copyright Barry Kauler 2008. All rights reserved. http://puppylinux.com