• Updated 2023-07-12: Hello, Guest! Welcome back, and be sure to check out this follow-up post about our outage a week or so ago.

PowerPup will be based on?

What should PowerPup be based on?

  • Debian

    Votes: 6 75.0%
  • Frugalware

    Votes: 0 0.0%
  • Darwin (7/8)

    Votes: 0 0.0%
  • Other

    Votes: 2 25.0%

  • Total voters
    8

PowerPup

Well-known member
As some may know, I've been planning on making a lightweight linux os for PPC Mac. At first I was going to make it using Puppy Linux sources, (hence my username.) But that proved to be a bit too difficult for me. :p So now I'm trying to decide what to base PowerPup on.

I've found three that I am considering, but not entirely sure which to pick, so I thought I'd ask for your guys opinion. :D

Here's the pros and cons to the three I'm considering:

Debian: Long time support for PPC, huge repository of packages. Can't really think of any bad things...

Frugalware: Supports PPC, not as large of repository. Custom package management. Project feels like it's still in simi-early development.

Darwin: I know it's not linux based, but hey it's what Apple made and uses! Best hardware support, pretty good size repositories thanks to the projects like Fink, DarwinPorts, MacPorts, etc. Whats not to like?

I'm leaning towards Darwin, but then that would kind of stray off from my original goal, to make a linux OS. While Darwin and Linux are similar, what I'm wondering is are they different enough to make it difficult for me and/or the user? After all, my initial goal was to make something like Puppy Linux, something that could boot from the CD and run completely in RAM, with the option of installing it to you hard disk. Could I still accomplish that with Darwin?

So you see the predicament I am in. :p Choosing between what I know is doable, and venturing off into something that hasn't really been explored.

So what do you all think? After all, it'll be people like you that might end up using whatever I come up with. ^_^

Feel free to suggest another OS that you think would make a good candidate, and don't hesitate to offer helping with the development. ;)

 
I say either Darwin or Frugalware out of your choices. If you are interest BSD, I have found OpenBSD to be the best of the big three BSDs on PPC.

 

ChristTrekker

Well-known member
What's the incentive to do this, rather than using an existing PPC distro? What's going to differentiate it from anything else out there?

 

Bunsen

Admin-Witchfinder-General
An up-to-date but lightweight PPC *nix that would have acceptable performance on older hardware would be a boon to many.

My question - just how light is it going to be? What base PPC system are you aiming at? There's a lot of ground between a 601 and a dual G5. Are you planning to have much in the way of user configurability, such that the system could be useful on a really low end system as well as a mid to high end PPC?

Even a PPC port of LTSP would be handy.

 

Gorgonops

Moderator
Staff member
Darwin: I know it's not linux based, but hey it's what Apple made and uses! Best hardware support, pretty good size repositories thanks to the projects like Fink, DarwinPorts, MacPorts, etc. Whats not to like?
I would debate that "Best hardware support" statement. Darwin is for all practical purposes an x86-targeted OS now. PureDarwin.org, which seems to be about the last outfit even *pretending* that Darwin was an honest attempt by Apple to provide a usable-to-everyone open-source OS, doesn't have a PPC distribution. Darwin is nothing but a tar baby meant to sucker in developers. Don't touch it.

 

PowerPup

Well-known member
@Bunsen: I'm planning to cover as many PPC Macs as possible. :D At the moment I'm targeting the G3/G4 macs because that's what I'm using for testing. I can compile a kernel for any of the PPC Macs except Nubus. (Development for a nubus 2.6 kernel is slow at nubus-pmac. They only have 1 or 2 developers.)

And yes, I want the user to be able to tweak it to their liking, if they so choose. ;)

Once I have the base of PuppyLinux made, it won't be that much effort to make different flavors, "KDE edition," "lxde edition" etc.

Oh, and I'm not sure a port of LTSP is entirely necessary, as LTSP-5 is "tightly integrated" with major distros. Which means the packages are most likely compiled for PPC. :D

@Gorgonops: By "best hardware support" I was saying that Darwin versions 7 and 8 would most likely have the best support for PPC Mac hardware in their kernel. I wasn't planning on using Darwin 9 or 10. It was the PureDarwin teams choice to compile for PPC or not. Their goal isn't to make an OS for "out-dated hardware" like me.

I've been looking over some of the info at PureDarwin.org and found out that if I was to pursue using Darwin, I'd end up with the same "blockers" that are preventing them to go any further.

So I'll most likely choose Debian or Frugalware. Or perhaps something else will turn up. :D

I had been thinking of ttylinux at one point, but that would require compiling just about everything else, as I don't think it's compatible with other distros. :p

 

Bunsen

