What I have done to achieve the reduction is as follows:
1. The Mesa DRI drivers removed, except for the software-rasterizer driver.
2. Some of the more exotic kernel modules removed. The big analog modem drivers removed. SCSI drive driver modules removed.
3. No Adobe Flash Player.
4. xz compression of .sfs file.
None of the above will disadvantage the typical user. As soon as an Internet connection is made, a window pops up asking if you want to install the Adobe Flash Player, and that is no trouble to do.
I have not provided the Mesa DRI X drivers as a separate PET, but could do so. Most users will not notice their absence. If the Tiny-Racy build becomes popular, this could be provided as a PET.
Other notes about this build:
1. The Xorg 'radeonhd' (ATI) and 'nouveau' (nVidia) drivers are in the 'drivers-alternate' directory, meaning that they are not used. Instead, Xorg will try and use the 'radeon' (ATI) and 'nv' (nVidia) drivers, as they are the ones most likely to work. If you want to try the alternative, run the Xorg Wizard.
2. The power-tray-applet (battery status) is not working on my laptop. I'll check that out today.
3. The theme is once again temporary. The surfing dog is back for this release only, seems appropriate for "racy".
4. I need to do a bit of work on the Puppy Package Manager, from a Racy perspective. In the 'puppy-wary5' repo it offers various Xorg PETs, but they are for Xorg 7.3, so they should be filtered out. Racy has Xorg 7.6.
5. The new GUI shutdown has 'de' and 'ru' translations, courtesy of L18L and rodin.s. Anyone else is invited to contribute a translation, see http://bkhome.org/blog/?viewDetailed=02489 http://bkhome.org/blog/?viewDetailed=02506
...note though, the latest rc.shutdown and shutdownconfig scripts are in Racy, not posted on the Forum.
6. Racy has PuppyPhone 1.1 (Psip) Internet telephone. As Skype has gone over to the Dark Side, maybe PuppyPhone is new killer app? Try it out! Read more: http://murga-linux.com/puppy/viewtopic.php?t=70867
Is it worthwhile offering Tiny Racy in the future? As a marketing exercise perhaps. I could push it down a bit more, say 92 or 93MB. But, considering that Racy is targeting modern hardware, with heaps of RAM, and usually fast Internet connection, the exercise is pointless. Leaving everything in, all the drivers, all DRI, with xz .sfs compression, but no Flash, it is 113MB, which is pretty small anyway. Flash would add another 5MB.
But then, perception is the point. To show how tiny Puppy is, yet with the kitchen sink inside it, is a massive publicity plus.
Download Tiny Racy from here:
Comments:Posted on 29 Sep 2011, 8:43 by ozsouth
What an appealing concept. Can't wait to try it.
Would still be under 100mb if flash was included.
Posted on 29 Sep 2011, 8:52 by BarryK
Tiny Racy 5.1.101 Forum feedback
The Forum thread for feedback:
Posted on 29 Sep 2011, 9:32 by BarryK
battery status fixed
I have already fixed the battery status applet:
Posted on 29 Sep 2011, 14:24 by disciple
> But then, perception is the point. To show how tiny Puppy is, yet with the kitchen sink inside it, is a massive publicity plus.
Isn't Flash the kitchen sink? :)
Posted on 29 Sep 2011, 14:25 by linuxcbon
nv vs nouveau
Ubuntu officially prefers nouveau as default.
Posted on 29 Sep 2011, 15:05 by Sage
Could a swap to Midori lower the real estate? This was the strategy used by Jemimah. I found that a lot of extra dependencies were required, so it may be an illusory saving? But probably worth it from an experimental viewpoint?
Posted on 29 Sep 2011, 15:16 by Iguleder1
81 MB Puppy
Barry, I achieved a 81 MB Puppy (Next Puppy 24092011, a dpup) with almost all applications and Firefox. The only thing it lacks is small applications like Osmo and fpm2 and has all drivers - the kernel package is simply huge (18.104.22.168 with BFS).
I used XZ compression with the "-Xbcj x86" option for mksquashfs, which reduces size by making x86 assembly compressed better. I also removed lots of useless documentation (man pages, CUPS API documentation, etc').
I also built a small MPlayer package (3 MB) which has just one 7 MB binary, with ffmpeg compiled statically into it. This thing plays pretty much anything and consumes less space and RAM than separate ffmpeg and MPlayer packages.
Oh - I also replaced Debian's FreeType with an improved one that has extremely smooth font rendering and upgraded Bash (which is about half the size, saves even more RAM).
Those who say 100 MB is no longer a realistic limit are wrong. Creativity and new ways of doing things compensate for the growing size of software.
Posted on 29 Sep 2011, 17:07 by BarryK
Regarding separate ffmpeg, we do have some apps, pmusic I think is one of them, that use the ffmpeg executable. They would have to be dropped out of Puppy.
I am impressed that you have achieved such small size with a Debian-based system, given all of it's dependencies.
I will download Next Pup and have a play with it.
Apps like Osmo and fpm2 wouldn't bump the size that much. But, I understand the exercise to get the size right down.
What about gutenprint drivers, sane-backend scanner drivers? pdf viewer? Gnumeric? Abiword?
Posted on 29 Sep 2011, 18:44 by Iguleder1
Re Re 81MB
Abiword and Gnumeric are out - these are 3 to 5 MB together I think, if we build them on our own they won't be big as Debian's (which have way too many plugins).
The main attack vector for size reduction is the removal of useless documentation, at least on dpup and upup - each package has a directory with information about its history, maintainer, etc' - these can be removed. In total, all optimization and trimming operations result in in a 30 to 50 MB reduction in decompressed size.
The whole CUPS is in, same goes for SANE and the PDF viewer is Zathura (which only depends on Poppler, a CUPS dependency - zero cost). DeaDBeeF is the music player (and it's ~200 KB!), it's much faster than Pmusic for obvious reasons.
Also, I forgot to mention, Mesa is out. I just built a fresh build of Next Puppy with Transmission and Mesa included - it's 93 MB, which is still very nice when the kernel has no drivers removed (well, in this case it's 50-60 MB of drivers, so it's pretty impressive).
It also has the Droid font and the Xfce theme engine, to make it more attractive. Regarding the window manager - it's Window Maker (around 1.5 MB). These waste a few MBs but they're worth it.
I assume that with Abiword, Gnumeric, Mesa, Osmo, Uget and fpm2 this could be somewhere between 96 and 98 MB, with all drivers and maximum hardware support (incl. OpenGL!).
By the way - it also has lightweight packages for dbus and Bash, which replace Debian's. The former is a 1.2.x series package, so it breaks nothing.
Posted on 29 Sep 2011, 19:39 by ICPUG
Almost all apps
Barry, I achieved a 81 MB Puppy (Next Puppy 24092011, a dpup) with almost all applications and Firefox
Then later on you say no Abiword and Gnumeric and of course no 'useless' documentation!
We have different opinions on what a 'useful' puppy should consist of! I guess you are targetting the content viewing audience and doing nothing for content creators.
Anybody can reduce the size of Puppy by taking out more and more apps. Take the philosophy to the extreme and you have Tiny Core Puppy. I have no objection to that - just that if you want praise for reducing the size of Puppy you should compare like with like.
Posted on 29 Sep 2011, 20:06 by Iguleder1
I have a question for you, ICPUG - have you ever used the man pages in /usr/share/man, (well, in case you don't know- Puppy's man opens a browser in die.net), the CUPS API documentation, the texinfo documentation (with the non-existing texinfo package in Puppy, of course) or the package changelogs under /usr/share/doc? No, of course not; that's my definition of useless.
Your assumption that a Puppy without Abiword and Gnumeric isn't targeted at content creators is terribly wrong. Similarily, I could say that 5.x isn't targeted at internet users because it lacks a browser, but that would be something very stupid to say.
And who said I was taking out stuff in order to reduce it size? You haven't read its thread and you have no idea what it is all about. And if you did, you misunderstood it. It has features not found in many "big" puplets.
Take a look at the kernel package I used and take your time to think what "taking out features" means: this package is simply huge. Same goes for Firefox (which is 15 MB) ... why would someone who develops a "Tiny Core Puppy" include such a huge package?
Posted on 29 Sep 2011, 22:19 by re: kitchen sink
flash is no longer the 'kitchen sink'
BOTH Apple and Microsoft (Metro) leave it out
Posted on 29 Sep 2011, 22:20 by broomdodger
re: kitchen sink
flash is no longer the 'kitchen sink'
BOTH Apple and Microsoft (Metro) leave it out
Posted on 29 Sep 2011, 24:51 by technosaurus
Goingnuts and I have been working on a project in the pupngo thread to compile busybox-style multicall binaries of X apps. We are using uclibc and tinyx11, but this could even more easily be done with standard libs and then link in only the large libs statically (as in Mplayer+ffmpeg) another biggy is popler which only a few apps use.
That is not my goal at least for now I am trying to hack xvesa into its own source tree, so that I can add it to the jwm, rxvt and getgui bundle (with panel applets to follow) ... basically enough to bootstrap a workable desktop in under 1mb that is distro independent (no lib dependencies to worry about)
Long term this would allow us to boot to a desktop and choose whether we were in the mood for dpup, spup, upup, apup, ... and we would always have a fallback if something gets borked... or even build a woof puplet from it.
Posted on 2 Oct 2011, 5:53 by GCMartin
Speed of RACY
Wow, Barry. You are showing same things we witness months ago from the PAE findings via JamesBond and PEMASU....speed.
I am sure you are seeing the same things the rest of us are seeing...."speed". At least to the point that there is NO apparent degradation of it in comparing WARY to RACY.
Many in this user community, like myself, has added additional RAM to our systems for various reasons.
Its great that Puppy can make that memory usable in its file system as it serves us in daily use.
Posted on 2 Oct 2011, 6:25 by linuxcbon
One example : how fast seamonkey 2.4.1 opens a heavy web page with different puppy versions on a same very old PC ?
Posted on 2 Oct 2011, 8:06 by dogle
- indeed, conveying as it does the perception of the quintessence of good coding under the hood.
Now that email clients are becoming less important with the ongoing rise of 'netmail', I side with Sage; a modest browser (perhaps not Midori?) + choice of latest monsters to download might be the best way to please all parties.
I've been so glad to see Flash finally dumped (at last, purebred fossy Pups!)- perhaps long overdue, after all it has to be the most readily downloadable stuff there is.
Personally I'd prefer not to be prompted to download proprietary commercial software which I don't use (and deeply dislike) - unless of course Adobe would pay as they ought for the plug!
Posted on 3 Oct 2011, 24:09 by broomdodger
patch and compile
Tiny Racy 5.1.101 has only 'busybox patch' and will not patch when compiling.
My script to compile vim works fine in Racy 5.1.99 with patch 2.6.1
busybox patch --help
looks to have the same syntax as patch 2.6.1 but I can not get it to work.
Do you know the syntax?
Or will the non-busybox patch always be provided?
Search for 'patch:' in the busybox change log, it looks like it may still be a problem.
Posted on 3 Oct 2011, 24:15 by broomdodger
patch and compile
forgot to mention
Tiny Racy 5.1.101 has busybox 1.19.2
busybox 1.17.2 has the same problem with patch
Posted on 4 Oct 2011, 9:22 by BarryK
That's an oversight. I will fix it. the devx has full patch.
Posted on 4 Oct 2011, 10:45 by broomdodger
BarryK said "oversight" but just in case:
I filed a bug report with BusyBox.
Posted on 4 Oct 2011, 14:30 by BarryK
Wary/Racy does not use the busybox patch. Normally, if busybox has such an applet it would be renamed as patch-BB-NOTUSED. That would be the normal situation, however my new busybox installation script in Woof did not take into account full apps in the devx, so failed to rename 'patch' as 'patch-BB-NOTUSED'. Hence the problem. Fixed.
You can file a bug report if you find that busybox patch does not work as expected, if you want, but many busybox applets do not work quite the same as their full versions.