Author |
Message |
PowerPup

Joined: 17 Mar 2009 Posts: 65 Location: Washington, USA.
|
Posted: Tue 17 Mar 2009, 23:29 Post subject:
PowerPup! A project to port Puppy to PPC macs! |
|
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.
Quote: | Links to useful resources and stuff:
Recommended PPC Linux Distros: (In no particular order.)
|
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 BarryK and to all the people who've made Puppy Linux possible!
For those who want to test what I have so far can download the beta here or at powerpup.yi.org
-PowerPup
Last edited by PowerPup on Sun 24 Apr 2011, 19:45; edited 17 times in total
|
Back to top
|
|
 |
technosaurus

Joined: 18 May 2008 Posts: 4786 Location: Kingwood, TX
|
Posted: Wed 18 Mar 2009, 00:39 Post subject:
|
|
you may want to check into modifying Barry's woof script's for slackware to use slackintosh ... look for woof alpha2 or spup
... alpha3 should be out in a few days
also check out amigo's src2pkg program if you need extras that aren't in the slackintosh repo
_________________ Check out my github repositories. I may eventually get around to updating my blogspot.
|
Back to top
|
|
 |
Lobster
Official Crustacean

Joined: 04 May 2005 Posts: 15238 Location: Paradox Realm
|
Posted: Wed 18 Mar 2009, 04:08 Post subject:
|
|
Certainly look at Woof.
However I would go at it or consider the attempt from another angle.
Take a working PPC Linux distro and modify to become more like Puppy.
Gradually substituting and recompiling more and more components
This way you can release and test (and be encouraged)
during the long cycle of development that may be required.
Just an idea
I have a Mac that would run any effort you make - so would be interested
_________________ YinYana AI Buddhism
|
Back to top
|
|
 |
PowerPup

Joined: 17 Mar 2009 Posts: 65 Location: Washington, USA.
|
Posted: Wed 18 Mar 2009, 05:32 Post subject:
|
|
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.
Small update and spelling correction in first post.
|
Back to top
|
|
 |
PowerPup

Joined: 17 Mar 2009 Posts: 65 Location: Washington, USA.
|
Posted: Thu 19 Mar 2009, 17:41 Post subject:
progress |
|
Okay, I have some progress! I have finished compiling all the programs for the initrd image, generated the iso and booted it up!
These pictures show it running on a PowerBook G3.
Yaboot: boot loader for Openfirmware.
As far as it got...
The kernel panic shown in this picture was due to improper initrd= setting in the boot loader's config file. Fixed that but now I get:
Code: | NET: Registered protocol family 1
NET: Registered protocol family 17
Freeing unused kernel memory: 212k init
Failed to execute /init
Failed to execute init. Attempting defaults
Kernel panic - not syncing: no init found. Try passing init= option to kernel.
Rebooting in 180 seconds. |
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.
|
Back to top
|
|
 |
Lobster
Official Crustacean

Joined: 04 May 2005 Posts: 15238 Location: Paradox Realm
|
Posted: Thu 19 Mar 2009, 20:41 Post subject:
|
|
Good start
have emailed the creators of Slackintosh to see if they can advise you
(Adrian and Marco)
_________________ YinYana AI Buddhism
|
Back to top
|
|
 |
Lobster
Official Crustacean

Joined: 04 May 2005 Posts: 15238 Location: Paradox Realm
|
Posted: Fri 20 Mar 2009, 03:55 Post subject:
|
|
Adrain writes:
Quote: | Uhm,
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 |
_________________ YinYana AI Buddhism
|
Back to top
|
|
 |
PowerPup

Joined: 17 Mar 2009 Posts: 65 Location: Washington, USA.
|
Posted: Fri 20 Mar 2009, 05:56 Post subject:
Success! |
|
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:
"For up from the ashes, up from the ashes, grow the roses of success!"
Puppy started. No sfs files found.
browsing the ramdisk's folders.
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)
|
Back to top
|
|
 |
PowerPup

Joined: 17 Mar 2009 Posts: 65 Location: Washington, USA.
|
Posted: Sat 21 Mar 2009, 19:04 Post subject:
|
|
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.
|
Back to top
|
|
 |
Dweomergod
Joined: 20 Mar 2009 Posts: 3 Location: St Louis Missouri
|
Posted: Sat 21 Mar 2009, 22:21 Post subject:
lost in a foreign country without a map |
|
keep up the good work I have a slew of macs that i would love to revive with puppy........
|
Back to top
|
|
 |
technosaurus

Joined: 18 May 2008 Posts: 4786 Location: Kingwood, TX
|
Posted: Wed 25 Mar 2009, 13:51 Post subject:
|
|
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
also check other distros with a ppc live cd & check their init
Active ppc live cds from Distrowatch
_________________ Check out my github repositories. I may eventually get around to updating my blogspot.
|
Back to top
|
|
 |
PowerPup

Joined: 17 Mar 2009 Posts: 65 Location: Washington, USA.
|
Posted: Wed 25 Mar 2009, 20:59 Post subject:
|
|
Thanks technosaurus. I was wondering when 2.6.29 would come out. This will help make sure that unionfs is installed correctly. (At least I hope. )
I had forgotten about Finnix, Yeah I'll take a look at it's init scripts. At least now I have some possibilities to try out.
Thanks. I'll keep you all posted on any progress.
-PowerPup.
|
Back to top
|
|
 |
brymway
Joined: 08 Dec 2007 Posts: 412
|
Posted: Wed 25 Mar 2009, 23:09 Post subject:
|
|
PowerPup-
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.
Great work!
_________________ http://wellminded.com/puppy/pupsearch.html
|
Back to top
|
|
 |
issarad
Joined: 24 Jun 2006 Posts: 36
|
Posted: Fri 27 Mar 2009, 00:50 Post subject:
|
|
I'm with Brymway on that! I also have 2 unused iMacs (blueberry 350mhz G3 and 400mhz G4 tower) that I would gladly put to task for testing purposes.
It would be great to bring another set of folks with "obsolete" PC's into the fold. I'm all for Puppy on Macs, if it can be done.
|
Back to top
|
|
 |
PowerPup

Joined: 17 Mar 2009 Posts: 65 Location: Washington, USA.
|
Posted: Fri 27 Mar 2009, 18:01 Post 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.
Any ideas would be appreciated.
-PowerPup.
|
Back to top
|
|
 |
|