logoPuppy developer news:

first half of 2006


left-arrow Older news

arrow-rightLater news

June 24, 2006

The gpm package, version 1.20.1, that provides mouse support for console applications, is now in Puppy.

I compiled Elinks version 0.11.1. To obtain Javascript support, I had to download the Spidermonkey javascript library (v1.5) from ftp://ftp.mozilla.org/pub/mozilla.org/js/ and expand it inside the Elinks source then patch it with a patch file supplied with the Elinks source. I then compiled and installed Spidermonkey first.
After configuring Elinks, it reports:

gpm ............................. yes
zlib ............................ yes
bzlib ........................... yes
idn ............................. yes
Bookmarks ....................... yes
XBEL bookmarks .................. yes
ECMAScript (JavaScript) ......... SpiderMonkey
Browser scripting ............... Perl, SpiderMonkey
SSL ............................. OpenSSL
Native Language Support ......... yes
Cookies ......................... yes
Form history .................... yes
Global history .................. yes
Mailcap ......................... yes
Mimetypes files ................. yes
IPv6 ............................ yes
BitTorrent protocol ............. yes
Data protocol ................... yes
URI rewriting ................... yes
Local CGI ....................... yes
Finger protocol ................. yes
FSP protocol .................... no
FTP protocol .................... yes
Gopher protocol ................. no
NNTP protocol ................... yes
SMB protocol .................... yes
Mouse handling .................. yes
BSD sysmouse .................... no
88 colors ....................... no
256 colors ...................... yes
Exmode interface ................ no
LEDs ............................ yes
Marks ........................... yes
Cascading Style Sheets .......... yes
HTML highlighting ............... yes
DOM engine ...................... HTML highlighting
Backtrace ....................... yes

Midnight Commander version 4.6.1 has been compiled. Configure reports:

  File system:                Midnight Commander Virtual File System
cpiofs, extfs, tarfs, ftpfs, fish
Screen library: ncurses library
Mouse support: gpm and xterm
X11 events support: no
With subshell support: yes
Internal editor: yes
Support for charset: no

Elinks and gpm packages are expected to be in the next OneBone. Perhaps not Midnight Commander, but it can be a PupGet pkg.

I'll put this news into my experimental News blog http://www.puppylinux.com/blog/ as well.

June 23

Yippee, my Puppy2 Developer Forum is working again! My host, netfirms.com finally fixed it. Here is their email, dated June 22:

We have reviewed your request it appears your table had been corrupted. We have
repaired your table. In the further if you encounter this issue.

1. Log into CP
2. Log into phpmyadmin for the db in question.
3. Click on DB name
4. Click the SQL tab
5. In the box, enter the following query:

repair table table_name

replace the table name listed in the error. Once you do this you table should be
repaired and the error will no longer display.

June 21

My Puppy2 Developer Forum is still broken. I have had communications with customer support at netfirms.com (my host) and they say the forum works for them. At first, they told me to clear my browser cache, then they told me to test the forum via an indirect url. Nothing works, yet they insist it is working. I can see the main index page of the forum, but cannot browse nor login. It seems that others are browsing, but I see that there have been no posts since June 17th.

My Developer Forum is here: http://www.puppylinux.com/nfphpbb/

I would like to get feedback, whether you can browse the forum, see if it is a location problem. I've posted a topic to my experimental News blog: http://www.puppylinux.com/blog/  -- kindly post a feedback comment there.

Simple PHP Blog is looking good. I may migrate to it as the permanent Developer News page. But, still in the testing/evaluation phase.

June 20

Simplephpblog has been recommended to me, so I set it up. This one also has flat file storage, no SQL database. Gee, it sure is nice. Excellent security features. This is also for evaluation. URL:
http://www.puppylinux.com/blog/

June 20

I have setup a blog. It's not the official Puppy News blog, just a plaything for now. It is an ultra-simple blog, as I'm fed up with these sophisticated forums and SQL databases that are so complicated to configure and just aren't reliable. Okay, I'm probably over-reacting! Anyway, I like this blog. Stop by and play with it:
http://www.puppylinux.com/blog/

UPDATE: My Puppy2 Developer Forum is still down. John Murga's forum is back up (for now).

June 19

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

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 2.6.16.7 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:
http://www.puppylinux.com/nfphpbb/viewtopic.php?t=314.
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:
http://www.puppylinux.com/nfphpbb/viewtopic.php?t=330
I have improved the script.

MORE GOOD NEWS!
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:
ftp://ibiblio.org/pub/linux/distributions/puppylinux/test
Download them to these locations:
/etc/rc.d/rc.network
/lib/modules/2.6.16.7/misc/ungrab-winmodem.ko
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:
http://www.murga.org/~puppy/viewtopic.php?t=8546

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:
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/2.6.16.7/modules.pcimap 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 1.2.4.1. 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:

The files in Puppy2
Users of Puppy1 will have to become accustomed to new file names:
pup_save.3fs
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
pup_xxx.sfs
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
initrd.gz
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:
http://www.puppylinux.com/development/howpuppyworks.html

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.

Upgrading
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.

Download
You can find the 'standard' Puppy version 2.00 iso file, puppy-2.00-seamonkey.iso, via the Puppy Download page:
http://www.puppylinux.com/download/index.html
Download the complete set of modules for the 2.6.16.7 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:
http://www.pupweb.org/test/
For further information on Puppy Unleashed:
http://www.puppylinux.com/puppy-unleashed.htm
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:
http://www.packtpub.com/article/puppy_power

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:
"mirror:
http://dotpups.de/isos/puppy2alpha-24may06.iso
http://dotpups.de/isos/puppy2alpha-24may06.iso.md5.txt
The link to the md5sum of the developper-addon is wrong, here is the correct one:
http://www.puppylinux.com/test/devx_004.sfs.md5.txt
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
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:

Download the iso from here: http://www.pupweb.org/test/
Download the complete set of modules for the 2.6.16.7 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

Upgrading
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 2.6.16.7 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 2.6.16.7 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.

May 18

I have not had Internet access since May 14, except from a public library. Now I'm back home and can upload this page!