Admin-Witchfinder-General
@Bunsen: I'm planning to cover as many PPC Macs as possible. :D At the moment I'm targeting the G3/G4 macs because that's what I'm using for testing.
Excellent. Something that targets the 233MHz original iMacs would be great, as they and better systems are everywhere.

 

ChristTrekker

Well-known member
OK, lightweight PPC *nix distro. What do you have to do? In no particular order (since I've never gone through this thought process before and am just throwing things out):

  • Compile a kernel with support for just the hardware you're targeting
  • Decide what package management system to use - something compatible with another major distro may get you usable repos for free
  • Decide what packages to include in the base
  • Commit to somewhat regular releases with some degree of QA testing


What else? The gains toward being lightweight are going to be made in kernelspace by leaving out stuff that's not applicable to your targeted hardware, and in userspace by not installing/running apps that tax the hardware overmuch. Regarding the former, I don't have much to suggest, as I'm not sure what you can trim out or optimize. Regarding the latter, the users will always be able to throw more stuff in, so being conservative on the base install will help somewhat. This is one thing I've always liked about NetBSD, is that the base install has a very small footprint.

 

Gorgonops

Moderator
Staff member
Unless you plan on targeting *really weak* systems (IE, less than 24MB of RAM or so, or tiny disk space requirements) I'm not sure why you'd not just stick to Debian. On the rare occasion I have to install Linux on a particularly gutless system I've had no problem installing the minimal sets and then adding the lightweight bits of my choice. If I were to make a "distribution" for some special purpose I'd be strongly tempted to just generate a Debian meta-package of the components I thought were appropriate and perhaps a "config" package that sets things up in some default user-friendly way.

This is one thing I've always liked about NetBSD, is that the base install has a very small footprint.
I hate to say it, but I'm losing faith in NetBSD. I've had terrible luck with reliability and package system breakage on the last two Sun boxes I've installed it on. (Sparc and Sparc64.) There are a not-insignificant number of packages which seem to be completely untested or won't compile cleanly on anything but i386. (And maybe amd64) NetBSD used to be the king when it came to cross-platform-ability, but I just can't help feeling like there's something amiss now, be it a lack of developers, a lack of interest, a shrinking user base... I just don't know.

(And of course when it comes to thinking about developing a distribution for mass consumption you run into the same DIY annoyances as Linux systems like Gentoo, where "quality control" goes completely out the window... you're just setting compile-time options and praying that somehow you'll get something a tenth of a percent faster than a pre-compiled binary, and that your non-ECC-RAM equipped desktop won't drop a bit somewhere that will come back and bit you later. Sure, you can set up an automated build system for NetBSD on a "reliable" system and do client-side package updates semi-automatically, but in my experience with NetBSD and package updates trashing your system is more the rule than the exception. There's something telling to me in the fact that many of the BSD people I know never "upgrade" their OSes, they run them until everything is shamefully stale and then do a backup-wipe-reinstall to a newer version. I've run into some warts along the way, I won't deny it, but my main Ubuntu box has survived every step between 6.10 and 10.4 without needing to be repaved, and it's been "current" the whole time.)

And, hey, maybe I'm being completely unfair and NetBSD is great except for certain edge-cases like mine. Your mileage may vary, etc, etc.

 

Bunsen

Admin-Witchfinder-General
There are a number of lightweight variants of Ubuntu (Debian based) for x86, both official and unofficial. One or more of them may help provide some guidance as to what to include and exclude for a PPC build. And (although I haven't checked for a while) ISTR the unofficial Ubuntu PPC sources are still being kept more or less up to date.

 

johnklos

Well-known member
I hate to say it, but I'm losing faith in NetBSD. I've had terrible luck with reliability and package system breakage on the last two Sun boxes I've installed it on. (Sparc and Sparc64.) There are a not-insignificant number of packages which seem to be completely untested or won't compile cleanly on anything but i386. (And maybe amd64) NetBSD used to be the king when it came to cross-platform-ability, but I just can't help feeling like there's something amiss now, be it a lack of developers, a lack of interest, a shrinking user base... I just don't know.
Are you running netbsd-5 and are you keeping up with the latest pkgsrc? Quarterly branches are hardly ever updated, and some of the larger issues with pkgsrc have only recently been addressed.

You should be able to get an idea if something will or won't compile on sparc(64) based on the bulk package builds which Manuel Bouyer does. Check out the mailing list for build results. For instance:

http://mail-index.NetBSD.org/pkgsrc-bulk/2010/09/thread1.html

I've been doing bulk building for VAX, m68k, sh3 (sh4), and StrongARM for ages, and while there are still lots of issues, people have never stopped trying to fix things. I certainly won't.

 
I truly recommend OpenBSD for this project from the bottom of my heart. From the license to hardware compatibility to performance to reliability to security, it would be a perfect fit.

 

johnklos

Well-known member
What are some of the technical reasons why OpenBSD would be a better fit than NetBSD? It looks like Old World machine support is still a work in progress, and lightweight implies something that'd be suitable for and runnable on older hardware.

 
I have continuously had better luck with OpenBSD on PPCs. I've been able to install it successfully many times, but something always goes wrong with NetBSD. I do not know the technical reasons behind this.

 

johnklos

Well-known member
That's hardly a good reason.

My PowerMac 9600 server was up for more than a year and was only brought down three days ago because I had to move my machines to a new colocation facility. In that year it served 300 domains, more than 500 users, was subject to countless sshd and ftpd brute force attacks, several DDoS attacks, and in general got a heck of a lot of use without any problems. That's a good reason to use NetBSD - it's demonstrably stable.

 

Gorgonops

Moderator
Staff member
Are you running netbsd-5 and are you keeping up with the latest pkgsrc? Quarterly branches are hardly ever updated, and some of the larger issues with pkgsrc have only recently been addressed...
I would have to power the 'ol Ultra 10 up again to check the exact versions of everything I had, (memory just isn't what it used to be) but I'm pretty sure it was 5.0.2 plus a 'current' package tree. I set up the machine about... five months ago? in a fit of nostalgia to celebrate the 10th year anniversary of being hired at a (completely imploded) dot-com that used NetBSD as their internal dogfood. (Which forced me to become conversant in the OS rather quickly.) I ran it for a couple months but, well, the novelty wore off. I suppose I could power it up, update everything, and see if it magically makes it all better or simply melts it (I'm betting on the latter), but...

Really, don't take my jaded opinion as a general swipe against NetBSD. I understand fully there are things that it's "good at", but... if you simply want to use a computer "to do something" it can be a really frustrating OS, mostly because of the "pkgsrc" system. The fact that the NetBSD group "releases" quarterly branches which apparently have almost no quality control and are subsequently abandoned is a betrayal to the entire concept of having "Stable" and "Experimental" release managment. An unsupported snapshot of your experimental tree (Okay, maybe someone ran a bulk build on it once?) is *not* "stable" by definition. (If it's broken, don't "ship it". Just put up a readme that says "Download 'current' and take your chances. You're a smart guy/developer to be using NetBSD in the first place, right?".) I know it's *possible* to put together a "stable" NetBSD machine, but if it involves constantly tracking current versions of both the OS and the package trees then you're having to be your own release engineer, and... I don't know. I found that fun back in 1999, but anymore I sort of want to install a computer, get it working, and have a well-debugged process for non-destructively updating it in place *without having to invent it*.

I have the same issues with FreeBSD/OpenBSD, so far as it goes. I just see way too much of the *fans of those OSes* simply installing machines and letting them rot, becoming more and more out of date and *technically* buggy and insecure, and getting away with it because they're running an OS that most script-kiddie's exploit attempts choke on. (If someone really cared to exploit the machine they could. The fact is that most exploits happen because of automated scans by spammers/organized criminals, and they obviously focus their effort where they're likely to get returns.) And the reason they let them rot is it's way too difficult to reliably update a single machine with the crude tools that exist in the basic OS. If you're making a product that involves *discrete* releases which are tested and QA'd before a release push than the BSDs can be a good choice, but... to me, it's not a casual user OS.

Again, no offense intended, it's just my humble opinion.

 

PowerPup

Well-known member
Thanks for all the pointers, opinions, and personal experiences guys. ;)

I'll probably go with Debian, since it's quite solid (compared to Frugalware) and gives me a wide variety of packages to include. Plus I'm more familiar with Linux than I am with BSD based OSes. (Though I might consider one in the future.)

I'll also probably use Finnix for reference since it's based on Debian. I won't be using FInnix itself because I want the base of PowerPup to be smaller than 300MB.

I might consider a name change, since I won't be using Puppy Linux as the base, but since I want to follow the "Puppy Philosophy" I could just leave it be. :p

 

MidnightCommando

Well-known member
What are some of the technical reasons why OpenBSD would be a better fit than NetBSD?
Largely the same technical reasons that OpenBSD is superior to NetBSD. NetBSD is falling apart due to lack of developers, lack of users, lack of care, lack of commonsense... The motto of the NetBSD Project has, for some time, been "Of course it runs NetBSD..." - at present a more apt truism would be "Of course NetBSD will break on it!", unless you're talking about toasters.

I remember that one of the important things with OpenBSD is that they always make sure a port can self-host - that is, compile itself on itself, as opposed to cross-compiling powerpc from amd64 (which is what FreeBSD and NetBSD do for releases). Releases are self-hosted, as are all the binary packages made available, so they won't break in weird and magical ways.

Also, OpenBSD tends to be tighter in general codewise, in my experience.

I'll probably go with Debian, since it's quite solid.
That's what she said. ha. If you want to go with Debian, to get an acceptable base system size you will possibly want to recompile the base packages with -Os -mcpu=750 to reduce size and bring the baseline up to G3, since that's what you're looking to support. Of course if you end up deciding to support, say, PCI Power Macs later, you can change that back down to -Os -mcpu=603 -mtune=750 or some such.

I have some very nifty ways of making shell profiles awesome and improving the default settings of debian-like and debian-based operating systems, if you're interested in making your distro pwn I'd be glad to let you have at them (at the moment I'm rebuilding my own system, but I'll have access to my stuff damned soon.)

It's good to see that some attempt is being made to provide a usable path for users of older PPC machines - obsolescence is not a nice place to be. I sincerely hope this takes off, and any help I can provide is on offer. Can't hardware-test at the moment either, but hey! ;)

