Puppy & Gentoo

Under development: PCMCIA, wireless, etc.
Post Reply
Message
Author
Leachim
Posts: 229
Joined: Sun 27 May 2007, 23:04

Puppy & Gentoo

#1 Post by Leachim »

Last week I started an ambitious project: merging my two favorite Linux distributions (and lots of code of my own): Puppy Linux and Gentoo Linux.

Minutes ago I "emerged" for the first time successfully a package via portage (the Gentoo-package manager): vim - automatically including 5 prerequisite packages.

I had to add some users to make Gentoo happy but the whole boot process and save-file management is done by (modified) Puppy-scripts. :-)

The Gentoo portage-tree is stored in two separate image files (ext2 & reiserfs) which are mounted onto /usr/portage and /usr/portage/distfiles.

Everything is running from an USB-flash-drive which of course should have a minimum size of 8GB ... (to store Gentoo repositories) - the base image files are much smaller. One will also need lots of RAM for compiling packages (all compiling is done within the Puppy-ramdisk).

I will keep you updated and will offer the base-image-files for downloading and testing as soon as the project reaches beta-status.

User avatar
Lobster
Official Crustacean
Posts: 15522
Joined: Wed 04 May 2005, 06:06
Location: Paradox Realm
Contact:

#2 Post by Lobster »

:shock: [Lobster faints]

:roll: OK I recovered. Congratulations. Sounds an amazing achievement. :idea:
Puppy Raspup 8.2Final 8)
Puppy Links Page http://www.smokey01.com/bruceb/puppy.html :D

User avatar
SirDuncan
Posts: 829
Joined: Sat 09 Dec 2006, 20:35
Location: Ohio, USA
Contact:

#3 Post by SirDuncan »

That really does sound like quite an achievement! It also sounds like something that would be very fun to play with. I eagerly await a beta ISO.
Be brave that God may help thee, speak the truth even if it leads to death, and safeguard the helpless. - A knight's oath

User avatar
Sit Heel Speak
Posts: 2595
Joined: Fri 31 Mar 2006, 03:22
Location: downwind

#4 Post by Sit Heel Speak »

Heh. You beat me to it.