Puppy 109 Community Edition is released. This is a release of Puppy that follows on from version 1.0.8 and is created by a team of Puppy enthusiasts. It has many enhancements and features. Here is the announcement and download links:
http://www.murga.org/~puppy/viewtopic.php?t=8028

May 16

The first attempt at a script to import settings and personal files from Puppy1 to Puppy2. The script is /usr/sbin/importfrompuppy1.

May 16

Tempestuous requested that if "nopcmcia" boot parameter, then pcmcia drivers and card manager should not be started. I have modified /etc/rc.d/rc.modules to read the boot commandline /proc/cmdline and check for "nopcmcia".

May 15

TheKaz (Ric) has been attempting to use the devx_003.sfs file with the multisession-CD/DVD. I had given instructions that the file should be burnt to "/" in the CD-R/DVD-R, however that did not work. I have fixed it so that it does work, with the proviso that there must be a Linux swap partition. Using devx_003.sfs requires a lot of working space for compiling, hence the requirement for the swap partition.

Which reminds me: good news, lio2b tested reducing the size of a ntfs partition using GParted, and Windows XP was still functional afterward. So, if your hard drive is just one big ntfs partition, consider shrinking it a little and making a Linux swap partition (500M at least, 1G would be excellent). If you want to save sessions to hard drive, consider also a little fat32 or ext3 partition. Note: you do this at your own risk!

May 13

I have written a page about Puppy Linux and the OLPC project (One Laptop Per Child):
http://www.puppylinux.com/olpc/

May 13

Puppy 1.09 Community Edition has settled on Geany v0.5 text editor to replace Beaver. I was going to put Medit into the next release of Puppy2, but comparing it with Geany, so far Geany is in front. Medit is bigger and there is nothing oustandingly better than Geany. I'm running Puppy2 right now with Geany v0.6, and at this stage this looks like the one that will be in Puppy2 beta. Medit will be a PupGet package.

May 13

The sysfs filesystem is now mounted on /sys at bootup. This required an entry in /etc/rc.d/rc.sysinit and an entry in /etc/fstab, however many other scripts had to be made aware of the new directory. They are: /usr/sbin/snapmergepuppy, /etc/rc.d/rc.shutdown, /usr/sbin/puppyinstaller and /usr/sbin/remasterpup2.

May 12

There is a handy feature of Puppy2 that was mentioned earlier in this News page, however it is worth reiterating as I don't think testers are aware of it. You know that the personal data file is 'pup_save.3fs', however it can actually be any name like this: 'pup_save*.3fs', where the '*' is any string. The reason this is good for Puppy2 testers is that you can have many of these files and choose the one you want to use at bootup.
Say for example, you have compiled various packages in one pup_save.3fs file and you now want to start with a clean slate but may want to go back to the older file sometime. Or, you have downloaded a new Puppy2 alpha, and need to start with a clean slate but same situation, you may want to go back to older pup_save.3fs files.
At bootup, if Puppy finds two or more 'pup_save*.3fs' files (in the same location) then a menu is offered. This menu also has the choice of 'nothing' in case you want to bootup totally in ram. You should not rename a pup_save.3fs file while it is in use (although I have done it in a ext3 f.s. which seems able to recover from such misuse), so boot Puppy in ram ("puppy pfix=ram") then find the file and rename it, to say 'pup_save1.3fs'. Create a new pup_save.3fs at shutdown and when you next bootup you automatically get a menu and you choose the one you want.

I have reverted Dillo to the "original" patched source from teki.jpn.ph/pc/software/index-e.shtml, as the version used in the May 7 alpha cannot handle plain text files. Dillo's primary purpose in Puppy2 is as the internal Help viewer. This reversion will probably make it less compatible with the Debian Installer, so that is something we will have to work out in the future -- for example, it will be acceptable if Dillo can be made to identify any file with extension .txt and open it internally (or with an external text editor) while all other files with plain-text mime type will be handled in a manner compatible with the Debian Installer. The new Unleashed package is named dillo-0.8.5teki.tar.gz.

May 12

Now that pakt's WakePup2 is in the live-CD, it needs a frontend GUI, so I have written one, that is run from the menu "Setup --> WakePup create boot floppy".

The Puppy Universal Installer has been upgraded to integrate usage of GParted and WakePup.

May 11

I'm jubilant! A couple of days ago I purchased a Astone 512M USB Flash "key" drive, a beaut-looking little thing with extruded-aliminium case. It cost just $31 Australian, which is about $24 US. Note, I already have a 128M Astone, that has served me well for over a year.
Anyway, I ran the Puppy Universal Installer, but could not get it to boot. Tried all the different MBRs. When the PC powers-up, there is a message on the screen "Boot error" and that's it, stopped. I've been working on this problem all day, and began to wonder if there is something wrong with the way the drive is partitioned, that confuses the BIOS -- note, I was able to boot using pakt's WakePup2 boot floppy disk. I decided to wipe the existing partition and remake it, and this was successful -- I'm running it right now. Here is what I did:

  1. Since I had been messing around with various MBRs, I decided to put in the one provided by the Syslinux package, as that is most likely to have been designed thoughtfully for booting off:
    # probedisk    <<<to check flash drive letters, probably sda
    # cd /usr/lib/syslinux
    # dd if=mbr.bin of=/dev/sda
  2. I then ran GParted and deleted the partition on /dev/sda, so there is a "clean slate" to work with. I then created a new FAT16 primary partition, to fill the entire space, clicked the icon to write the change to the drive, then set the "boot" configuration flag for the partition. (No need for more detailed explanation, GParted is pretty simple to use!).
  3. I then ran the Puppy Universal Installer, and followed all the default steps to install Puppy to partition /dev/sda1.
  4. Rebooted, and yippee!
However, we cannot break out the shampagne yet! I tested the Flash drive on another PC, and got the "Boot error" message -- that PC has Award BIOS dated 2002 and USB1.1 -- well, I don't recommend booting from a USB1 system anyway, as it is so slow.
I would like to know if the above steps work for other troublesome USB Flash drives. Try it and report to the Forum! (use the Puppy2 alpha May 7 snapshot)

