logoPuppy developer news:

from 1.08 to 1.09

left-arrow Older news

arrow-rightLater news

May 18, 2006

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:

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):

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:

Billstclair has also mirrored
the ISO, devx_003.sfs, and all-modules at:

May 7

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

  • Exciting, Puppy now has Inkscape and GParted. Despite the bigger iso, everything still loads completely into RAM on a 128M PC.
  • As Puppy has moved up to the 2.6 kernel, we are still discovering hardware-compatibility issues.
  • CD: This can be burnt to CD-R or CD-RW using most Windows or Linux CD-burner programs. If you want to use it in multisession mode (sessions get saved back to CD-R), then be sure the CD-burner program supports multi-session burning (leaves CD "open" for further tracks to be burnt later).
  • DVD: There is no known Windows burner program that will burn the DVD properly (?). You need a Linux DVD-burner program, such as Burniso2cd in Puppy -- this program burns the DVD "open", so that it can be used normally or as multisession.
  • UPGRADING: If you have tested a previous puppy2 alpha CD, please get rid of any pup_save.3fs file, wherever it is on the hard drive or plugged-in device. Also delete a underdog.lnx file if it exists. This is important!
    Note, Puppy2 does have an upgrade mechanism, but it is not quite ready to be used.
Download the iso from here: http://www.pupweb.org/test/
Download the complete set of modules for the kernel, patched kernel source, also the latest pup_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 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.

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:

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:
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- 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:

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:
So, I have upgraded the i810_drv.o driver in Xorg. The kernel modules, in /lib/modules/ 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:

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:


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:

You will need to gunzip the module, install it to /lib/modules/, 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- 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):
f11b3a3ea4b211b6a9c8a79a3383b54b puppy2alpha-28apr06.iso

MU also has a temporary mirror:

Apr 28

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

  • Now there is full NTFS write support, but it is intested. Anyone prepared to sacrifice an NTFS partition, please test saving live-CD session to a pup_save.3fs file on the NTFS partition -- now, like for other partitions, Puppy will create the file.
  • As Puppy has moved up to the 2.6 kernel, there could be new hardware-compatibility issues.
  • CD: This can be burnt to CD-R or CD-RW using most Windows or Linux CD-burner programs. If you want to use it in multisession mode (sessions get saved back to CD-R), then be sure the CD-burner program supports multi-session burning (leaves CD "open" for further tracks to be burnt later).
  • DVD: There is no known Windows burner program that will burn the DVD properly (?). You need a Linux DVD-burner program, such as Burniso2cd in Puppy -- this program burns the DVD "open", so that it can be used normally or as multisession.
  • UPGRADING: If you have tested a previous puppy2 alpha CD, please get rid of any pup_save.3fs file, wherever it is on the hard drive or plugged-in device. Also delete a underdog.lnx file if it exists. This is important!
    Note, Puppy2 does have an upgrade mechanism, but it is not quite ready to be used.
  • There is an applet in the taskbar that displays free memory, in Megabytes. This is the free memory for your files. It needs work though -- I'll post the source. Mouse-over with extra info-balloon would be nice, if I knew how to do it!
  • If your USB keyboard does not get detected, boot with a ps/2 keyboard (or, they will work simultaneously plugged in) and try a "sleep 1" in /etc/rc.d/rc.local0, just before the USB keyboard test. Let me know if that makes any difference. (save the session of course, so the change is there next time you boot)
  • Mouse is autodetected. Serial modem also autodetected, and a "dialup" icon will automatically appear on the desktop -- but only for external serial modems.
  • JWM 1.6 has a bug: the clock in the taskbar disappears and reappears -- Joe says he will fix this and v1.7 will be released soon.
Download the iso from here: http://www.pupweb.org/test/
Download the complete set of modules for the 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 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 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 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)
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 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 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:

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 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:

Apr 19

I'm typing this from the latest Puppy2 snapshot, running kernel version 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. Entering 'acpi=on' or 'acpi=off' at the boot prompt now works.

Apr 15

There has been a teensy bit of reorganising of the main menu.

I've expanded the live-CD boot menu. As well as the usual kernel options like 'acpi=on' or 'ide=nodma', you will now be able to choose to ignore any existing saved sessions and run totally in RAM, or in the case of multisession CD/DVD you will be able to choose to ignore any number of most-recent saved sessions.
The latter is particularly interesting, as it gives you the equivalent of Windows' roll-back. This will only work for multisession CD/DVD, which saves each session as a folder. This is being currently discussed on the forum: the question asked was what if the last session-save stuffed up the the CD somehow, how nice it would be to "go back" -- well, now you can, up to 9 sessions back (arbitrary choice, I thought that was enough).

But then I realised it is only half-done. What we really need is a mechanism to mark folders permanently as "bad". So, I implemented that too. If you roll back say by 2 folders, they are automatically marked as bad and on future boots will be jumped over.
There is a file, /.badfolders, that has the list of bad folders, and this is saved with each session-save. This file could be manually edited if you wish.

Apr 14

In Puppy2 first boot, the session can be saved to floppy disk. However, this causes trouble on PCs that do not have a internal floppy drive. The floppy detection code at startup and shutdown has a long delay on such PCs, and we have not come up with a reliable alternative. However, the bottom line here is that you have to be desperate to save the session to floppy disk anyway -- it only has room for the basic configuration files. So, the simple solution is to restrict saving to floppy disk to non-USB computers. Older non-USB computers will all have floppy drives, except for some rare ones. So, on all USB-enabled PCs, the check-floppy delay is eliminated.

