Return to Level1Techs.com

Ari's OpenFirmware Replacement Project

Yeah its me shush

So I’m in the works of working on an openfirmware replacement. Currently me and a partner in crime are poking a G5 quad, and soon my DP if I can get some intrusions to work on apple OFW, to see what addresses go where and what is what. The point of this practice is to eventually have a fully open boot for PowerPC Macs.

This replacement will (hopefully) allow you to mess with clocks, drives, what addresses the drives are mounted to, maybe power limits, use thunderbolt (actually is possible), and use NVME (have already gotten it working on the Quad).

Will post more soon. Just wanted a starting post before I forgot. See ya soon~

3 Likes

So, first few steps of the project are pretty much planning out what features SHOULD be in there, and then what ones I can actually get to work.

Heres my list of wants:

Power Monitoring
Thermal Monitoring
Fan Addressing + on\off control | fan control sorta, but IDK if speed is OFW dependant
Overclocking Menu of a sort | Need to see if power control from 12V+ and 3.7V+ is possible
Menu’s
NVME | Already done sorta
Config menu for compute cards | This excludes processor dependant hardware such as the Nvidia GRID and Tesla, which needs Intel opcodes.
Choose direct drop to OFW Terminal, machine config, or boot menu
Notes file to help WITH OFW Terminal
Firewire MAC mode

What I KNOW can be done:

Menu’s
OC
NVME
Fan controls, sorta

A lot of this stuff will need to be done custom, which big whoop Forth is easy as fuck. But I have a 50mb limit on the OFW chipset in the G5… And even less in G4’s. IDK if I’ll bother with G3’s because that shit is stupid slow fuck that.

The goal is to end up with a firmware package that makes a powerpc mac as competent as a raptor blackbird, whether its a 12 inch ibook or a DDR2 powerbook or an MDD or a G5 2.7.

If yall have other ideas for what should be in it, I’m all ears.

1 Like

An append, because I know its possible, I would also like to enable OFW’s ‘supervisor’ mode on the desktops, and maybe ddr2 powerbooks. This would allow you to drop to live term (will call Direct Drop Terminal in settings) in ofw at any point in time. Many ibm systems allow for this, and between an ibm workstation and an apple workstation… Theres very few differences.

The only weird thing is the G5 pcie controller is live reprogrammable. At some point this may be expandable to hotswap pcie, but thats after some code jockeying and stripping a lot of stuff out of ofw to make room for new code.

As it is with the 5mb limit on the apple chipset, it mill be hard to have all of the tools I want in the first place. Networking will have to be stripped, some device types will even be removed because I am intending this to be modern as fuck. No weird 90’s compatibility. Though, that may also have an effect on what tools are in there, so some tools may just get rewritten into compact software suites anyways.

As openfirmware itself, like systemd, is basically an operating system already, it’ll be a sinch to make work. I just hope ppl help test it!

More posts coming. Trying to gather all my thoughts so I can make a move forward. If sink could get unbanned so she could post to here too that’d be dank. But… Eh, no promises.

Edit:. @wendell would you be interested in trying this out when available?

1 Like

https://www.openfirmware.info/OpenBIOS
Future note, heres the source.

Last preliminary post. I wanna talk about some of the things this will also allow for on certain machines.

On my powerbook G4 its clocks are set to the lomest for sake of the battery. Honeshly a powerbook doesn’t get shits worth battery life in the first place, so why the FSB is set to 167mhz instead of 366 or 600 is beyond me, but its still set low.

What I want to do is to allow for ACTUAL FUCKING POWER TARGETS… Not ‘oh I’m playing an mp3? KILL EVERYTHITG’

This is nothing new for apple with the whole i9 thing, its just now its not your cache and bus speeds.

Anyways I want to allow for making active power schedules on specifically the high performance machines first. The DDR2 PB is one of few machines I’m genuinely pissed off about apple throttling. It would have made it a worthwhile machine long into the core 2 or even core i era had it been unlocked. With the speeds able to be unlocked, the machine will be a bit hotter but will run 20x better. Though I might do liquid metal on mine just to be safe (because why not).

On the desktops theres going to just be an overclocking suihe, so theces no need for this there.

Been busy wihh stuff. Will post again when looking at stuff in build in a week or two.

1 Like

InB4 baseless Apple takedown demand :stuck_out_tongue:

Inb4 opensource motherfucker

So I’m trying to find info on the chip itself in my powrbook, though I’m unsure of where to pick up schematics. As well, I’m figuring out what my work environment will need to be to work on the project. Thought it might be a lot more hectic than its turning out to be.

Neat.

Either way, if anyone has such info on hand, that’d be neat. I mostly want to know what the physical (memory) size of the chip is.

Also bumping into one problem now. With the G5’s its pretty easy to sneak a firmware in because you can just change the files out and bam wing damn. No problema. However looking at the G4 tools on apple’s site, nothing there for FW updaters.

As well, looking into some posts made earlier this year, while theres many gens of AOFW, the releases have nothing to do with the machines, just the generation of machines. Only machines that could get proc upgrades or hardware upgrades that mattered got FW packages, so desktops and the imac G3, really. Haven’t had time to look into it too closely, but since apple tools like that run off .plist files I assume I can just change the configuration and have it work?

It looks like its teh same communications controller in other machines, IE a UniNorth 1E42, however how that thing works is beyond me and the apple firmware doesn’t have the code in place to tell me the physical address, but rather gives me base64 variables that I’m supposed to feed to an apple tool that links up with other things. I’m not quite sure how that tool works, nor do I think I care.

I’d rather just get something going, even if its a rough idea base package. Hell even if its just normal OFW and no edits and I make the edits later.

I’m currently also unsure if I can make multiple edits in a row to the OFW chip, or if it keeps an incremental counter on versions. I assume theres a built in checksumming chip or sector in the UN controller, but IDK. No info on that really.

If anyone has any info, I’d appreciate it.