May 10

Thanks to kwiller who has upgraded jwmconfig to version 0.2. So we now have Unleashed package jwmconfig-0.2. JWM version 1.7 has also been modified -- the <tray> tag contents is extracted from .jwmrc to a separate file, .jwmrc-tray, as kwiller's config program edits that separately.

May 10

Melmo reported that the firewall is "partially broken". When I tested the firewall, it seemed okay, as it passed its own sanity test, however after rebooting, /var/log/messages had a report that module iptable_nat.ko has missing symbols. It was easy to find the cause -- typing "modinfo iptable_nat" showed the dependent modules are ip_nat, ip_tables, and ip_conntrack, and are quick check showed that ip_nat is missing.
When I supplied the missing module and run "depmod", then "modprobe iptable_nat", all was fine. So, the missing module won't be missing in the next release of Puppy2.

MU's /usr/sbin/findhostbridge scripted has been updated to the 10th May version.

May 9

Thanks to GuestToo who did some detective work and found out why Roaring Penguin PPPOE was crashing at shutdown. The utility application /usr/bin/setsid, from the util-linux package, was missing. Developer Forum thread: http://www.puppylinux.com/nfphpbb/viewtopic.php?t=21

MU's temporary mirror for latest Puppy2 alpha snapshot:
http://dotpups.de/isos/puppy2alpha-7may06.iso
http://dotpups.de/isos/puppy2alpha-7may06.iso.md5.txt

Billstclair has also mirrored
the ISO, devx_003.sfs, and all-modules at:
http://s3.amazonaws.com/puppy/puppy2.html

May 7

Puppy2alpha-7may06 is released (68.9M). This is not an official release, it is for Puppy testers.
Release notes:

Download the iso from here: http://www.pupweb.org/test/
Download the complete set of modules for the 2.6.16.7 kernel, patched kernel source, also the latest pup_003.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

I already found one bug with GParted -- I think it needs more utility apps from the e2fsprogs package to enable further capability. ...okay, I have just now examined the gparted source, seems it needs 'dumpe2fs' -- will put that in for the beta release. Nice thing about GParted, it scans the system at startup and uses whatever is found -- so if we want to add reiserfs support later, just need to install reiserfsutils package. Anyone want to be daring and resize their ntfs partition?

It is intended that the next release will be puppy2-beta, and this is the to-do shortlist:
  1. Improve the h.d. install of the Puppy Universal Installer. Pakt has done excellent work booting Puppy from floppy and other media, and this can be linked into the Installer script (see note on WakePup2 below).
  2. I will write a program to import personal data from Puppy1.
  3. Map the mounted "home" partition to /mnt/home, using k2.6 relocation feature.
  4. Turn on the upgrade mechanism.
  5. Apparently there is a generic ac'97-compatible modem driver for the 2.6 kernel. Will check it out.
  6. dumpe2fs from e2fsprogs package needed by GParted.
  7. Any required bug fixes.

May 7

Pakt's WakePup2 is now in the Puppy2 live-CD, replacing my older boot floppy image file. The new file is /lib/wakepup2.img -- not gzipped as everything gets compressed anyway.
I will be writing it into the Puppy Universal Installer, but I have to upload the next snapshot today, as tomorrow I will be back home, without ADSL access -- meaning that I haven't had time to update the Installer. There is also reported a bug with USB install, but same situation.
I will work on the Installer during the week, and it should be fully functional for the beta release. Anyway, you can still use WakePup2, just copy to floppy disk like this:

# dd if=/lib/wakepup2.img of=/dev/fd0

WakePup2 is a great little floppy boot disk creation by pakt (Paul), that scans the system and will locate and boot Puppy2 from USB, CD, or hard drive. This is particularly useful if you have installed Puppy to USB pen drive or burnt to CD but the PC won't boot from those devices.

I've upgraded lior2b's miniXcal to the updated release (dated April 30, pm). The Unleashed package is minixcal-1.0.

May 6

I have been discussing the Puppy2 remaster-CD script with Samoyed on the Developer Forum, this thread: http://www.puppylinux.com/nfphpbb/viewtopic.php?t=126
The script works, except that /root/.packages/packages.txt ends up as zero bytes on the CD, which causes the PupGet package manager to not work.
As the remaster script compresses all user-installed PupGet and DotPup packages into the pup_xxx.sfs file, the contents of alienpackages.txt and livepackages.txt (that is, the records of usr-installed packages) get merged into the one file, packages.txt on the live-CD. I found the bug and fixed it, and also put in some syntax checking for the alienpackages.txt file -- in case a package author has written an install script that writes incorrectly to alienpackages.txt.

This remaster-CD script is great. Install what you want, remaster the CD. The script is very easy to use and most importantly requires very little working memory -- I have been testing it with Puppy running totally in ram.

May 5

The 2.6.16.7 kernel patched source is available here: http://www.puppylinux.com/test/

May 5

Phil Tuckey reported some difficulty with booting Puppy2 using GRUB, where initrd.gz (initial ramdisk file), vmlinuz (the kernel) and pup_xxx.sfs (all the Puppy files) are in a hard drive partition. He succeeded, then saved the session direct to the boot partition.
Say the partition is /dev/hda2, then the situation looks like this:

 partition hda2
all saved sessions here, including file /etc/puppyversion.
/initrd.gz
/pup_xxx.sfs
/vmlinuz

I mention file /etc/puppyversion as that always gets saved at every session, and Puppy looks for it at bootup to determine that the partition has saved Puppy files in it.
Note, the files initrd.gz, pup_xxx.sfs and vmlinuz could be in a folder, say /boot, as long as GRUB is configured appropriately.

Phil reported that Puppy was starting with PUPMODE=7 and it wasn't working correctly. I have fixed that, also have defined another mode, PUPMODE 6, in which Puppy will run in Phil's situation.

Someone asked recently how these PUPMODE numbers are assigned. It is a number where each bit ( ... 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0) is a flag:

BIT-SET DECIMAL-WEIGHT MEANING
0 1 using tmpfs top layer (/initrd/pup_rw) of union.
1 2 boot partition (PDEV1) has puppy sessions saved in it.
2 4 pup_xxx.sfs file exists on boot partition (PDEV1)
3 8 pup_save.3fs file exists (sessions saved to file).
4 16
5 32
6 64 multisession flag.
For example, the multisession CD/DVD runs with PUPMODE=77, which is 1+4+8+64. You see, it is quite logical!
In Phil's case, Puppy will run in PUPMODE=6 (2+4), as the saved sessions are on a fast media with unlimited write capability so no need for a tmpfs top layer in ram. Note, a tmpfs top layer is an intermediary to hold the working and new files & directories, and is only really needed where we have to restrict writes (ex: flash memory) or where the session is to be saved to very slow media or at specific times (burning a track to multisession CD), or we deliberately want to run totally in ram (as in the very first bootup of Puppy).
A full hard drive installation ("option 2") will run in PUPMODE 2.
The decision which mode to run in is made in the first boot script, /initrd/sbin/init. Though, in the case of a full h.d. install, the initrd.gz is not used at all and the first script that runs is /etc/rc.d/rc.sysinit -- in that case, Puppy assumes PUPMODE=2.

May 4

We were discussing loading of the correct AGP kernel module in this thread:
http://www.puppylinux.com/nfphpbb/viewtopic.php?t=117
An outcome is that Mark Ulrich wrote a little script to compare the vendor:chip ids returned by lspci with the vendor:chip ids in the aliases returned by modinfo, and calculate the correct AGP driver to load. For example, for my SiS motherboard chipset, the correct driver is sis-agp.ko.
Marks' script is /usr/sbin/findhostbridge and I have called it in /usr/X11R6/bin/xwin -- I'm trying to keep the X-specific loading stuff as much as possible in xwin.
I wasn't sure whether the -agp.ko driver needs to be loaded for Xvesa Kdriver X server, but have done so anyway.
Also, would it be required for the VESA framebuffer kernel driver? Currently Puppy is starting up in the basic 80x25 text mode, but if we chose one of the framebuffer graphics modes (by specifying the vga= kernel boot parameter), would the -agp.ko driver be required?

What is so important about the above? The problem has been Intel i810-family video not working properly. With the intel-agp.ko driver loaded, before the i810 Xorg driver loads, the video works properly. The above is all about autodetecting and loading the correct -agp.ko driver for the particular hardware so video will work properly. We don't know how useful the -agp.ko drivers are for other vendor video hardware, but for Intel it is almost essential.

May 3

I'm rapidly back-pedalling over my earlier enthusiasm regarding NTFS write-support. I went to all the trouble of installing FUSE and ntfsprogs, to get the more reliable user-mode NTFS driver.
For the first time I have a borrowed PC here at home with Windows XP and a single NTFS partition to experiment with ...and it has not been good news. Running Puppy, I experimented with creating a 512M pup_save.3fs file in the NTFS partition, which did work. However, I played around a bit more, not sure exactly what I did, but when I booted the PC normally, without the Puppy CD, a message came up that the "NTLDR file is missing" -- that's bad. If I can stuff up the Windows installation, just doing a few simple things, then others are bound to also.

There is more bad news. This particular PC hangs doing bootup of the Puppy live-CD, just after attempting to mount the NTFS partition to look for a pup_save.3fs file. Puppy1, Puppy2, no difference, they all hang. I have to select the boot option to boot totally running in ram.
On the Puppy Forum we get regular reports that Puppy hangs at bootup, and I wonder how many of them are this same situation?

So, it's not a happy state of affairs. Not only am I back-pedalling, I'm thinking of a whole new approach, now that GParted will be in Puppy. In a nutshell, I'm fed up with NTFS and it gets the thumbs-down. I'm pretty cheesed off that Microsoft can get away with this, closed protocols and formats for products that are used internationally. The European Union is making some weak attempts to remedy this ...we live in hope.

The devx_xxx.sfs file, used for compiling C/C++ applications in Puppy, has been updated with header files for the new gtkmm, glibmm and libsigc++ libraries. It will be uploaded soon.

May 3

Lots of packages have been compiled (within Puppy, for maximum compatibility) and made into Unleashed packages: qtparted-0.4.5, libsigc++-2.0.17, glibmm-2.6.1, gtkmm-2.6.1, gparted-0.2.4, and inkscape-0.43.
...so, you can guess what to expect in the next Puppy2 snapshot!

May 2

JWM is upgraded to version 1.7.

The parted-1.6.25.1 Unleashed package now has the executables parted and partprobe, as well as the library libpart.

May 1

Continuing investigation of AGP, it's getting complicated. MU has made some discoveries:
http://www.puppylinux.com/nfphpbb/viewtopic.php?t=117&start=15

May 1

More good news. Pakt and MU have solved a problem with using i810 video hardware in Puppy2. See thread in Puppy2 developer forum:
http://www.puppylinux.com/nfphpbb/viewtopic.php?t=117
So, I have upgraded the i810_drv.o driver in Xorg. The kernel modules, in /lib/modules/2.6.16.7/char/agp/ have the agpgart.ko driver, however MU found that the 'intel-agp.ko' driver is needed for the i810 hardware to work properly. There's a whole lot of other drivers in that agp/ folder, such as 'sis-agp.ko', that maybe also will improve behaviour of other video hardware, so I have put the complete folder into Puppy.

In the above thread, the guys loaded 'intel-agp.ko' manually, however, I need to figure out the best automatic method, that will also load any of the other '-agp.ko' drivers as needed to match the Xorg driver -- right now I'm hunting around collecting information. Looking at my Mandriva 2006 installation, the sis-agp.ko driver gets loaded, whereas in Puppy I don't have have it, with no discernable difference in behaviour. Would it be best to always preload sis-agp.ko when Xorg uses the SiS video driver? How will it affect the Xvesa Kdrive server?

Apr 30

Another one bites the dust! Jesse Liley has released MUT version 0.0.8, which has some fixes to work on Puppy2.