I've restored a default index.html page in /root/ghttpd/htdocs/.

Apr 14

A Puppy2 tester reported that dragging a file to pupzip, the desktop drag-and-drop archiver, failed to create an archive. I tracked this down. One of the scripts used by Xarchive, the archiver program called by pupzip, in turn calls the utility program mktemp. Now, mktemp is a Busybox applet, and, as so many times before, it lacks the required commandline option ( -t ). So, I got the full mktemp out of Vector, and now pupzip works fine.
This bug exists in puppy1 too -- I don't know how nobody reported it before -- maybe nobody realised that you can just drag files to the pupzip archiver. Or maybe they somehow had the full mktemp installed.

In response to a request on the Forum, I have improved the man script. Previously, typing "man something" did not always find the help file even if it existed. This was due to some help files being named 'index.html' or something other than the name of the program, and to a limitation in find itself -- it will not follow paths with symbolic links, or rather can only be made to with some jiggery-pokery code that I had to hack together. I have fixed this, also if any Busybox applet is specified then the Busybox help page will open -- for example, "man zcat".

Of course, if online, if the help is not found locally then the help system could fall back to an online man pages site -- anyone know a good ad-free site with all the man pages in html?

Apr 13

I was replying to a discussion on the Forum about saving the current session to a new multisession CD/DVD, then realised something was not quite right in the session-save code in Puppy2. They were discussing Puppy1, but I responded that it is very easy in Puppy2, but then realised the problem. Now fixed.
What now happens properly is what you would intuitively expect to be able to do. Running a multisession CD/DVD, if you download and burn a new iso of Puppy, that is, a new version or flavour, once it is burnt all you have to do is hit the "Save" button on the desktop to save all of the personal files to the new CD/DVD. You can keep using the old CD/DVD if you want, but the new one also has the complete personal info on it.
Ditto when you shutdown, the personal files can be saved to the new CD/DVD if you wish.

A clarification here. A "session" refers to all the new and changed files since you booted up. However, in the case of moving to a new CD/DVD, the accumulated sessions have to be burnt to the new CD/DVD -- email, browser history, application configurations, personal files, everything. So, hitting the "Save" button puts all of that on the new CD/DVD (with the exception of old, deleted and archived files, that are left behind on the previous CD/DVD).

Technical note: the scripts involved are /etc/rc.d/rc.shutdown and /usr/sbin/savesession-dvd.

Apr 13

I still haven't properly resolved automatic mouse detection. There is a possibility, for someone with C programming skills, who is also interested in the hardware side of things.
SuSe Linux has a hardware detection package called "hwinfo", that, among other things, detects the mouse. The whole thing is very big, which is why I'm reluctant to put it into Puppy, but we can pick bits out of it.
Looking in the source, I see there is a "mouse.c", but I'm so rusty on C, would be struggling to figure out how to extract that file on its own as a standalone application (plus so much else to do).
It seems to have the right detection stuff in it, and I think there was some more relevant stuff in another file.
Anyone interested? ...it would be a very interesting little project I think.

I have uploaded the hwinfo source tarball to:

Apr 12

Ted Dog has a fast download site for the latest Puppy2:
2cc1b657dfe231fc9d441ae2af210d95 puppy2alpha-snapshot-11apr06.iso

Apr 11

A snapshot of Puppy2 alpha, dated April 11th, has been uploaded. This is not an official release. It is for Puppy testers and developers.
Get it from here: http://www.pupweb.org/test/
The patched 2.4.31 kernel source is also available from here: http://www.puppylinux.com/test/.
Some notes:

  • CD: This can be burnt to CD-R or CD-RW using most Windows or Linux CD-burner programs. If you want to use it in multisession mode (sessions get saved back to CD-R), then be sure the CD-burner program supports multi-session burning (leaves CD "open" for further tracks to be burnt later).
  • DVD: There is no known Windows burner program that will burn the DVD properly (?). You need a Linux DVD-burner program, such as Burniso2cd in Puppy -- this program burns the DVD "open", so that it can be used normally or as multisession.
  • UPGRADING: If you have tested a previous puppy2 alpha CD, please get rid of any pup_save.3fs file, wherever it is on the hard drive or plugged-in device. Also delete a underdog.lnx file if it exists. This is important!
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

Apr 11

The utility install has been placed in Puppy2. This is from the fileutils-4.0 package. It is in usr_devx.sfs (or devx_xxx.sfs in Puppy2) file, but it is needed in the standard live-CD.
Note that there is a Busybox install applet, but not using that as it lacks features.
Note also, the reason that I'm doing this is while testing MU's Debian package installer, found a .deb that uses install, probably others do too.

Apr 10

Xorg has a dozen or so hardware-specific drivers, but they do not always work well. The Intel 'i810' driver for example. Or there may not even be a driver to match the video hardware. But, Xorg has a generic driver called 'vesa', which works kind of like the Xvesa Kdrive X server (but do not confuse the two!), and should work on most video hardware, but with some loss of features and performance compared with a hardware-specific driver.
I have modified the Xorg Wizard so that if the hardware-specific driver fails, an option is offered to switch over to the vesa driver. The Wizard makes the appropriate change in xorg.conf automatically. My PC uses the 'sis' driver, but I'm running the vesa driver right now -- works okay, although startup is a bit slower.