Good luck!

 

Gorgonops

Moderator
Staff member
What are some of the technical reasons why OpenBSD would be a better fit than NetBSD?
Largely the same technical reasons that OpenBSD is superior to NetBSD. NetBSD is falling apart due to lack of developers, lack of users, lack of care, lack of commonsense... The motto of the NetBSD Project has, for some time, been "Of course it runs NetBSD..." - at present a more apt truism would be "Of course NetBSD will break on it!", unless you're talking about toasters...
Yay. The rivalry/hatred between the fractured factions of the BSD community is why Linux "won", folks.

In the next cubical over from me is an OpenBSD partisan. When I admitted to having a soft spot for NetBSD and installed it on that Ultra 10 he decided that it was high time to expunge SUSE Linux (which he'd had some package management issues with) and install OpenBSD on his desktop machine. I don't believe he ever even got X11 working. (And this is a person who's thrown OpenBSD willy-nilly onto server boxes for years.) Why was his attempt such an abject and pathetic failure? Because he rat-holed on a vain attempt to recompile the kernel to get his 64-bit desktop box to see more than 4GB of RAM. While there is a vague technical excuse as to why his particular machine isn't supported, the fact is, and I demonstrated, that 64 bit NetBSD fully worked on that hardware at least so far as being able to count all the fingers and toes. So saying OpenBSD is "technically better" than NetBSD doesn't really hold water with me. I do grant that it may well have more active developers now, but when it comes to the basic OS I'm not sure their work is as competent.

So far as I'm concerned none of the BSDs have overwhelming claims to superiority over the others. Traditionally, going with the "big three", you could say this about them:

NetBSD: "Works" on almost anything, is probably the easiest to port because of its incredibly anal insistence on using abstracted device driver interfaces, and *sometimes* has the fastest/most advanced TCP/IP stack, SMP, threading/whatever support of them all... except when it's undergoing a major internal change and is thus broken for several years straight. Frankly, my impression was always that from an "abstract computer science" standpoint NetBSD was the most interesting. But... it anymore really feels to me like the "scientists" have moved on.

OpenBSD: Its obsessive security focus is a good reminder to *everyone* to worry about that, and they've produced some very useful tools which the open-source community as a whole has embraced. (OpenSSH/SSL are the biggies... I also really like the OpenBSD "pf" firewall.) But the OS itself has a bad reputation for code speed and quality... it's inevitably benchmarks the worst of all the BSDs, and the problems are algorithmic, not a consequence of its "higher security". (I also think they have the meanest and most intolerant mailing list traffic, but that's a "value judgment"... and given the founder/fearless leader of OpenBSD that sort of tone is probably to be expected.)

FreeBSD: The "(un)happy medium". On the bright side its heavy x86 focus means it that it tends to support the widest absolute range of "current" hardware, and its performance is usually nearly as good if not better than NetBSD on said commodity boxes. And they also seem to have less compunctions when it comes to "stealing" than the others, so if something good is invented in NetBSD or OpenBSD there's a good chance it will find its way into FreeBSD in some form. But in the process they sacrifice some of the "clean code" focus that the BSD people point to as their primary advantage over Linux. FreeBSD has some ugly hacks in it, I've seen them firsthand.

I dunno. It just makes me sad to see the BSD fans ripping each other's throats out. The one thing you can say about Linux is despite the huge ridiculous profusion of "distributions" at least there is (nearly) a single mainline development focus on the *core OS*, IE, the kernel and the various GNU tools. It seems to me that all the squabbling and duplicated effort you see in the *BSD community is a complete waste. Not that all the pointless squabbling about package formats and which GUI to package by default you see with Linux isn't a waste, but... at least when someone *does* fix some sort of basic architecture problem with core OS said improvement floats all boats equally.

Buy hey. If you really feel like you *must* get possessive and parochial about all the tiny little technical details of your OS BSD is *most definitely* the way to go. Linux is way too big and amorphous to feel true love for. Pick a poison and fight to your heart's content.

 
Top