What I'm intending to do, with my Classmate, is to adjust Puppy's (tmxxine 3.01's actually) structure to Gentoo's as you have, then pare down the Portage tree to just what is appropriate for that machine and Puppy, and then somehow enforce it that inappropriate packages not be downloadable from the Gentoo mirrors.

The easy restorability and sheer speed of Puppy plus the total "synchronization assuredness" (dependencies resolution, easy rollbacks etc.) of Gentoo, is exactly what a OLPC or similar machine needs. Provided of course, that the machine has what it takes to compile on demand...
Last edited by Sit Heel Speak on Tue 29 Jan 2008, 19:05, edited 1 time in total.

User avatar
Pizzasgood
Posts: 6183
Joined: Wed 04 May 2005, 20:28
Location: Knoxville, TN, USA

#5 Post by Pizzasgood »

Leetness! Checking out Gentoo has been on my to-do list for a while now (in fact, if I'd had the computer and internet connection three years ago that I have now, I'd probably have picked Gentoo as my first Linux rather than Puppy).
[size=75]Between depriving a man of one hour from his life and depriving him of his life there exists only a difference of degree. --Muad'Dib[/size]
[img]http://www.browserloadofcoolness.com/sig.png[/img]

User avatar
Sit Heel Speak
Posts: 2595
Joined: Fri 31 Mar 2006, 03:22
Location: downwind

#6 Post by Sit Heel Speak »

Pizzasgood wrote:...Checking out Gentoo has been on my to-do list for a while now...
I strongly recommend you start your Gentoo install from the stage 3 tarball, rather than try installing from the .iso DVD (which has a lot of...rough edges). Follow the directions in the online Gentoo Handbook.

Once you get your network up and your user account created...you can actually boot into Puppy, mount the Gentoo partition using MUT, open an rxvt window, cd to the root directory of the Gentoo partition, chroot, and wuh-laww, you are now running command-line-mode Gentoo in an rxvt window within Puppy--well, not exactly, since you're still on the Puppy kernel, but...most thrillingly, you can emerge -uavtdPnN all your desired Gentoo packages from within Puppy. If this seems oblique, it will all become clear as you step through the Handbook.

I recommend you reserve at least a solid weekend the first time you do this, for limitless possibilities will suggest themselves. For example, if you carefully match your source versions, you can compile, within the Gentoo window, a custom "Gentoo" kernel which you can then rename vmlinuz and transplant into Puppy. SMP is rather trivial to implement this way. So is low-latency. So is full SATA and SCSI boot-time support, once you scope out Gentoo's comprehensive, one might even say "exhaustive," menuconfig...
Pizzasgood wrote:...(in fact, if I'd had the computer and internet connection three years ago that I have now, I'd probably have picked Gentoo as my first Linux rather than Puppy).
Wow. Am I ever glad you didn't! :)
Last edited by Sit Heel Speak on Tue 29 Jan 2008, 19:07, edited 2 times in total.

User avatar
paulh177
Posts: 975
Joined: Tue 22 Aug 2006, 20:41

#7 Post by paulh177 »

Oh wow sounds like a fascinating marriage ... I built a gentoo machine a few months ago and loved the process but couldn't get a WM to run on the hardware i was using (Puppy ran of course).

User avatar
Sit Heel Speak
Posts: 2595
Joined: Fri 31 Mar 2006, 03:22
Location: downwind

#8 Post by Sit Heel Speak »

paulh177 wrote:Oh wow sounds like a fascinating marriage ... I built a gentoo machine a few months ago and loved the process but couldn't get a WM to run on the hardware i was using (Puppy ran of course).
I got stuck too, at first. Turns out there's an ATi-specific framebuffer driver loadable kernel module atifb, which must be compiled into the kernel in order for X to start. Odd, because, if I understand correctly, X doesn't even use the framebuffer. A forgotten snippet of old validation code in the card's driver module, is my guess.

Leachim
Posts: 229
Joined: Sun 27 May 2007, 23:04

#9 Post by Leachim »

Sit Heel Speak wrote:Once you get your network up and your user account created...you can actually boot into Puppy, mount the Gentoo partition using MUT, open an rxvt window, cd to the root directory of the Gentoo partition, chroot, and wuh-laww, you are now running command-line-mode Gentoo in an rxvt window within Puppy--well, not exactly, since you're still on the Puppy kernel, but...most thrillingly, you can emerge -uavtdPnN all your desired Gentoo packages from within Puppy.
That's quiet what I did: I had got a preconfigured Gentoo-Linux-image from a friend of mine - a real Gentoo guru. We ran this version within a "root jail" under Puppy. Then we changed packages (e.g. gcc) until they resembled the versions used in Puppy.

Then this weekend I tried to join configuration files, executables and libraries between both system. First attempts resulted just in crashs ... But yesterday evening I was at last successful. There are sure still a lot of traps left, but I will carry on finding and removing them.

User avatar
Sit Heel Speak
Posts: 2595
Joined: Fri 31 Mar 2006, 03:22
Location: downwind

#10 Post by Sit Heel Speak »

Man...it took you only one weekend? "root jail"--I like that term.

I wonder if it might save us both time if we synchronize efforts. My initial questions:

What hardware do you have?

Which Puppy are you matching to?

Are you sticking to the x86 tree, or venturing out on ~x86 when you do your emerges?

Are you using layman (i.e. third-party "untested" emerge packages)?

I would suggest fvwm as a nice safe solid WM for Gentoo-minded new Puppyists to standardize on...but if you have a real live Gentoo guru at your side...?

Leachim
Posts: 229
Joined: Sun 27 May 2007, 23:04

#11 Post by Leachim »

Sit Heel Speak wrote:What hardware do you have?
I'm developing on a Core 2 Dual with 4GB of RAM and am using a 32GB USB-flash-drive. The big flash drive is nice for saving snapshots on the fly - that's what making development with Puppy so stress-free.

I also run the same flash-drive on several other computers with much less computing power.
Sit Heel Speak wrote:Which Puppy are you matching to?
Not easy to answer. A long time ago my Puppy was a 2.15CE, but I updated a lot of things! E.g. I'm using xorg 1.4, kernel 2.6.24, aufs instead of unionfs, ..., I also rewrote the complete code in the initrd, the save-file-handling, the xorgwizard, ... - but the hardware recognition scripts called by /sbin/init are still Barry's.
Sit Heel Speak wrote:Are you sticking to the x86 tree, or venturing out on ~x86 when you do your emerges?

Are you using layman (i.e. third-party "untested" emerge packages)?
Currently I'm just happy that things work at all!
Sit Heel Speak wrote:I would suggest fvwm as a nice safe solid WM for Gentoo-minded new Puppyists to standardize on...
I'm still using the preconfigured iceWM of 2.15CE - I really like it ...

____

I now have updated to glibc 2.6.1 and have old and new commands running. :-)

