Release notes for Puppy version 2.11

Puppy 2.10 was the first Puppy to use LZMA compression for the 'pup_210.sfs' Squashfs file (the file that has all of the applications). We found however that it doubled the startup time for each application, not very noticeable on a modern fast CPU, however very much a problem on older hardware. Thus, for 2.11 we have gone back to the standard GZIP compression.

The downside to this is that the pup_210.sfs file was smaller in 2.10, now it is bigger. We want to keep the Puppy live-CD iso file at 70M maximum, so that it can load totally into RAM on a 128M PC. Therefore, I had to find ways of "cutting out fat", of course without crippling Puppy. Many of the release notes below are related to how the "fat" was "trimmed".

Version 2.11 is basically an improved 2.10. Apart from reverting to GZIP compression, this release has various bugfixes. As it is still essentially an enhanced-2.10, the same kernel version is used,, but without the LZMA support (it is exactly the same kernel as used in Puppy 2.02).

Release notes (in no particular order):
Regarding Xorg:
Note 1: The simple Xvesa Kdrive X server is not the same as the Xorg 'vesa' driver! Xvesa, is, as always, available in Puppy as a fallback.
Note 2: The i810 driver is included in the base package after feedback from forum that vesa driver does not work with Intel 810-family video hardware.
Note 3: The reason I introduced the test-bypass for the Xorg Wizard is when testing an old IBM Aptiva the Xorg Wizard displayed the test-graphics-mode okay but then hung after clicking the OK button. I have no idea why. I introduced an extra dialog window to offer to bypass the graphics test and this strategy was successful.

Regarding a USB Flash drive formatted as a "Superfloppy" and with ext3 filesystem, this is quite interesting. Some Flash drives come like that, as superfloppies, no partitions, meaning that the entire drive is used, like a floppy disk -- a floppy is accessed as /dev/fd0, similarly a Flash drive would be accessed as /dev/sda (instead of /dev/sda1). The universal Installer can reformat a normal Flash drive (with a partition) as a Superfloppy, and offer to put a FAT16 or ext3 filesystem on it -- the latter is interesting as you can then save sessions direct to the drive. That is, files are written directly, not placed inside a pup_save.3fs file -- the advantage is the entire free space of the Flash drive is available, good for very large Flash drives 2G or more.
But, why format as a Superfloppy? Reason is, some quirky BIOSes will boot from it, but won't boot from a USB drive with a partition. If your Flash drive has a partition, probably best to leave it alone, unless it won't boot. Note, even if your Flash drive has a partition, you can place a ext3 filesystem on it so that sessions can be saved direct (it normally ships from the factory with FAT16 f.s.) -- use Gparted to change the filesystem.

Regarding Unionfs. The elimination of spurious trouble-causing '.wh.__dir_opaque' whiteout files is only done by the 'init' script at a version upgrade. The way the 'init' script determines if a version upgrade is required is to compare the values in /PUPPYVERSION in the initial-ramdisk with /etc/puppyversion in the persistent storage (usually pup_save.3fs).
This cleanup of whiteout files can only be done at bootup as it must be done before the union of layers is activated, and it is only done at a version upgrade due to the time it takes.
Apart from cleaning out whiteout files deemed to be unnecessary and even malicious, the upgrade code does a general cleanout. It is something that you could force the system to do anytime you want, simply by setting /etc/puppyversion back to previous version, then reboot. That is, even though you are not booting a new version of Puppy, you can make the bootup scripts think an upgrade is required.

Regarding simplified messages at bootup, if you look in 'isolinux.cfg' on the CD, you will see the text "loglevel=3". This tells the kernel to only report serious errors to the console, and that is partly how the traffic on the console is reduced during bootup. The Linux kernel can be compiled with this as default, and I intend to do this when we migrate to the 2.6.18 kernel. For now however, "loglevel=3" has to be manually inserted. So, if you install Puppy to some other media, such as USB Flash, you will have to manually edit the 'syslinux.cfg', 'extlinux.cfg' or 'isolinux.cfg' or GRUB/LILO config and insert that text. If you don't, it will mean that you will get lots of stuff scrolling rapidly on the screen, like before.
This is only a temporary problem anyway, and will go away with v2.12.