Apr 9

Mark Ulrich (MU on the Forum) now has a PayPal button at http://dotpups.de/. I've donated US $62, just a token to say thanks for his input (just redistributing some of what others have donated to me!).

The Xorg Wizard had a problem, when the test X window is displayed there is an "okay" button, but it was only selectable by the mouse. If the mouse isn't working then the button could not be clicked. Now it can be selected by the ENTER key also.

The Xorg Wizard now has a dialog to choose the mouse, in case the autodetection at bootup got it wrong.

I have restored the correct i810_drv.o driver file in Xorg version 6.8.1. This is the version currently used in Puppy. The i810 driver had some problems, and we substituted the i810 driver from Xorg v6.8.2, however it appears to cause a resource leak.

Xvidtune is a GUI utility to adjust the screen up/down/left/right and width/height, in case the current Xorg mode is not rendering quite right on the monitor. I have now incorporated Xvidtune into the Xorg Video Wizard, so that changes created by Xvidtune can be automatically inserted into the Xorg configuration file /etc/X11/xorg.conf.
A problem though with Xvidtune is that it does not work with all video hardware.

Apr 7

Program fc-cache is added to Puppy2, from the Xorg v6.8.1 package.

Pakt has improved the xkb directory used in the Puppy2 snapshot of March 29, adding more languages and cutting the size down. This (improved directory /etc/X11/xkb) is now in Puppy2.

Heh heh, MU sure is quick. He has written a tiny fast new program to scale and render images on the desktop, very sharp and nice looking. Forum thread:

Apr 7

Some more very good news. Something that I have never been happy with is how images are rendered on the desktop. A few versions back, we only had the "fillscreen" and "fullscreen" modes of xli (the program that writes an image to the desktop) -- but these only work properly for screen resolutions that have the same ratio as the image. We got effects like white bands top and bottom, or a totally white background (image not displaying at all). MU came to the rescue with his /usr/sbin/fitimage2root script, which uses some extra options of xli to make the image fit for any screen resolution, but the downside is that the result was blurred. I particularly notice this as I run my screen at 800x600, and xli blurs the image considerably when it scales an image down to fit (with or without the -smooth option).

Last night I decided finally to do something about it, and I rewrote /usr/sbin/fitimage2root, using utility applications from the netpbm suite (which have always been in Puppy). The programs jpegtopnm, pngtopnm and giftopnm do what they suggest, output to stdout, and pnmscale scales the image in any arbitrary fashion. The result is a file that is the exact size for the screen, and xli can display it without having to process it any further.
The conversion process is a bit slow, and there is a noticeable delay, JWM and Rox appear and then there is a pregnant pause before the background appears. So what I have done is cache the converted image, so subsequently when X is started, the background image appears instantly.
I'm mighty pleased. I tried lots of images, and at 800x600 they all look crisp. Most of the background images in Puppy (that you can choose from the "Desktop background image" entry in the Control Panel menu) are 1024x768, and if you run a higher screen resolution, we could play with some smoothing -- easy enough to put a test into the script comparing screen and image resolutions and if need to scale up, then activate smoothing (either in xli or a netpbm application). When I release the next snapshot of puppy2, anyone interested is welcome to play with the script -- note, xli has a "-identify" option that returns the image size.

I also tweaked /usr/sbin/video-wizard, the Xvesa Video Wizard, to work nicely with fitimage2root. You may have experienced when booting Puppy for the first time, choose Xvesa, it initially comes up in 640x480 screen resolution and a white background. Well now the background image displays for all resolutions when the Xvesa Video Wizard is being used to test screen resolutions.

Apr 6

Puppy now has automatic detection of mouse and keyboard. Or rather, I've written the code, haven't tested it -- but quite confident, barring typos.
On first boot, Puppy will choose in this order of preference: USB, PS/2, serial. So, if you have both USB and PS/2 mice plugged in, the former will be chosen. Ditto for the keyboard. However, you can override by using the Mouse/Keyboard Wizard -- for example, choose the PS/2 mouse, so even if a USB mouse is plugged in, the PS/2 mouse will be used. On the other hand, if the Wizard has chosen a PS/2 mouse but at the next boot it isn't there, then Puppy will use what is there (the Wizard's info will also be updated).
The two scripts involved are /etc/rc.d/rc.local0 and /usr/X11R6/bin/xwin. The former now does all the detection and loading of modules.

One good thing about this is that the first time someone boots Puppy, there is one less dialog window. You still have to choose keyboard country-layout and whether your mouse has a scrollwheel.
Another good thing is the improved portability, taking a Puppy multisession CD/DVD or USB pen drive to other PCs.

Apr 5

It was reported that the Chooselocale program (selected from the Control Panel menu) is broken in Puppy2. I've fixed it. The fault was that it referenced /root/.packages/unleashedpackages.txt, but this file no longer exists in Puppy2. I also updated /root/.packages/README.txt:

packages.txt is a list of all the packages in Puppy Unleashed, the build
system from which this live-CD or Puppy installation was created.
Those packages already installed on the live-CD (in pup_xxx.sfs file) are
marked as "on", if not installed are marked as "off".

