Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

SpecialK6466

macrumors newbie
Original poster
Mar 2, 2022
2
9
Hello all! Like everyone here, I'm still a huge fan of my PPC Macs and am always coming back to them for that combination of nostalgia and the challenge of keeping them as usable as possible.

First of all, a million thanks to @barracuda156 @doctor_dog @cellularmitosis @wicknix @thewireless and others, whose efforts and hard work are very greatly appreciated - the scene wouldn't be what it is without you!

I'm a sysadmin rather than a programmer, but there are numerous projects I've been working on to improve my scripting skills, as an excuse to keep using my SLSD PBG4, and to overcome some annoying technical hangups.


  • The first is a configuration script for 10.2-10.6 (both PPC and Intel) which makes numerous OS tweaks easily available. We've seen "distros" or "packages" of Tiger and Leopard modifications gain a lot of attention, and some controversy. If most of the changes these releases make are just options that can be applied to any vanilla install of OS X... why not make them easy to toggle or apply without "black box" downloads or folders full of single-use shell commands?

    I have a very early release in my Github that's still too buggy to share, but the idea is that "tasks" are defined in arrays or functions, filtered at runtime based on the detected OS version, and presented for the user to select. Alternatively, run the script with parameters to skip the menu and apply the tasks. These include toggling the glass dock in Leopard, installing Aquafox, copying a hosts file, toggling Spotlight, etc. Ideally it will be the first thing anyone executes on their fresh install of OS X to handle the most common tweaks. Of additional note is that a lot of these older tweaks are becoming harder to find as search engines favor newer macOS versions and older websites go offline or rewrite their URLs.

    So far I've been using the included version of zsh with each OS X release (since bash wasn't included since 10.3) although it would be nice to update zsh at runtime to a more recent version with readily-available documentation.
  • Next is building the Dillo web browser for PPC OS X. I know that Dillo is far less-capable than TFF-derivatives like Aquafox, however it should be faster for really basic tasks like browsing files on the Garden or reading static web pages. As I'm writing this, I've built one release using GCC7 but any with TLS have failed to build (OpenSSL1.1.1t from Leopard.sh, 1.1.1w from doctor_dog's MacPorts, OpenSSL3 from MacPorts, LibreSSL 3.4.2 from Leopard.sh...) - the tls-disabled build crashes when searching Google, so this may be a fool's errand.
  • A personal passion of mine is the Sony MiniDisc format, and I run a fairly popular site about it. There is a C/C++ tool called linux-minidisc (and a fork named minidisc-ffwp) that I would love to get working on my G4. Last time I tried, there were numerous compilation and dependency issues to resolve, but I'm confident it's possible. And from there, maybe I'll try my hand at Cocoa programming for a frontend...
  • Finally is the biggest mountain, and that's the xnu kernel. I don't have much interest in the 10.6 DPs, but I am interested in the SL kernel (xnu 1504) including PPC support through 10.6.8. I want to know: how closely tied to userland is the kernel? Could it be a drop-in replacement? Are there any backports that would be beneficial on Leopard? What about recompiling 10.5 kernels with more specialized or aggressive options? During Leopard's commercial life, there was a scene that made custom kernels (for reasons I'm not sure that I can mention here) but this was before the days of everyone posting their code on Github, and the knowledge behind building custom kernels that old is hard to find.


Hopefully I'll have something to share with you all very soon! In the meantime, any tips, tasks, or advice would be appreciated as I sift through archived sites and forum posts trying to find all the information I can.
 
We've already got Dillo 0.3.1 built against openssl 3.2, zlib, libpng, libjpeg on tiger could use help on netsurf to be honest a few of us are struggling and I'm still working on arcticfox when I get free time. Here's a screenshot of Dillo built on tiger also has been built against leopard and I do not use SL Dps so untested
dillo-on-tiger.png
 
We've already got Dillo 0.3.1 built against openssl 3.2, zlib, libpng, libjpeg on tiger could use help on netsurf to be honest a few of us are struggling and I'm still working on arcticfox when I get free time. Here's a screenshot of Dillo built on tiger also has been built against leopard and I do not use SL Dps so untestedView attachment 2414110

Why don’t you make a port for it?
 
Finally is the biggest mountain, and that's the xnu kernel. I don't have much interest in the 10.6 DPs, but I am interested in the SL kernel (xnu 1504) including PPC support through 10.6.8. I want to know: how closely tied to userland is the kernel? Could it be a drop-in replacement? Are there any backports that would be beneficial on Leopard? What about recompiling 10.5 kernels with more specialized or aggressive options? During Leopard's commercial life, there was a scene that made custom kernels (for reasons I'm not sure that I can mention here) but this was before the days of everyone posting their code on Github, and the knowledge behind building custom kernels that old is hard to find.
The XNU kernel can usually go forwards and back a little bit. For example, you can use a kernel from 10.5.6 on 10.5.8. However, trying to run the SL kernel on 10.5.x is kind of pointless: why not just implement new functions in the existing 10.5.8 kernel? It's not all that hard, and you already have all the source code from the newer versions to make it easy.
 
The XNU kernel can usually go forwards and back a little bit. For example, you can use a kernel from 10.5.6 on 10.5.8. However, trying to run the SL kernel on 10.5.x is kind of pointless: why not just implement new functions in the existing 10.5.8 kernel? It's not all that hard, and you already have all the source code from the newer versions to make it easy.

That will also be pointless, since nothing in the OS would be able to use them.
A better way would be to fix 10.6.8 to be fully functional on PowerPC.
 
That will also be pointless, since nothing in the OS would be able to use them.
A better way would be to fix 10.6.8 to be fully functional on PowerPC.
I thought the entire point was to extend the kernel so that compiling newer software is easier (many of those missing functions are needed for software programs)
 
I thought the entire point was to extend the kernel so that compiling newer software is easier (many of those missing functions are needed for software programs)

I think nothing from userland uses kernel directly, nothing should and nothing can. It may be required to implement something in the kernel for other stuff to work, but one will need to rebuild libSystem etc. (This is not a sphere of my expertise, so anyone knowing this precisely, please correct.)
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.