I'm now able to emerge and use nearly any command line tool (some of them rejected to run with glibc 2.3.5).

By now Gentoo does not know anything about X-Windows, so I can't emerge X-applications. This will be one of the next steps to take in the merger of Puppy and Gentoo.

I will keep you updated.

User avatar
prehistoric
Posts: 1744
Joined: Tue 23 Oct 2007, 17:34

for those new to Gentoo

#12 Post by prehistoric »

For those who are new to Gentoo the choices can be overwhelming. Starting from a stage 3 tarball is one way to shorten the process, and Daniel Robbins is providing weekly builds on his site. http://www.funtoo.org/

Another quick route to a functioning system is through the Sabayon distribution, which is primarily a particular way of packaging Gentoo, it builds from the Gentoo distfiles. I had good luck with their 3.4f at a time when the Gentoo live install was a source of pure frustration. http://www.sabayonlinux.org/

(The above will probably get me hate mail.)

Anyone who thinks I am easily discouraged should try a full stage 1 bootstrap of Gentoo over a dial-up connection. I did, and succeeded, but once was enough. The doctors tell me I'll be all right in a few years, if I limit my exposure to source code.

prehistoric
Last edited by prehistoric on Thu 31 Jan 2008, 17:06, edited 1 time in total.

User avatar
Sit Heel Speak
Posts: 2595
Joined: Fri 31 Mar 2006, 03:22
Location: downwind

Re: for those new to Gentoo

#13 Post by Sit Heel Speak »

Leachim wrote: A long time ago my Puppy was a 2.15CE, but I updated a lot of things! E.g. I'm using xorg 1.4, kernel 2.6.24,...
Heh. I'm on Puppy 2.17-1 with WhoDo's EZPup, using a kernel patched with the full set of the very last edition of the Con Kolivas low-latency patches, thanks to the "root jail" technique.
prehistoric wrote:...Starting from a stage 3 tarball is one way to shorten the process,...
That is an understatement. I would say that there are only two ways a sane person will install Gentoo and stay sane. "From a stage 3 tarball" is the first. Thanks for the link to funtoo.
prehistoric wrote:Another quick route to a functioning system is through the Sabayon distribution...
Sabayon Professional 1.1 is what I'm basing my own rearrangement of Puppy on. So, starting from a Sabayon .iso, uncompressed to a hard drive, is the second. At least, I think I'm still sane. Some would challenge that.
prehistoric wrote:(The above will probably get me hate mail.)...Anyone who thinks I am easily discouraged should try a full stage 1 bootstrap of Gentoo over a dial-up connection. I did, and succeeded, but once was enough.
No, no hate here...I did my first Gentoo about a year ago, all the way from stage 1, but over a 512kbps ADSL line, not a dial-up. And that was an experience I wouldn't want to repeat. It was said that, when Errol Flynn walked into the room, you knew he had two of 'em...but when Clark Gable walked in, you could hear 'em clank...
Last edited by Sit Heel Speak on Fri 01 Feb 2008, 00:02, edited 2 times in total.