Lior Tubi has created a great little enhancement to the clock in JWM, called miniXcal. Clicking on the clock now brings up a calendar. I think someone mentioned awhile ago on the forum that this would be a good thing, as they could do that in Windows and it is very convenient. Thanks to Lior we have that convenience now also!

The kernel has been recompiled with FUSE support built-in (not as a module) and with 4K stacks disabled (using 8K stacks, same as the k2.4).

FUSE version 2.5.3 has been compiled and the library libfuse is now in puppy2. This is required for ntfsmount, the program to mount NTFS partitions such that files can be created.
The header files for libfuse have also been placed in devx_xxx.sfs, so the library can be used with other FUSE filesystems.

Puppy2 now has the utility applications mkntfs, ntfsmount and ntfsresize from ntfsprogs version 2.5.3. Ntfsmount requires libfuse from the FUSE package.
Ntfsmount enables us to mount an NTFS partition such that files can be created. According to the docs, it cannot always succeed, but if it fails to create a file no damage is done. In other words, we can't harm the NTFS partition by using it. I will incorporate ntfsmount into the rc.shutdown script to create a pup_save.3fs file.

Note, the kernel also has a NTFS driver, which I chose to be built-in. This is somewhat less mature but can safely use a pre-existing pup_save.3fs file. As it improves, it will eventually make ntfsmount unecessary.
Note also, the ntfsresize utility can be used to shrink a NTFS partition, for the purpose of creating Linux partitions. Apparently this utility is quite robust. I would like to incorporate this into the Puppy Universal Installer, but I don't know when this will happen, given the rather long to-do list!

Apr 30

USB mouse problem solved. I found a computer that exhibited the bug, and found the solution.
The init script (first script that runs at bootup) loads the kernel driver modules 'usbcore' then either 'uhci-hcd' or 'ohci-hcd'. I found that a one second pause ('sleep 1') after 'modprobe usbcore' fixed the bug. Peculiar, never had this problem with k2.4, haven't read anything anywhere about this being needed -- but then, most online docs about usb are somewhat out-of-date (and kernel docs -- hah! -- out-of-date, incomplete).
Nor do I know why some computers have this problem and not others -- haven't been able to discern a common factor. I'm disturbed that this was never an issue before, with our "good ol" 2.4 kernel, now I have to do what amounts to a gross hack.

If you are testing the April28 alpha snapshot, you should be able to verify by exiting from X then remove modules:

# rmmod usb-storage
# rmmod uhci-hcd    (or ohci-hcd)

Then reload:

# modprobe uhci-hcd    (or ohci-hcd)
# cat /proc/bus/usb/devices

That last line should show any USB mouse and keyboard. The mouse should also work when X is started.

Apr 29

Well, it seems something has gone wrong with USB mouse detection in the move to the 2.6 kernel. Heaps of bug reports for the 28th April snapshot "my USB mouse doesn't work!".
So, until I track this bug down, you will need to use a PS/2 or serial mouse.
There also seem to be some cases of wider USB non-detection.
If you would like to provide feedback about this, here is a forum thread:
http://www.murga.org/~puppy/viewtopic.php?t=7739

There also seems to be a problem with writing to NTFS partitions. It is supposed to be enabled. It is enabled in the kernel, but it seems that just using "mount -t ntfs /dev/hda1 /mnt/data" does not allow file creation. I skimmed through the linux-nfts.org website too quickly, thought the driver now supports file creation, however on closer examination, the ntfsmount program is needed -- okay, it will be in the next snapshot.

Apr 28

http://www.kcore.org/?menumain=4&menusub=2 has this:

Modem

Hardware: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Modem Controller - Winmodem.

This modem can be gotten to work using the Linuxant HSF Softmodem drivers. Unfortunately, they are payware.
They also have a limited-speed test driver, you can see if that works for you before deciding to buy the driver.

NOTE: You have to compile your kernel without CONFIG_4KSTACKS! If you use this driver with 4K stacks enabled, it _will_ crash your system!

This 4kstacks problem is a post-2.6.5 kernel issue. From the above, it seems this affects not only ndiswrapper!
It seems to be another case where the kernel developers are trying to improve performance, like the 100Hz versus 1000Hz interrupt, but it causes compatibility problems.

The option CONFIG_4KSTACKS isn't even in the .config file, but I found that the "Kernel hacking" option has to be turned on, then it is offered as a sub-option. It's default is "y".
So, if you test ndiswrapper, it may crash the kernel, with symptoms like frozen keyboard and mouse.

Apr 28

I forgot to include the ndiswrapper kernel driver in the latest puppy2 alpha. So, I have compiled ndiswrapper version 1.15. The Unleashed package with the executables and the kernel driver module are downloadable from here:
http://www.puppylinux.com/test/

You will need to gunzip the module, install it to /lib/modules/2.6.16.7/misc/, then execute depmod. The executables can be installed using PupGet or manually.

Note that the ndiswrapper package warns that the kernel is compiled with 4K stacks, which may cause some Windows drivers to crash. I need to recompile with 8K stacks, which will do for the next release of Puppy2.

Note also, I compiled ndiswrapper running Puppy live-CD, but I had to add some extra files to devx_003.sfs, in /usr/src/linux-2.6.16.7/. An updated devx_xxx.sfs file will be uploaded soon.

Apr 28

Ted Dog has kindly mirrored the latest Puppy2 alpha 28th April 2006 here (66M):
http://puptrix.org/alpha/puppy2alpha-28apr06.iso
md5sum:
f11b3a3ea4b211b6a9c8a79a3383b54b puppy2alpha-28apr06.iso

MU also has a temporary mirror:
http://dotpups.de/isos/puppy2alpha-28apr06.iso
http://dotpups.de/isos/puppy2alpha-28apr06.iso.md5.txt

Apr 28

Puppy2 alpha-28apr06 is released. This is not an official release, it is for Puppy testers.
Release notes:

Download the iso from here: http://www.pupweb.org/test/
Download the complete set of modules for the 2.6.16.7 kernel, also the pup_003.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