The next Puppy
The 2.6.18 kernel, when will it be used in Puppy? I'm waiting for the release of at least, as the very first 2.6.18 will probably have abundant bugs. So, probably expect this for Pup 2.12.
I was also going to do some improvements for PCMCIA, targetting this for 2.12 also.
JWM is currently version 1.7. Version 1.8rc1 has some important fixes, such as making the mouse less sensitive, but it has a bug with Gxine so I'm waiting on at least v1.8rc2 before upgrading.
We are not using the latest ntfs-3g (NTFS driver), as there were some changes to how it worked that require a lot of changes to some scripts in Puppy, and I didn't want to "rock the boat" that much. But, will target upgrading ntfs-3g for Pup 2.12.
Aufs is an alternative to Unionfs, apparently simpler. I plan to check that out too:
Further thoughts on what's needed for a future Puppy:

Complete list of packages in the 'standard' release of Puppy version 2.11:
0rootfs_skeleton-2.1.1 abiword-2.4.5 afpl_ghostscript-8.54 agenda-2.0 alsa_lib-1.0.11 alsa_utils-1.0.11 atk-1.11.4 audiofile-0.2.6 autocutsel-0.7.1 autologin-1 axel-1.0a bash-3.0.16 bbc_provided-2003 bc-1.06 bcrypt-1.1 betaftpd-0.0.8pre17 blinky-0.8 boehm_gc-6.6 bubbles-1.0.2a busybox-1.01 bwidget-1.3.1 bzip2-1.0.3 cairo-1.0.4 cdp-0.33.13 cdparanoia-3.a9.8 cdrtools-2.01.01a10 cgtkcalc-2.1.6 combobox-2.3 coreutils-5.2.1 countdown-2003.10.27 cpio-2.6 curl-7.15.3 db1-1.85 dhcpcd-1.3.22 dialog-0.9b dict-1.4.9 didiwiki-0.5 diffutils-2.8.1 dillo-0.8.6teki-mu disktype-8 dnotify-0.18.0 dosfstools-2.11 dotpup_downloader-mu05 dotpuphandler-3.1 dvdauthor-0.6.12patched dvd+rwtools-5.21 e2fsprogs-1.38 e3-2.7.0 ed-0.2 edid-1.4.1 eject-2.1.0 expat-2.0.0 eznet-1 ffmpeg-2005-11-20 file-4.17 findutils-4.2.22 fragger-0.0.5 freememapplet-1.2.1 freetype-2.1.10 fribidi-0.10.7 ftp-1.2 fuse-2.5.3 gaim-1.5.0 gawk-3.1.5 gbase-0.5 gcc-3.4.4 gcombust-0.1.55.pup1 gcrontab-0.8.0 gdbm-1.8.3 gdk_pixbuf10-0.22.0 gdkxft-1.5 gdmap-0.7.5 geany-0.8 gemgame-2003 gettext-0.14.5 gftp-2.0.18 gifsicle-1.40 gimp_print-4.2.7 gkdial-1.5.14patched glib12-1.2.10 glib-2.10.2 glibc-2.3.5 gnumeric-1.6.3 goffice-0.2.1 gparted-0.2.4_STATIC_GTKMM gpasman-1.3.1 grabc-1.1 grep-2.5.1 grub-0.97 gsview-4.7 gtail-0.5a gtimer-1.1.6 gtk+12-1.2.10 gtk+-2.8.17 gtkcat-0.1patched gtkdialog-0.58.8 gtkdialog-0.59.8 gtkdiff-0.7.0 gtkfind-1.0.1 gtkfish-1.0.1 gtksee-0.6.0b-1 gtk_shell-1.03 gxine-0.5.7 gxset-0.3 gzip-1.3.5 hdparm-6.6 ical-2.3.1patched ifplugd-0.18 ifplugd-0.28 img-1.2.4 imlib-1.9.15 inkscapelite-0.36.2 iptables-1.3.5 isomaster-0.1 jwm-1.7 jwmconfig-0.2.1 kbd-1.12 kp-1.0 lame-3.96.1 lcms-1.14 leafpad-0.8.1 less-382 libao-0.8.6 libart_lgpl23-2.3.17 libdaemon-0.8 libdvdcss-1.2.9 libdvdplay-1.0.1 libdvdread-0.9.6 libexif-0.6.13 libexif_gtk-0.3.5 libghttp10-1.0.9 libgif-4.1.4 libglade-2.5.1 libgnomecanvas-2.14.0 libgnomeprint-2.12.1 libgnomeprintui-2.12.1 libgsf-1.14.1 libhardware-20060723 libid3tag-0.15.1b libidl-0.8.6 libidn-0.6.2 libieee1284-0.2.8 libjpeg-6b libmad-0.15.1b libmng-1.0.9 libogg-1.1.3 libpng-1.2.8 libsamplerate-0.1.2 libsigc++-2.0.17 libsndfile-1.0.16 libstdc++-5.0.6 libtiff-3.7.4 libusb-0.1.11 libvorbis-1.1.2 libxaw95-1.1.4 libxml-2.6.26 libxslt-1.1.15 libzvt-2.0.1 linneighborhood-0.6.5patched linux_firewall-2.0rc9 ltmodem-2.6.8alk-k2.6.16.7 madplay-0.15.2b memtester-2.93.1 metamail-2.7 mimencode-2.7 mini_volume-0.3 minixcal-1.1 mktemp-1.5 ml-2000 modem_stats-1.0.1 module_init_tools-3.2.2 mp-3.3.7 mtools-3.9.10 mtoolsfm-1.9 mtpaint-3.01 mut-0.1.1 ncurses-5.4 ndiswrapper-1.16 nenscript-1.13.3 netpbm-1.0.33 net_tools-1.60 ntfs_3g-20060714beta ntfsprogs-1.13.0 nullhttpd-0.5.1 openssh-4.3p2 openssl-0.9.8b orbit2-2.14.0 pango-1.12.2 parted- pciutils-2.1.11 pcmcia_cs-3.2.8 pcmciautils-012 pcre-6.6 pdq-2.2.1 perl-5.8.8tiny perl_digest_sha1-2.10 perl_html_parser-3.51 picocom-1.2 popt-1.7 ppp-2.4.3 pptp_linux-1.5.0 psmisc-22.2 pstoedit-3.44 pupdvdtool-0.3 puppybackground-2.1 puppybasic-2.5 puppyserialdetect-1.0 qiv-2.0 rdesktop-1.4.1 readline-5.1 regexpviewer-0.1 reiserfsprogs-3.6.19 remotedesktopclient-0.1 rexgrep-1.2 ripperx-2.6.0 rox_puppy- rp_pppoe-3.7patched rubix-1.03 rutilt-0.12 rxvt-2.6.4 samba-3.0.22 scale2x-2.0 seamonkey-1.0.4_SVG sed-4.1.4 setserial-2.17 setvol-1.1 slmodem-2.9.11patched-k2.6.16.7 sockspy-2.5 sox-12.18.1 sqlite-3.3.5 squashfs_tools-3.0 ssh_gui-0.7.1 stat-5.0 sudo-1.6.8p12 superscan-0.8 sweep-0.9.1 sysfsutils-2.0.0 syslinux-3.11 tar-1.15.1 tcl-8.5a4nothreads test-1 tightvnc-1.2.9 time-1.7 tinylogin-1.4 tk-8.5a4nothreads tkconvert-1.3 tkdvd-4.0.1r1 tkfont-1.1patched tkgamma-1.0 tkmines-1999 transmission-0.5 turma-0.1 unclutter-0.8-11 unionfs-1.2.0-20060503 unrar-3.4.3 unzip-552 uri-1.1.3 usbview-1.0 util_linux-2.12q uxplor-0.26patched vamps-0.99.2 vobcopy-1.0.0 wag-0.3.2 wavemon-2002 wavplay-1.4 wget-1.10.2 wireless_tools-28 wmpower-0.3.1 wmsm-0.2.0 wvdial-1.42 xarchive-0.2.8-6 xcut-0.2 xdialog-2.1.1 xfinans-5.9y2k xfreecd- xine_lib-1.1.1 xlockmore-5.20.1patched xnetload-1.11.3 xnetstrength-0.4.2 xorg_BASIC-7.0 xproc-1.2 xrun-0.2.3 xtmix-0.4 xvesa-4.3.0v2-xkbd xwconfig-0 xwget-0.4.1 xwhois-0.4.2 xwifibar-0 ycalc-1.09.1 zip-231 zlib-1.2.3