livepackages.txt is a subset of packages.txt and initially is a list of all
the "off" packages from packages.txt, that is, those that are not installed
in the live-CD.
The packages in livepackages.txt are available for download and installation
by the PupGet package manager, to the pup_save.3fs file (the personal persistent
storage file, like the pupxxx file in Puppy1) or if your persistent storage is
a drive partition they will get installed there.
Once installed by PupGet, the entry in livepackages.txt gets changed to "on".

Puppy1 has another file, unleashedpackages.txt, in addition to the above, but
this causes confusion and is now eliminated in puppy2.
In Puppy1, not all packages in the Unleashed suite are suitable to become PupGet packages, due to the restriction that only top directories /etc, /root and /usr are persistent (can be saved permanently), hence unleashedpackages.txt is a list of all the packages in the Unleashed suite, while packages.txt is the same but those unsuitable to be PupGets are removed.
This is a layer of confusion though, and as Puppy2 is able to permanently save everything under "/", all of the Unleashed packages can be PupGets, so now there is only the one file, packages.txt.

Apr 5

I'm working on mouse autodetection. See this forum thread:

Apr 4

Pakt reported a bug in Puppy2: he has both usb keyboard and usb mouse, but the keyboard only worked after selecting the usb mouse (he never explained how he did that, unless he was able to use a ps/2 keyboard). Anyway, I think I've fixed it.
I have implemented autodetection of both usb mouse and usb keyboard, so the first time you boot puppy these will be autodetected. However, you will still be asked if you have a scrollwheel, and the country layout.

A question that has come up a few times on the forum is what about hardware detection when a multisession-CD or USB installation of Puppy is moved to a different PC? For now, the PCs will have to have the same type of keyboard and mouse. For X, you would need to choose Xvesa for portability.
Anyway, I've made a step in the right direction, and hope to fully autodetect mouse and keyboard at every boot -- in the not too distant future.

Apr 4

Ah good, I have fixed the "read only filesystem" bug in Puppy2. Puppy testers got this bug when they saved the first session to floppy or USB drive, or installed Puppy to USB drive. This was the big bug in the March 29 snapshot.
I sifted through the init script and fixed a few other things as well.

Apr 3

The file initrd.gz is the initial ramdisk in Puppy2. I have reduced the size of this file from 1,647K to 911K. This was achieved by recompiling all the programs in it to use uClibc, instead of the standard glibc C library.

Some technical notes about this. The site www.uclibc.org has a "Toolchains" webpage and a product buildroot that can build a complete ext2 root filesystem from source packages -- except that I got too many compile errors, so instead downloaded their ready-to-go i386 root filesystem. The latter is a 22M file, root_fs_i386.ext2.gz, and the version that I downloaded on April 1st uses uClibc version 0.9.27. After expanding with gunzip, it is about 100M, but it needs to be increased to use:

# dd if=/dev/zero bs=1024 count=300000 >> root_fs_i386.ext2
# sync
# resize2fs root_fs_i386.ext2

It can then be mounted and chrooted into:

# losetup-FULL /dev/loop2 root_fs_i386.ext2
# mount -t ext2 /dev/loop2 mount-directory
# chroot `pwd`/mount-directory

I found though, that a few things are broken. It uses a program called ccache, that confused about half the packages that I tried to compile. Disable ccache by changing a couple of symlinks:

# ln -sf /usr/bin/gcc /bin/cc
# ln -sf /usr/bin/gcc /bin/gcc

The installation of zlib is also broken. The files zlib.h and libz.a are missing, the first is essential, the second required by some packages. Either grab these from somewhere, or download the zlib source tarball from the uclibc site and recompile it.

All of the source tarballs used to build the root filesystem can be individually downloaded from the uClibc site. Some relevant versions, used in my initrd: zlib 1.2.1, busybox 1.01 (later than version inroot_fs_i386.ext2.gz), coreutils 5.2.1, findutils 4.1.20, e2fsprogs 1.35, grep 2.5.1, sed 4.1.2.

The above technical information is for any Puppy developer wanting to compile applications for initrd.gz. Note that the uClibc website has a warning that the latest version 0.9.28 does not have binary compatibility with 0.9.27, so when they upgrade their root_fs_i386.ext2.gz, you will have to either ask them to provide the older one, or maybe I can upload it somewhere. In fact, I could upload my "fixed" version.

Mar 30

There are reports that the md5sum is wrong for the 29th March Puppy2 snapshot. So, it is also uploaded here:

Mar 29

A snapshot of Puppy2 alpha, dated March 29th, has been uploaded. This is not an official release. It is for Puppy testers and developers. Get it from here:
The patched 2.4.31 kernel source is also available. Some notes:

  • CD: This can be burnt to CD-R or CD-RW using most Windows or Linux CD-burner programs. If you want to use it in multisession mode (sessions get saved back to CD-R), then be sure the CD-burner program supports multi-session burning (leaves CD "open" for further tracks to be burnt later).
  • DVD: There is no known Windows burner program that will burn the DVD properly (?). You need a Linux DVD-burner program, such as Burniso2cd in Puppy -- this program burns the DVD "open", so that it can be used normally or as multisession.
  • UPGRADING: If you have tested a previous puppy2 alpha CD, please get rid of any pup_save.3fs file, wherever it is on the hard drive. Also delete a underdog.lnx file if it exists. This is important!
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/

Mar 29

