site  contact  subhomenews

The return of Underdog Distro

January 30, 2012 — BarryK
This is a feature that was last seen in Puppy 2.x, it was gone in 3.x. I was reminded as tronkel started a thread about it on the Forum:
http://murga-linux.com/puppy/viewtopic.php?t=13750

It is an interesting concept, that is introduced here:
http://puppylinux.com/development/howpuppyworks.html

There are possible problems, mostly to do with mismatched libraries. The Puppy libraries would be in a higher layer, which might mean that an application that you want to run in the Underdog Linux layer might not work. With some care though, it should be ok, for example with Wary/Racy, use an older version of Ubuntu not the latest as the Underdog. Or, better, use a matching distro, example Slacko and Slackware 13.37.
Another possible problem is all the extra bootup stuff in an Ubuntu (or whatever) Underdog.

I do recall though, back in the Puppy 2.x days, Underdog did work surprisingly well.

I have modified the 'init' script in the initramfs, in Woof, so this feature will be in the next Puppy built with latest Woof. Here is the Woof commit:
http://bkhome.org/fossil/woof2.cgi/info/e82716c2f7

What you do is create a file 'underdog.lnx' in /mnt/home or in the subdirectory of a frugal installation. The file contains the name of a partition, for example "sda9", nothing else.

However, you will also be able to do it from the kernel boot commandline, ex: "underdog=sda9". The really interesting thing about this is it will work even on first boot before you have created a save-file. The partition is mounted read-only, and will be the very bottom layer.

I haven't tested it yet.

Comments

Old notes on Underdog
Username: BarryK
Some quotes from (diagram missing): http://puppylinux.com/news/news2006a.htm [i]I've just done something very interesting, astounding even. I've dreamed about doing this for a long time, and it is finally a reality. In a nutshell, puppy2 can "piggy back" on another distro and use all of it's applications. I've got Mandrake 9.2 installed on a PC. I booted up puppy2 from CD, and I created a file, named "underdog.lnx" on a hard drive partition. At shutdown, I chose that same partition for the personal persistent storage file, pup_save.3fs. Okay, underdog.lnx is just a text file, and in it I placed the text "hda1", which is where Mandrake is installed. When I rebooted Puppy, Puppy read the underdog.lnx file, and then used unionfs to add the Mandrake partition as the bottom layer. Here is a diagram (created with Sodipodi) to visualise how it all goes together: The top layer is a tmpfs filesystem in RAM, next down is the pup_save.3fs file, which is the persistent storage. Third down the the pup_xxx.sfs file, which is a squashfs filesystem with all the Puppy files. On the bottom layer is Mandrake. You have to visualise each of these layers as a complete filesystem, each with the complete directory structure. A layer overrides the one below. Thus, /usr/lib/libz.so on say the pup_xxx.sfs layer overrides the same file on the Mandrake layer. The end result is fascinating. It's our normal Puppy, but all the Mandrake applications are available. In a terminal, I tried kwrite, drakconf, rpmdrak, kmail, konqueror, many more, they all worked. Of course, they aren't in the Puppy menu. OpenOffice didn't work though, it complained that libXrender.so.1 is missing, although it is there. If you don't want the "underdog Linux" anymore, just get rid of the underdog.lnx file and reboot.[/i]

continued...
Username: BarryK
"[i] What particularly fascinates me is the Mandrake package manager. I haven't tried it yet, but if you install a package, where do you think it goes? The Mandrake partition is mounted read-only, and any new or changed files go onto the top layer, which gets saved periodically to the pup_save.3fs file. So, if the underdog distro was initially installed fairly barebones, and you use its package manager, you are actually installing the packages to Puppy.[/i]

pre-Underdog?
Username: Lobster
"[i]I have modified the 'init' script in the initramfs, in Woof, so this feature will be in the next Puppy built with latest Woof. [/i] I seem to remember something similar (I don't remember it as part of Underdog) that allowed me to create a 'tunnel' into Vector Linux on my HD, whilst using Puppy booting from CD. In effect it allowed the same effect: Run KDE and Vector Linux programs from the Puppy boot. I remember it was a few lines of code on the command line and may have been pre-Underdog. Maybe someone can remember or know how this is done in other distros? I remember at the time it seemed very cool but it was a long time ago and we may not have been running the Murga forum, but I remember writing about it . . . If this is part of woof2 then theoretically it would run on ARM, meaning we could have access to another distro whilst offering the more efficient Puppy code for most usage . . .

Healing and Well Being
Username: lobster
"ah . . . just found it was [b]Underdog[/b] and the mysterious [b]touch[/b] command http://puppylinux.info/topic/underdog

underdog revival
Username: Aitch
"Ha ha Barry, I see you've now realised tronkel's post was made in 2006, but got brought to life by me, after some research I was doing I'd not seen mention of it, having joined the puppy family using 2.14, then current - was underdog in that?...........could it still be in ttuuxxx's 214x? It looks to be more useful than virtual machine, however, if there is say, a printer or some other hardware, was working on the other linux partition, could that be used by puppy, also? Anyhow, it's good to see it revived, thanks Aitch

underdog follow-up
Username: Aitch
"Barry, please see my further comments in the Underdog thread in the main forum, thanks http://www.murga-linux.com/puppy/viewtopic.php?t=13750 Aitch :)

underdog menus
Username: technosaurus
"jwm_menu_create should capture the menu entries so long as the desktop files show up in /usr/share/applications also since I have heard jwm -reload does not refresh trays, I was considering a jwm drive menu I put a mockup here: http://www.murga-linux.com/puppy/viewtopic.php?p=600620#600620 not sure whether to put it in the main menu or make it standalone, so it could be included in a separate tray anyhow I could add an option to "use as underdog" - any thoughts on the layout or extra feature requests

Additional approaches
Username: GCMartin
"I know this is a little different slant at how we traditionally do things in Puppyland, but I thought it consistent to ask you look at [url=http://murga-linux.com/puppy/viewtopic.php?p=600542#600542][b]this from Jeminah[/b]. Hope this helps

Arch in Slacko
Username: rodin.s
"Underdog works great. I test it on Arch in Slacko-5.3.2.7. I guess it should work on Racy as well. Almost all apps work. Posting it from Konqeror and listening to Amanok. But I am running Slacko. Even flashplayer from Arch woks in Seamonkey in Slacko.


Tags: woof