User avatar
prehistoric
Posts: 1744
Joined: Tue 23 Oct 2007, 17:34

no clanking allowed in polite company

#14 Post by prehistoric »

@Sit_Heel_Speak,

I came to Puppy as a refugee from the ego wars around Gentoo. This community is considerably different, and far more tolerant of human weakness. My comment about doctors' advice was only a slight exaggeration. I have, at least for the time being, hung up my spurs as a coder.

A few years ago, I had the goal of building a small, fast, clean Linux system which would present the same interface to me no matter what machine I was running on. The Gentoo bootstrap process made it possible to grow up (carefully) from the bottom. (Starting with a large system and cutting it down proved to be a real headache. I decided that KDE applications were caught in a web of dependencies I had trouble untangling.) The user interface of Xfce appealed to me and had few dependencies. (If you haven't tried the puplet wNOP, I recommend it, despite its experimental status.) I have tried Xubuntu, which has Xfce, but it seems to have pulled in most of the libraries use by KDE applications. Its memory footprint is large and it is not as responsive as I want on slow machines. I knew it was possible to do better because I had my own personal version running nicely. The catch was in the business of installing it on another system; I would have had to build it all over again.

The only libraries which seemed indispensible for a GUI, aside from X, were those for GTK-2. Barry seems to have reached a similar conclusion with "Dingo".

I will be happy to sit on the sidelines and cheer as you people tackle this fast penguin+puppy.

Regards,

prehistoric

User avatar
Sit Heel Speak
Posts: 2595
Joined: Fri 31 Mar 2006, 03:22
Location: downwind

Re: no clanking allowed in polite company

#15 Post by Sit Heel Speak »

prehistoric wrote:...I came to Puppy as a refugee from the ego wars around Gentoo. This community is considerably different, and far more tolerant of human weakness...
The only member I'm aware of who was banned by John Murga, is a Gentoo aficianado. When I lived in Germany, I noticed that BMW drivers are the rudest on the autobahn. I know when I've been using Gentoo too long, for I start to become rather...intolerant of the everyday fuzzheaded world...demanding of gourmet foods...
prehistoric wrote:...KDE applications were caught in a web of dependencies I had trouble untangling.)
That is an understatement. "Trouble?" To emerge full kde, on a system I'd been running e17 on for a month...took me three full days. Perhaps Leachim's guru knows how to untangle the blocked dependencies in the correct order, to emerge full kde on a well-used system from scratch in ten minutes. Probably some trivial trick, like start from the top down in the would-be-emerged's list and emerge in order, working down, in needs-fewest-dependencies small batches, or something like that, something simple after you've seen it done once. If there is such a trick, I would greatly appreciate knowing it.

fvwm is the first lightweight WM I've been able on Gentoo to make remember window positions, and moreover to open new windows where I want them, which is why I like it best.
prehistoric wrote:The catch was in the business of installing it on another system; I would have had to build it all over again.
Yep. This is the reason why I intend to concentrate on a single machine, the Classmate. Also it is why I don't offer my blink-and-you'll-miss-it-fast ck-patched 2.6.21.5 kernel-with-Barry's-patches to the Puppy world. It was difficult enough, just rebuilding X and the vidcard driver etc., (including Firefox) to accommodate said kernel on my own machine. To recreate the entire universe of .ko drivers, DRI drivers, libraries, and to tweak X and the GUI...the network components, and everything else...to work with it on every machine out there, would be a job for a corporation not an individual. Well, at least not this individual...unless it be for a specific machine.
prehistoric wrote:The only libraries which seemed indispensible for a GUI, aside from X, were those for GTK-2. Barry seems to have reached a similar conclusion with "Dingo".
qt is needed for Scribus and Blender, but does anyone happen to know why pango/cairo were developed, aside from their dubious putative uses in the Mozilla browsers?