It is intended that the next release will be puppy2-beta, and this is the to-do shortlist:
  1. Improve the h.d. install of the Puppy Universal Installer. Pakt has done excellent work booting Puppy from floppy and other media, and this can be linked into the Installer script.
  2. I will write a program to import personal data from Puppy1.
  3. MUT needs to be updated for Puppy2. I will do this too.
  4. Map the mounted "home" partition to /mnt/home, using k2.6 relocation feature.
  5. Turn on the upgrade mechanism.
  6. Apparently there is a generic ac'97-compatible modem driver for the 2.6 kernel. Will check it out.
  7. Any required bug fixes.
There are other longer term items on the to-do list, for example to upgrade all the core libraries, but this is tentatively set for Puppy 2.0.1.

Apr 27

JustGreg suggested a small improvement to wvdialshell script, that I have incorporated.

Apr 27

The ALSA Sound Wizard, which is a modified alsaconf script, runs at first bootup. I have modified the script so that if executed with the parameter like this: "alsaconf --auto", then no questions are asked. Previously, the script asked many questions, now at first bootup it just runs and you get two barks if successful -- this is great for users who often want to start Puppy running in ramdisk only, no prior saved configuration.
The full ALSA Wizard with all the questions is still available from the "Setup" menu.

Apr 26

I had a bit of a play, created a little taskbar applet that displays free memory. Regardless whether you have a pup_save.3fs persistent storage file, have Puppy installed to hard drive, or running totally in ramdisk, this applet displays a single value that tells you how many megabytes you have left. It displays as white text on a dark-blue background, which changes to dark red if memory drops below 20M, then flashes lightred-darkred if memory falls below 5M.
The applet's name is wmpupmem, and I used a Window Maker dockapp named wmapmmon as the starting point.
There is a problem with it though -- if I choose "Shutdown --> JWM restart", then the original instance of wmpupmem is still in the taskbar, but another one is created top-left of screen. If I keep doing "JWM restart", I can get more instances of wmpupmem. Do I need to do something to my program to prevent this? -- as Blinky and Xload don't do it.

Apr 26

I was concerned about the new block of x_tables modules and some older ip modules missing, however it appears all is well. One of the new modules is 'xt_state.ko', and the apparent old equivalent that is missing is 'ipt_state.ko'. However, when I run "modinfo xt_state" to get information about the module, it is reported to have the alias name of 'ipt_state'.
So, I ran the Firewall Wizard, it appeared to load all reuired modules and passed its own sanity tests.
Note, it appears, that x_tables is new for the 2.6.16 kernel.

Apr 26

I have recompiled the 2.6.16.7 kernel with CONFIG_DVB=y, and all the drivers for digital video broadcasting as modules.
Also, set the base interrupt frequency to 100Hz, same as the 2.4 kernel, down from 1000Hz. This is something we have discussed on the forum, and I decided it is safer to use 100Hz for older computers. Forum thread: http://www.murga.org/~puppy/viewtopic.php?t=7589

Apr 25

Lior Tubi's wonderful Blinky network monitor is now upgraded to version 0.8.

As a temporary measure, I have restored the v6.8.2 i810 Xorg driver in Puppy2, as the one in v6.8.1 does not work very well. The April 11th snapshot has the v6.8.1 i810 driver, which I had gone back to as the v6.8.2 i810 driver has a resource leak.
So, when the next snapshot is released, your i810-based video should work, but you may find
that CPU usage of X climbs gradually -- run "Control Panel --> Top view running processes" to monitor this.
Note, I do plan to upgrade Xorg soon.

Upgraded Mark Ulrich's patched Dillo v0.8.5 to the April 24th release.

The iptables/netfilter kernel modules in 2.6.16.7 kernel have changed from earlier 2.4 and 2.6 kernels. Some 'CONFIG_IP_NF_' configure options are missing, but there are a whole new bunch starting with 'CONFIG_NETFILTER_XT_', which generate a new bunch of modules, all starting with the name 'xt_', for example 'xt_conntrack.ko'. So, I've put many of the old modules that still exist into Puppy, and added all of the 'xt_' modules. Just guessing here, seems like what is needed.
For example, the configure option 'CONFIG_IP_MATCH_STATE' and its associated module is missing, but there is a new one, 'CONFIG_NETFILTER_XT_MATCH_STATE' with apparent matching module 'xt_match.ko', which seems to be the intended replacement.
Thing is, maybe I have to upgrade the iptables package to be able to use these changes.

I have updated dvw86's Trashcan to version 2beta. Note for developers, the trashcan is located in the rox_filer-1.2.2patched Unleashed package.

Joe's marvelous window manager JWM has been updated to version 1.6. The whole thing is still a single 125K executable.

Apr 24

The Ethernet/Network Wizard has been upgraded by rarsa to version 23.

I have compiled Transmission version 0.5, a small and very easy-to-use BitTorrent client. This is now an Unleashed package and will be in the next snapshot of Puppy2.
Transmission homepage: http://transmission.m0k.org/
Forum thread discussing Transmission: http://www.murga.org/~puppy/viewtopic.php?t=7418

Script /etc/rc.d/rc.update has been fixed to work in Puppy2. At least I think it has, not tested yet. This means that if you boot a new version of Puppy2 and there is already an existing personal storage file (pup_save.3fs or folders from a multisession-CD/DVD), then all critical system files are ensured to be updated.
This update script ensures that any boot, shutdown and some vital configuration scripts that have been modified by the user or a package installation are restored to pristine condition. Note though, this only applies to vital system files, and all normal configuration files, (for example, desktop icons and background image settings) are not altered.

Apr 24

The 2.6.16.7 kernel supports safe writing to NTFS partitions (according to the documentation on the Linux-ntfs website), so Puppy2 now has full NTFS write-support enabled. This removes all the earlier restrictions, meaning that a personal storage file (pup_save.3fs) can be created on an NTFS partition just like any other. Also, Puppy can be installed to a NTFS partition just like previously possible to a MSDOS or VFAT partition(by option-1, also known as the "poor mans" install mode -- the Puppy Universal Installer will explain that!).