Fixed some more bugs in init and rc.shutdown scripts.

I have decided to release the puppy2 alpha snapshot later today, as have to do something else (non-Puppy) for the next few days.

I haven't completed chasing down one bug. The first time a CD/DVD is shutdown, the session can be saved to floppy disk. That part works, but at bootup there is a problem. The saved session, pup_save.2fs, is found on the floppy and mounted, but then something goes wrong. I have to leave that one for now, as have to do something else, but if the idea of saving the session to floppy interests someone, feel free to investigate this bug!
Of course, you have to set the BIOS boot sequence to CD drive first, as the floppy will have to be in the drive on subsequent boots.
Note also, booting from live-CD, sessions can be saved to a USB pen drive, in theory anyway, as I haven't actually done it yet, have just put in the code to do it.

Mar 28

Okay, I fixed a bug in rc.shutdown, and the full hard drive installation now shuts down properly.

I'm testing a serial mouse in Puppy2, it sure is "nervous". Single clicks are too easily interpreted as double clicks. In ~/.jwmrc and ~/.jwm/jwmrc-personal, there is a setting for double-click speed -- I made that a bit bigger, but not sure if it has improved. If this is a JWM problem, then the same symptom will be in 1.0.8r1. Anyone with a serial mouse who has this problem? Any thoughts on fixing it?
I'm thinking that the double-click-delta may have to be increased, as my old mouse has coarse movement (low dpi)? Here are the current settings:

        <!-- Double click speed (in milliseconds) -->

<!-- Double click delta (in pixels) -->

Mar 27

In Puppy 1.0.8r1, xkb is somewhat broken. This is the keyboard layout system for Xorg, and the directory in question is /etc/X11/xkb. Puppy2 alpha snapshot of 12 March 2006 has the same xkb folder as 1.0.8r1.
Pakt, lior2b and Dougal have investigated and devised improved xkb folders.
For the next Puppy2 alpha snapshot due out at the end of March, I am experimenting with Dougal's xkb folder, due to it's small size -- let us know on the forum how it works.

JustGreg and I are chasing down the bugs in the "option 2" (full) hard drive installation, using the Puppy Universal Installer in Puppy2. I found a bug in the /usr/sbin/grubconfig script. After fixing that, I successfully installed Puppy to a ext3 partition and created both a boot floppy and installed Grub into the MBR.
There is however another bug: Puppy starts up fine, but at shutdown the /etc/rc.d/rc.shutdown script throws a fit and exits to the prompt. I have a good idea what the cause is, but have to eat now! Will fix it tonight.

Mar 26

My Pmount drive mounter program for puppy2 now handles Zip and LS120 internal ATAPI (IDE) drives.

The Puppy Universal Installer for puppy2 now installs to Zip and LS120/250 drives.
There was a recognition bug at bootup, in the init script, that I have fixed and will do what should be the final test tonight.

Mar 26

JustGreg did some incredible research into getting USB Flash drives to boot puppy2. Forum thread:

I have attempted to incorporate the results of his work into the Puppy Universal Installer. As well as his "sys-nopart.mbr" file, the script offers a range of MBRs to choose from, including the one from Spblinux (developed by Christian Ostheimer).

Mar 25

I'm doing some more work on the Puppy Universal Installer for Puppy2. The "option 1" (poor man's) hard drive install has been improved.

Mar 23

If you are testing the March 12th snapshot of Puppy2, multisession CD/DVD, don't bother with testing what happens when the CD/DVD gets full. At shutdown, or whenever a session is saved, you will be asked to insert a new blank CD/DVD, but the old session wasn't properly saved to the new CD/DVD. I've just fixed it.

The new CD remaster program for Puppy2, written from scratch, is now working. Nice GUI interface, easy to use. The script is /usr/sbin/remasterpup2.

Mar 22

I'm writing a remaster-CD script for Puppy2. Getting there!

Mar 21

JWM is fixed, plus Lior is adding more features! See thread: http://www.murga.org/~puppy/viewtopic.php?t=6907

Mar 19

Mitch Bradley has studied the startup and shutdown scripts for puppy2 in detail, and made a suggestion how to better mount the pup_xxx.sfs file. For certain PUPMODEs, if sufficient RAM, pup_xxx.sfs was copied from the boot partition to pup_rw (the tmpfs ramdisk) then mounted by a loopback device onto pup_ro2. Thus, pup_rw, the top unionfs layer, has a file that is mounted as a lower layer, probably not the most healthy configuration. I cleaned this up by copying pup_xxx.sfs to another tmpfs ramdisk, /mnt/tmpfs (path from the point of view of the init script, prior to pivot_root). Thus pup_xxx.sfs is in RAM but outside the unionfs layers.

Mar 19

Thanks to Lior Tubi (lior2b in Forum) who showed how to make the "Print Screen" key work in the JWM window manager. I've added the appropriate line into ~/.jwm/jwmrc-personal. Forum thread: http://www.murga.org/~puppy/viewtopic.php?t=6882

The /initrd/sbin/init initial boot script in puppy2 will load any extra .sfs files, as unionfs layers. These files have to be in the same place as the persistent storage file, pup_save.3fs. However, I have modified /initrd/sbin/init and /etc/rc.d/shutdown so that on the first shutdown, any extra .sfs files on the live-CD/DVD will optionally get copied to the same partition as the pup_save.3fs file -- so that on next boot they will be loaded.