Leachim
Posts: 229
Joined: Sun 27 May 2007, 23:04

#16 Post by Leachim »

We (the Gentoo-Guru and me) hat another 15 hour session. I'm totally tired but we were quiet successful!

By now we are able to compile 91 of 98 base packages automatically. (We could install all other packages manually or from binary modules.) I now have a working exception list of files that Gentoo must not overwrite.

The compilation (using 2 CPU-cores and compiling everything within the ramdisk) is refreshingly fast. :-)

Due to the upgrade to glibc 2.6.1 the Flash 9 Plugin runs without crashes for the first time ever! :-)

It's now 5:18 am local time ... - time for bed!!!

User avatar
Lobster
Official Crustacean
Posts: 15522
Joined: Wed 04 May 2005, 06:06
Location: Paradox Realm
Contact:

#17 Post by Lobster »

Image
We (the Gentoo-Guru and me) hat another 15 hour session
Do not think these efforts are unrewarded
As you can see Puppy Guru Mark Ulrich (MU)
has been fast tracked through the 10 Bumis
(levels of enlightenment) to become a real guru

http://tmxxine.com/wik/wikka.php?wakka=NewBodhis

The Buddha once gave a lecture
which consisted of raising a flower
this became the basis of the Zen transmission
used by Samurai and Roshi

- direct transmission - mind to mind

A Zen master was once asked if a dog
or a wooden post had 'Buddha nature'
to which he replied "MU"

Meaning 'No' in a yes kind of way

Even then MU was a powerful word . . .

:D
Puppy Raspup 8.2Final 8)
Puppy Links Page http://www.smokey01.com/bruceb/puppy.html :D

Leachim
Posts: 229
Joined: Sun 27 May 2007, 23:04

#18 Post by Leachim »

The merger of Gentoo and Puppy is now complete.

I fixed all remaining problems and half an hour ago a complete rebuild of the portage tree finished without any errors! :D

The next step will be the integration of Gentoo's X-Windows-packages.

Time schedule: I want to offer a public alpha of Simplux (= Linux kernel 2.6.24 + Puppy hardware recognition + Gentoo package management + my session management scripts) for download in about two weeks.

This version will also include an additonal set of new command line tools (much easier to use than the traditional ones - okay that's my opinon ... ^^). These tools are actually wrappers around existing tools and are all stored in /cmds - so if you don't like them, just do not add /cmds to your path.

Leachim
Posts: 229
Joined: Sun 27 May 2007, 23:04

#19 Post by Leachim »

Tonight we managed to change the whole X-windows system inlcuding iceWM, ROX, terminals, ... and the proprietary ATI-driver to Gentoo versions.

The configuration now works much smoother and looks really great (anti-aliasing works definitely better).

I also emerged some games (tuxraxer, trackballs) to test the 3D-performance. Tuxracer worked even with my full display resolution (2560x1600) without any problems!

The configuration is now simpler. I moved the portage tree into the Puppy base image / save file.

My desktop still looks the same despite nearly everything changed under the hood.

I now have a full week holidays and want to prepare a public alpha for download at the end of next week. I will try to reduce the base-image size to something about 1.2 GB. This sounds big for a Puppy but I think it's really small for a Gentoo containing all major browsers, Open Office, etc.

User avatar
Sit Heel Speak
Posts: 2595
Joined: Fri 31 Mar 2006, 03:22
Location: downwind

#20 Post by Sit Heel Speak »

Here's how Konqueror looks in full-KDE Sabayon at 1024x768, using a BCI-hinting-enabled libfreetype and appropriate tweaks in /etc/fonts/font.conf and /etc/fonts/local.conf. Firefox also looks this good or better. At 1280x1024 it's dropdead gorgeous. Think it's worth incorporating?

Puppy Linux Discussion Forum:
http://i30.tinypic.com/30cyg4z.png

KOMO-TV, Seattle:
http://i29.tinypic.com/2vvut1x.png

Post Reply