The Puppy Universal Installer needs a bit more work due to the move to the 2.6 kernel. The problem is that 'tiny.exe' from the Gujin package is used to create a boot floppy, and previously the Linux kernel 'vmlinuz' was also placed on the floppy. However, the kernel is now 1618K, too big for the floppy, meaning that it now has to be on some other FAT partition. The restriction to FAT partition is because tiny.exe is a MSDOS application and FreeDOS is used, which only recognises FAT partitions (msdos or vfat). The same thing goes if use Syslinux.
So, the Puppy Universal Installer can create a boot floppy with this restriction -- tough if your PC doesn't have a FAT partition into which to place vmlinuz!
However, the 'grubconfig' script can create a boot floppy, which is something I have not yet tried -- can look into integrating that into the Universal Installer script. Probably need to offer boot-USB or boot-CD modes as well as the boot-floppy.

Apr 23

The following modules have been added to Puppy2:

net/tulip/uli526x.ko                           ULi M5261/M5263 fast ethernet driver
net/tulip/xircom_tulip_cb.ko Xircom CBE-100 ethernet driver
net/wireless/ipw2100.ko Intel(R) PRO/Wireless 2100 Network Driver
net/wireless/ipw2200.ko Intel(R) PRO/Wireless 2200/2915 Network Driver
net/wireless/orinoco_nortel.ko Driver for wireless LAN cards using the Nortel PCI bridge
net/wireless/spectrum_cs.ko Driver for Symbol Spectrum24 Trilogy cards with firmware downloader
netprotocol/ieee80211/ieee80211.ko 802.11 data/management/control stack
netprotocol/ieee80211/ieee80211_crypt.ko HostAP crypto
netprotocol/ieee80211/ieee80211_crypt_ccmp.ko Host AP crypt: CCMP
netprotocol/ieee80211/ieee80211_crypt_tkip.ko Host AP crypt: TKIP
netprotocol/ieee80211/ieee80211_crypt_wep.ko Host AP crypt: WEP
net/wireless/hostap/hostap.ko Host AP common routines
net/wireless/hostap/hostap_cs.ko Support for Intersil Prism2-based 802.11 wireless LAN cards (PC Card)
net/wireless/hostap/hostap_pci.ko Support for Intersil Prism2.5-based 802.11 wireless LAN PCI cards
net/wireless/hostap/hostap_plx.ko Support for Intersil Prism2-based 802.11 wireless LAN cards (PLX)
net/bsd_comp.ko
net/ppp_mppe.ko
usb/host/sl811_cs.ko REX-CFU1U PCMCIA driver for 2.6

VPN developers/users, note that Puppy 1.0.8 has ppp_mppe_mppc.o driver, but a MPPE driver is now in the 2.6 stock kernel, called mppe.ko. All of the above are in the stock (original) kernel.

Bug update: I think that I have fixed the problem in Puppy2, when bootup and it stops at the prompt, X doesn't start.

Apr 22

I've worked out a solution. Puppy needs to detect whether a PC has a USB interface in the init script and also later in the rc.sysinit and rc.modules scripts. This means that lspci and pci.ids have to to duplicated in both. The lspci executable is very small (33K), however the latest pci.ids file is 380K -- however, I was able to extract just the USB information, so in the initrd the pci.ids file is only 5.5K. So, it's not much overhead for the initial ramdisk.

Apr 21

I did mention that there are some "issues" with the new 2.6.16.7 kernel. One of those is that the file /proc/pci has different information about the PCI interfaces, compared with the 2.4 kernel. It used to have the description-string of each interface, which is now replaced by a line that commences with "Class   ..." followed by various numbers, including the vendor:chip ids. It was the description-string that I have used for various purposes, such as determining if the motherboard has usb capability.
For example, running 2.4 kernel:

USB Controller: Silicon Integrated Systems [SiS] USB 2.0 Controller (rev 0).

But, running the 2.6.16.7 kernel, the above line is replaced by:

Class 0c03: PCI device 1039:7002 (rev 0).

This change means that a vendor:chip id database is required to lookup what each interface does.

The lspci utility does not help, as it only returns the same information. It can be made to return more info if the pci.ids database file is present -- which it isn't. The problem also, even if Puppy has the pci.ids file, it is always playing catchup. I found some information on the Internet, it seems the kernel developers dropped the description information in favour of using lspci -- but lspci does not read the descriptions directly and relies on the database file.

What about the kernel log during bootup, as returned by dmesg? No, it seems not, no interface descriptions until the USB drivers load.

What I have tested, and really I hate doing it this way, is try to load each module in turn: usbcore, uhci-hcd, ohci-hcd and ehci-hcd, trusting that it will fail if the appropriate hardware is not present. No, on my PC that only has a USB1 interface, the USB2 ehci-hcd driver loads without complaint.
$%#@&*, Puppy also reads /proc/pci to determine if there is a cardbus interface. Need to figure out a workaround for that also.

Apr 20

Bashdiff is an enhancement for Bash. Truly great additions, too good to resist! I've created an Unleashed package, bash_bashdiff-3.0-1.33, which is Bash with the Bashdiff patch. This installs 'bash' and 'bashbug' into /bin and 'libwilliam.so' into /usr/lib, as well as a help file 'bashdiff.htm' into /usr/share/doc.
This will be in the next puppy2 snapshot, but note that I haven't changed the ~/.bashrc file -- the bashdiff help page has some suggestions for modifying it. Leaving that until we have it running in the snapshot.
To learn about the great features of Bashdiff:
http://home.eol.ca/~parkw/

Apr 20

These packages have been upgraded for the 2.6 kernel: module_init_tools-3.2.2, e2fsprogs-1.38, wireless_tools-28 and unionfs-20060417 (cvs snapshot). The PCMCIA package remains at the same version, but recompiled for the 2.6 kernel: pcmcia_cs-3.2.8 -- this package may be dropped sometime, due to equivalent functionality in the 2.6 kernel.

Note also, the 2.6.16.7 kernel was compiled from almost-pristine source, with just one patch, squashfs-3.0.

Apr 20