In the case of the multisession CD/DVD, the persistent storage is on the CD/DVD itself, so any extra .sfs files are left as-is and will be loaded at bootup ...but that is going to be slow when running Puppy. Can't help that though, as the whole idea of multisession is to be independent of the hard drive. I might add a bit more code to try and load them into RAM, if there's room.

In a nutshell, what the above paragraphs mean is that you can burn a puppy2 live-CD/DVD with the base iso file and any extra .sfs files that you want, and they will be automatically recognised and loaded.

Mar 18

I have setup a forum especially for developers and testers of Puppy2. This is intended to be low-traffic and very focussed. Puppy2 is our experimental next-generation Puppy, not yet for general usage. URL:

Mar 18

I had hoped to announce JWM upgraded to version 1.5, but the taskbar-related bugs have got worse, not better. Here is a snapshot:

  1. The little glitch on the left side is still there.
  2. There is now a large gap between the application tabs (rxvt and beaver) and the swallowed applications -- this appears to be due to the blinky entry not having a width="" parameter (see below). The horizontal space being automatically allocated to Blinky is not correct.
  3. The above image shows xload swallowed application (and blinky is running but nothing is showing as my network is down), but if I restart JWM (using <Restart> tag), the entire swallowed-apps area disappears, including xload, and the application tabs fill the entire space right to the clock display. Xload and Blinky are actually killed.
  4. Disaster: If my network comes up, or goes down, JWM crashes. Blinky-related bug.
The relevant section from my .jwmrc file:
        <!-- Additional tray attributes: autohide, width, border, layer, layout -->
<Tray autohide="false" insert="right" x="0" y="-1" border="1" height="26" >
<!-- Additional TrayButton attribute: label -->
<TrayButton label="Start" icon="mini-dog.xpm"/>
<!-- Additional Pager attributes; width, height -->
<!-- Additional TaskList attribute: maxwidth -->
<!-- <Dock/> -->
<Swallow name="blinky">
blinky -bg "#BCBAB5"
<!-- Additional Swallow attribute: height -->
<Swallow name="xload" width="32">
xload -nolabel -bg "#BCBAB5" -fg red -hl black
JWM 1.5 has lior2b's patch, and the horizontal space allocated for blinky should reduce to a very small space automatically? If I go back to width="39" for blinky, then behaviour is as the unpatched 1.4.

Also the "--disable-fribidi"  configure option does not work.
Anyway, I'll report these problems to Joe, the JWM developer. If anyone else (Lior?) has any thoughts on this, let me know.

Mar 17

Um, I realised that the wording of the copyright notice at the bottom of this page needs to be changed. It had something like "This is the logo for PuppyOS". Now it states "This is a logo for Puppy, also known as Puppy Linux and PuppyOS".

Mar 17

I've been thinking about the ownership of the various logos designed for Puppy. Each Puppy site, and Puppy-derivative sites, are using their own distinctive logos. It has evolved that way. It is possible to, that each version of Puppy will have a logo with some distinctive feature that differs from other releases. Anyway, would we be happy if someone took one of the logos and used it for something else, perhaps totally unrelated to Puppy Linux, or, another unrelated Linux distro?
Prior usage does carry legal weight, at least in some parts of the world, however, I decided to explicitly state the copyright and conditions of use of the logos that I am using on my sites. See bottom of this page.

I thought that I should do something, rather than nothing, but perhaps you have thoughts about a better way to claim ownership of our logos?  Please raise the topic for discussion on the Puppy Forum. A good starting point is to read about earlier input regarding Puppy logos: http://www.murga.org/%7Epuppy/viewtopic.php?t=3543

I would like to acknowledge David May, who vectorised a photo of the "real" Puppy (see puppy_experiment2.png in the above thread). My logo, that you see at the very top of this page, is my own take on converting the photos, inspired by David's work.

Mar 16

Foxti has progressed with getting VPN (Virtual Private Networking) with MPPE to work. See this thread:

Mar 16

Apologies to anyone who sent an email to bkaulerATgoosee.com and it bounced. This was due to the changeover of hosts. Or, it may have simply disappeared -- I sent a couple of test emails and they were sent okay but then just vanished. Anyway, the transition has completed and the email address is working again.

Mar 15

Thanks to Jonathan Marsden (forum name jmarsden), we now have the Mantis bug tracking system.
If you find a bug, or have a suggestion, probably the  first stop is to see if it is being discussed on the Forum (www.murga.org/~puppy). The next step would be to go to the bug tracker and see if the bug/suggestion is already reported. Final step is to report it.

Jonathan's Mantis bug tracker is here: http://tracker.nfshost.com/mantis

Note, the bug tracker is currently only for the "official" Puppy, not for derived distros such as Grafpup. However, Puppy-based distros do sync with the official Puppy more-or-less, but you would need to confirm a bug is also in the latest official Puppy release before reporting it.

Mar 14

Domains puppylinux.com and goosee.com now moved to new host. Waiting for the updated DNS records to filter throughout the Internet.

Mar 14

I received a renewal notice from my goosee.com host. As the account expires in less than a month, and as Servage.net, the host for puppylinux.org and puppylinux.com, is near CPU-usage capacity, I decided to signup with another host and move goosee.com and puppylinux.com to it.
So, there will be a momentary hiccup as the DNS's get updated. Will probably changeover tomorrow, busy uploading files and editing some webpages right now.

