I have always loved the fact that Puppy Linux runs completely in ram and being able to save changes without having to install it onto or modify your hard drive. And while their are a few live CDs out there for the PPC macs, none of them have the Puppy philosophy.

So as a way to better understand Linux, I have decided to try to fill this gap between Live CDs and PPC macs.

Updated: 10-10-2010
My latest attempts will be to use Debian as the base for PowerPup, maybe following something along the lines of Dpup.

The goal of this project is to make a Lightweight Linux System that works a lot like Puppy, runs completely in ram and can save changes to a hard drive or usb stick, all on a PPC machine. Because there are plenty of good G3 macs and such out there, but Mac OS 9 is too old, and sometimes Mac OS X is slow. Puppy is ideal for these kind of computers.

All those who want to contribute are welcome. I'll be using this topic to post updates and ask for help when looking for information and source code.

Because I'll be doing this in my spare time I do not know when I'll have a usable version released. If it gets too hard I may drop this project. Even though I don't plan to drop this project I don't want to get people's hopes high.

Thanks for the info technosaurus, I'll take a look into src2pkg.
Yeah, I am aware of Barry's Woof script project, I had thought about using it once it was more developed or something. But even with Woof, I or someone will need to figure out how to add HFS Plus file system support to the initrd scripts. That will probably be one of the harder parts. It's just the fact that Puppy wasn't originally designed for the PPC architecture. It would take some work to Woof and Puppy to get it working right.

Actually Lobster, that is practically what I am doing. I'm taking Slackintosh, a PPC port of Slackware, and modify it to become a Puppy Live CD. Since Puppy 3 was built with Slackware binary packages, I thought Slackintosh would be my best bet. (Plus I like Slackware more.)

Not being based on Puppy packages means that it won't have any of the special pup programs like Pupdial and such. Which reminds me, I not sure yet how to get the Xorg wizard included on the CD. It would be ideal to have it since different macs have different graphic cards.

I assume I'm getting this error either because:
It's not reading the cpio initrd image properly. I've tried both cpio and ext2 images with proper boot setting in the boot loader.
Or, it's not being pointed to the init properly. The only init files I can find in the initrd-tree before making the image is the init soft link to busybox in /bin and the init shell script in / .

I've been trying to correct this with no luck yet. Any help would be appreciated.

As you can see in http://dpoapw.bay.livefilestore.com/y1p75KPL2TJ9NidoX43ZnWb4uB3wNQw8P9XCwSnHddWGJTYlyhbfI0tlPidE_BjMKGZ81iUDz-kxCNRL620wQOpOg/S7300558.JPG the kernel fails to mount the initrd (err=1)

Well, i have no idea what err=1 is (in userland its EPERM/Operation not permitted but i don't know if this error is also errno.h based) but something is wrong with the initrd.

Maybe the bootloader failed to load it (it should complain, shouldn't it?) or the initrd is compressed in an invalid/unsupported format

As the word of a song from a favorite movie of mine goes: "From the ashes of disaster grow the roses of success!"

Thanks for your help Lobster. After a lot of trial and error I found out what was wrong. (btw: that pic in the quote was an older picture, I had the init= option pointing to image.gz instead of initrd.gz . fixed that shortly after taking the picture.)

It wasn't working because I was using busybox 1.4, when Puppy 3.01 itself used 1.6. So I found 1.7 in slackintosh itself and used it in the initrd image. And now:

Now that I have this done, I can take it easy before I create the new partition that I'll be using to create the sfs file, I'll also take a look at puppy-unleashed file to see if it'll make things easier. But with this step done it shouldn't take much more. (I hope. )

Update: Well, I think I found out why it's having those "Unable to load NLS charset UTF-8 errors. (in pic 1 of this post.)
It's a kernel module needed by HFS Plus to recognize case-sensitive files. I've been able to mount the CD Rom with those same errors.

But I haven't figured out why I'm getting:

Code:

/bin/sh: can't access tty: job control turned off

When I try running ash, I get the same error.
When I try to run a certain programs. like guess_fstype, I get:

Code:

ash: guess_fstype: not found

So I gotta work on this before It can detect pup_301.sfs, because I burned the PC version on the CD for test and it still couldn't find it. My guess it has something to do with the CD image being a Hybrid Cd. (Meaning it has HFS and iso9660 formats)

Well, as far as i can tell it's definitely something with the init scripts. My guess it the fact that they weren't written with Mac hardware in mind.

Looking in the init scripts I noticed that Puppy uses either aufs or unionfs, whichever specified. I haven't applied either of those patches to the kernel and not sure where to get them.

And the fact that the CD is a Hybrid doesn't seem to be a problem. Because I can mount it as hfsplus or iso9660 and it works.

So if anyone out there who knows a good amount about Puppy's init scripts and wants to help I'd sure appreciate it. In the meantime I'm going to have to learn how to decipher it and figure out how to load the mac's hardware. It's going to be somewhat difficult because the init uses modprobe to load the ide drivers. while the mac drives (pmac ide) is built in to the kernel with no option to compile as a module. Not sure if this is part of the problem, but at this point I'm on a back country road with a map in a foreign language.

kernel 2.6.29 is out and has support for unionfs and squashfs... thus if you specify unionfs, you can use a vanilla kernel with no patches... use the kernel config from slackintosh as a starting point and make sure you enable union and squash (not enabled by default if I remember correctly)... also there are now additional drivers that can be enabled that are in common use but not considered stable enough for the main tree... not sure if any of those are mac specific

If this works you could be nominated for the Nobel Peace Prize. I have an old emac; ppc. I don't rightly know how to do any of the stuff required to accomplish this but if there is any way I can help, lemme know. I'm more than happy to be a test subject.

Thanks for the encouragement. After looking at Linux 2.6.29 I found out it didn't have unionfs included, it did have squashfs though.

But anyway, I think I found the culprit..... Man it's been hard trying to find 'em. I went and looked in the bootinit.log file and found out that every time it tried loading a module it got:

modprobe: not found

This is the same kind of error I get whenever I try to run a program that isn't built into busybox. Or at least, modprobe, disktype, and guess_fstype .

Modprobe I got from slackintosh itself while disktype and guess_fstype I compiled myself for PPC. Is there some sort of library file that these programs need or something?

I assume that the culprits are the kernel and busybox. Something not turned on or something. Probably the easiest solution would be to have all the modules built into the kernel all ready to go rather then loading them up with modprobe, or using busybox's internal modprobe which I tested and does work.

I need to find out why busybox is not letting me execute outside programs. Disktype and guess_fstype are used by the init script to determine which partitions it can look for puppy files. This is leaving really stumped.

You cannot post new topics in this forumYou cannot reply to topics in this forumYou cannot edit your posts in this forumYou cannot delete your posts in this forumYou cannot vote in polls in this forumYou cannot attach files in this forumYou can download files in this forum