I have created a Unleashed package of Mark Ulrich's brilliant new desktop background setter, Puppybackground. This will be in the next Puppy2 snapshot.
It is also available as a DotPup. See forum thread:
http://www.murga.org/%7Epuppy/viewtopic.php?t=7283

Apr 19

I'm typing this from the latest Puppy2 snapshot, running kernel version 2.6.16.7. Some small issues, should be solvable. What prompted me to do this is the unionfs we have used up to now is version 1.0.4, as that is the last version that runs with the 2.4 kernel. Development of unionfs has continued for the 2.6 kernel only. The 1.0.4 version has a bug, in which files and directories are sometimes invisible -- this bug affects both Puppy1 and Puppy2. I went right to the bleeding edge, grabbed yesterdays cvs snapshot of unionfs.

There's lots of good stuff in the 2.6 kernel. I shall be experimenting to see if NTFS write support is now solid.
If I decide to keep using this kernel in Puppy2, then I'll post patched kernel source, the full set of modules, plus some upgraded Unleashed packages.

Apr 18

Puppy2 now has working automatic mouse detection, at least on my computer! Plug in anything, USB, PS/2 or serial, boot Puppy, it works. When Puppy is running you can still use the Mouse Wizard, which is handy if you have two different types of mice connected -- the Mouse Wizard lets you choose which one you want to use, whereas the autodetection will select in order of USB, serial, or PS/2 (meaning that the USB mouse has highest preference).
Automatic serial modem detection is also working. Boot Puppy with a serial modem connected (and turned on) and a dialup icon automatically appears on the desktop. Connecting to the Internet is just a matter of clicking on the icon. However, the autodetection only works for true hardware modems -- for Smartlink and Lucent softmodems you still have to use the Modem Wizard.

Apr 17

I have made an Unleashed package, dillo-0.8.5patched, which is based on a patched version of Dillo v0.8.5 from http://teki.jpn.ph/pc/software/index-e.shtml and further adapted by Mark Ulrich to be compatible with his PB-DebianInstaller program (still in alpha, not officially announced yet).
The package has an executable, dillowindow, which is a script called by PB-DebianInstaller to run Dillo.

Apr 16

Okay, here it is!!! puppyserialdetect, a little program to detect serial mouse and serial modem. Download it from here: http://www.puppylinux.com/test/
I need everyone to test this, as I plan to run it at every bootup. So, regardless of whether your computer has any serial mouse or serial modem, this little program will run. I need to know that it detects your serial mouse and modem correctly, but if you don't have serial devices the program should not cause any delay or hang your computer or whatever -- it should just return with no output, or perhaps something on stderr -- if you do get some kind of error message, can you try:

# ./puppyserialdetect 2>/dev/null

to make sure that stdout returns nothing.
For a serial modem, puppyserialdetect also returns the maximum speed -- let me know if that is wrong for your modem. If modem detection works, then we will also be able to eliminate the Modem Wizard ...which is a great step toward automating Puppy, and making Puppy more portable since the detection will take place at every boot.

There is a thread in the main forum discussing this, please read before trying puppyserialdetect: http://www.murga.org/~puppy/viewtopic.php?t=7475

Apr 16

A clarification: I stated below that the detect library code cannot detect my USB mouse due to a difference in /proc structure. Precifically, /proc/bus/input/devices file is missing, as this is only available with the 2.6 kernel.
However, my own detection code reads /proc/bus/usb/devices to detect the USB mouse.

Apr 16

I seem to have basic detection of the serial mouse working. Despite extremely rusty knowledge of C, I managed to extract what I needed from the detect package, which is a hardware detection library. From the copyright notices in the code, they in turn got some of it from RedHat and Mandrake.
The detect code is not detecting USB or PS/2 mouse, due to differences in the /proc directory from what the code expects, but that's okay, as I can already detect a USB mouse. Now, if I can detect a serial mouse (and what port it is on), then if no USB or serial mouse detected then will assume PS/2 by logical elimination.
Need to work on it a bit more, but basic detection seems okay. It can recognise that a modem is not a mouse -- the lights on my modem flashed when it probed, and the modem still works afterward!

Apr 15

There is some discussion on the forum about the awkwardness when you want to use different persistent save files (pupxxx in puppy1, pup_save.3fs in puppy2).
So, for puppy2 I've solved the problem. I've generalised the name of the save file to 'pup_save*.3fs' where the '*' is a wildcard, meaning any characters or no characters.
So you can name the file pup_save9.3fs if you want.
Why do this? Well, if Puppy finds more than one of these in the same partition, Puppy displays a menu and asks you to choose. Simple, it works well. I booted the live-CD, saved the session at shutdown (it still only saves to the default name pup_save.3fs), rebooted, made a copy of the pup_save.3fs file: pup_save2.3fs. Then rebooted and hey, got a little menu, which also offers none of them as one choice.

Note that when you boot off a USB or hard drive partition, Puppy always looks in that (boot) partition for the pup_save*.3fs file(s). Puppy will not wander far and wide over your PC and discover some stray pup_save*.3fs file.
The live-CD is an exception, as a pup_save*.3fs file cannot be on the boot partition. But, the boot script does look on the CD/DVD for any saved folders (multisession), failing which there is a search over the drives of the PC to try and find a pre-existing save file. Each partition is checked in turn and the first save file found is used -- the only case where the choice-menu is offered is if two or more save files are found in the same partition.

Apr 15

I seem to have misunderstood how the isolinux.cfg file works. At the Puppy2 boot menu, typing 'puppy acpi=on' does not work. The isolinux.cfg file:

default puppy
display boot.msg
prompt 1
label puppy
kernel vmlinuz
append root=/dev/ram0 initrd=initrd.gz acpi=off PMEDIA=idecd
timeout 50

The total effect is that we get this boot commandline:

root=/dev/ram0 initrd=initrd.gz acpi=off PMEDIA=idecd BOOT_IMAGE=vmlinuz acpi=on

...and it seems only the first occurrence of 'acpi=' takes effect.
I don't know how to setup isolinux.cfg to provide a true override of default parameters, so I will just remove 'acpi=off' from the 'append' line.
...okay, I've done that. En