Mar 11

PupGet package manager is fixed to work in puppy2. There was a report on the forum that it didn't uninstall properly, due to the absence of directory /root/.usr -- that was easy to fix, but I had to rethink how files are uninstalled if they are over-writing an original pristine file from pup_xxx.sfs (equiv. to usr_cram.sfs). The way it was done in puppy1 could actually corrupt the unionfs file management, but now it works fine. What happens now, is if you install a package that has, say, library file xyz.so, but puppy already has xyz.so in the pristine pup_xxx.sfs file, when the package is uninstalled the original pristine file is restored. The exception is a full hard drive installation -- you uninstall the package with xyz.so it's gone, deleted. Well, that's how distros normally work anyway -- puppy's restoration of the original pristine file is a special feature of Puppy.

The first dialog window that the Pupget package manager displays did not look very professional. It used the xmessage program. I have reworked it to use gtkdialog.

One more thing. I remembered someone reporting that when the PupGet package manager uninstalls a package, any empty directories (after the files of the package have been deleted) are not deleted. Now they are.

Mar 11

A clarification about VPN from rarsa: "IPsec VPN is happily running in puppy. I have been using it for quite some time. It's just the MPPE VPN people have had trouble with." More details on Forum:

Well, it looks like I will finally be getting broadband. Here in Australia the government has a subsidy scheme to bring broadband to rural areas, and my local town is getting wireless broadband, via satellite. I'm not yet 100% sure that my place will be able to connect up, as I'm out of town a bit and not quite line-of-sight. Anyway, fingers crossed. It will solve my uploading problems. I'm not sure when they will be installing, maybe one or two months away.

I'm in the process of setting up a blog. I have sometimes referred to this Developer News page as my blog, but it's really only a plain static HTML page. The blog I'm using, WordPress, looks real good from the description. It's a bit like a wiki in that others will also be allowed to contribute. Anyway, I don't really know much yet as I've only got as far as installing it. I know my web pages are badly in need of an overhaul, so I'll play with WordPress and see if it is what I need. If anyone reading this has experience with WordPress and would like to comment, or maybe give me a suggestion about some feature of WordPress that would be good for my site, please post on the Forum and we'll have a chat.

Mar 9

The 2.4.31 kernel has been recompiled with the mppe-mppc patch version 1.3. So, the kernel now has three patches, ntfs, squashfs and mppe-mppc.

ppp has been upgraded to version 2.4.3 and patched with mppe-mppc patch version 1.1.

Mar 9

Ian's Xwget GUI frontend for wget downloader is now in Puppy. Version 0.4 has a bug, so I have named the bugfixed version 0.4.1 and made it into a Unleashed package.

I've been discussing how to implement VPN in Puppy, with Foxti on the Forum. The kernel needs to be patched to provide MPPE support -- note, kernel 2.6.15 has MPPE support, but I'm using the 2.4.31 kernel for puppy2 (and maybe for v1.0.9). Looking for patches, I found this site: http://mppe-mppc.alphacron.de/. This seems to be what we need, so today I plan to recompile the kernel, and patch and upgrade ppp.

Note, tempestuous has compiled MPPE kernel modules for the 2.4.29 kernel currently used in Puppy. See Forum thread: http://www.murga.org/~puppy/viewtopic.php?t=6606

Thanks to jmarsden who pointed out how to enable the mouse for Xlock. Previously, a keypress was required to unlock the screen. Now, a mouse motion also will do it. (The password of course still has to be entered to complete the unlock).

Mar 7

Thanks to some great detective work, the bug in Xlock is now fixed. Xlock is a desktop icon on the top-right of the screen -- click on it to lock the screen and display a pretty pattern (right-click to choose a pattern). Unlock requires a password, which was the problem, as any password unlocked the screen.
Read this thread in the Forum to find out how the guys solved it:

Puppy's little CD/DVD burner program, burniso2cd, could not handle USB CD drives. That is now fixed. In fact it should now also handle SCSI CD/DVD drives.
There is now a dialog window that displays all the CD/DVD drives in the PC and you choose which one you want to burn to.
If you would like to test this new version of burniso2cd, go here:

Mar 5

I'm fiddling around with the usb keyboard and mouse setup. There were reports of trouble on the Forum. One thing that I have done is migrated from the usbkbd.o and usbmouse.o kernel modules to the hid.o, mousedev.o and keybdev.o modules. The first two use a simpler system known as HIDBP (Human Interface Device Boot Protocol), whereas the latter use a more sophisticated HID protocol. I'm using a usb keyboard and mouse right now, seems okay.

Also right now I'm running from a multisession-CD -- that seems to be very solid now. Will keep testing it, make sure it stays that way.

Mar 4

Upgraded rarsa's improved Network Wizard script to version 21.

The Modem Wizard has a bug in puppy2alpha. Both the Lucent and SmartLink software modem kernel drivers are included in the live-CD iso file, however the "ttyLT0" and "ttySL0" buttons did not appear in the Wizard. Now fixed.
Note, having these drivers builtin, rather than having to download and install them, is good for dialup people, however of course these are not the only kind of software modems. If you have a HSF/HCF type of modem, you still have to install the driver separately -- see the Forum.
(As always though, we recommend you get a real hardware modem -- second-hand external serial modems are very cheap on eBay).

Mar 2

I rewrote the script for the desktop "Save" icon for puppy2. For multisession-Puppy, the "Save" icon is a means to save the session to CD-R/RW or DVD-R immediately, without having to wait until shutdown.

Why would you want a "Save" button? Previous Puppy users found that saving at shutdown is iffy, so this gets around that problem -- although the latest puppy2 saves very reliably at shutdown. It can also be useful if you are writing the next Great American Novel and worry about a power outage causing loss of the last three hours of typing.
There is yet another use, a really neat one: say you have downloaded the latest version of Puppy, and you have burned the iso to CD/DVD (in multisession mode of course). Then just click the "Save" button and hey presto your new CD/DVD is ready to go with the latest session on it.

Note, previous puppies didn't have a "Save" icon for multisession-CD, however do have it now, but it needs to be used sparingly as CDs fill up very fast. This is due to the considerably less storage on a CD, but also each saved-session has about 12M (I think, from memory) wasted space (whereas a saved-session to DVD is much more space-efficient).

Technical note: the actual script is /usr/sbin/savesession-dvd.

Mar 2

Major improvements to multisession shutdown. Reliability of session-saving for both CD and DVD improved.
I found that the Joliet extension can sometimes cause session-saving to fail, so have removed it. A previous problem with some files and directories not getting saved has been fixed.
Detection of CD or DVD being full is now detected in a much more elegant manner. The new code is so much simpler than the previous kludge.

Note that all notes in this page from now on refer to puppy2, unless specifically stated otherwise.

Feb 28

Good news. I found that the problem with ndiswrapper and the 2.4.31 kernel is the lck patchset (from plumlocosoft). I took the vanilla 2.4.31 source and only applied the ntfs 2.1.6b and squashfs 2.2 patches, and now ndiswrapper works. So, we are back onto using the 2.4.31 kernel for puppy2.

Ndiswrapper is upgraded to version 1.10.

Feb 26

Pakt (forum name) has made further improvements to xkb, the keyboard layout component of Xorg. If you find that the layout is still wrong for your country, visit the Forum here:


also here, for a different solution from MU:


Notice: I received a few CD orders that I delayed processing. If you placed an order on February 13th or later, I held your order until 1.0.8 (r1) was released. Your CD is now on its way!

For developers, puppy-unleashed-core-1.0.8r1.tar.gz has been uploaded to ibiblio.org.

Feb 25

Puppy Linux version 1.0.8r1 (revision 1) released. This is a few minor bugfixes. Each of these bugs in 1.0.8 can be manually fixed (see notes below), however for convenience here is a release with the fixes. The size is 61.7M. Release notes:

  • Clicking on the Gaim desktop icon now does automatic account creation for the #puppylinux IRC channel.
  • The "Help" menu entry now works.
  • The ide-floppy.o kernel module is back. This is required for an internal ide Zip drive.
  • Xorg now has these applications: xkbcomp, xkbevd, xkbprint, xkbvleds and xkbwatch. At least one of these (xkbcomp) is needed for country keyboard layouts to work.
  • UPGRADING: If you have already run version 1.0.8beta or 1.0.8, edit /etc/puppyversion text file and change the string "108" back to "107". Do this before you bootup 1.0.8r1.

Feb 24

Peter Sieg has also mirrored Puppy 1.0.8:


The language on this site is german.

BUG REPORT: Xkb keyboard country layout stuck on "us".
Another one snuck through, also easily fixed:
Please download the file xkbcomp.gz, to /usr/X11R6/bin/. You can uncompress it by opening a terminal (Running Rox file manager, with /usr/X11R6/bin as current window, right-click and choose "xterm here"):
# gunzip xkbcomp.gz
Then restart X (look in Shutdown submenu).
If you find this still does not work for your country, there is another solution, that also works for Puppy 1.0.7:

Feb 23

Babbs has 1.0.8 files also:


Feb 23

Puppy 1.0.8 is mirrored here:

md5sum: c96b7e03a9aaa9bc4458efdca3e195ec puppy-1.0.8-mozilla.iso

md5sum: 13e5ea99585b3dac46874cd0eb3d74b3 puppy-multisession-1.0.8-mozilla.iso

http://puptrix.org/std/usr_devx.sfs (developer module)

Ted Dog has mirrored them here:

BUG REPORT Ah ha, our first bug!
We will bring out a "service pack" to fix any minor bugs, but this one is easy to fix manually.
When you look at the menu in 1.0.8, near the bottom is the "Help" entry. This is not working.
Please start the Rox file manager, right-click the mouse to bring up a menu, choose "Display -> Show hidden". Then you will be able to see hidden files. Click on the file ".jwmrc".  There is this line:
  <Program label="Help" icon="help24.xpm">LD_PRELOAD=/usr/lib/libgdkxft.so dillo /usr/share/doc/index.html</Program>
Change it to this:
  <Program label="Help" icon="help24.xpm"> dillo /usr/share/doc/index.html</Program>
Save the file, then choose "Shutdown -> JWM restart" from the menu. That should fix it.

If you want to start Gaim and be automatically connected to the #puppylinux IRC chat channel, please start Gaim from the menu the first time that you run Gaim. The desktop icon just starts Gaim without the automatic account creation -- but after having run Gaim once from the menu it will then be ok to run from the desktop icon as the account has been created. Slight inconsistency there!

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