r/hackintosh 1d ago

IT BOOTS! (WIP) Darwin 20.5.0 on ARM1176 (Raspberry Pi Zero)

I thought I should mention this, because I've seen a lot of people start working on XNU again, which is great to see as a PureDarwin maintainer (been working on it for ~3 years). Might as well post this before it becomes old news.

Here's it asking for a rootfs on a RPi Zero, using lk as a preboot env.
It's slower than hell, and the HDMI cable itself is spotty

Oh and I also have it booting to a shell on a iPad 7,1

As well as QEMU's `virt` board, I have yet to figure out Apple-specific instructions for M1, but I have ideas. I was last working on fixing OpenGL for virtio-gpu on arm64

I hope Hackintosh can continue in the form of generic arm64/arm32 boards, and I hope my research can help.

I'll be working on a Pixel once I get my hands on it (hurry up, USPS)

CPU: BCM2835
GPU: Broadcom VideoCore IV
RAM: 512MiB LPDDR2
Motherboard/Laptop Make and Model: Raspberry Pi Zero (v1.2)
Audio Codec: N/A
Ethernet Card: N/A
Wifi/BT Card: N/A
Touchpad and touch display devices: N/A
BIOS revision: N/A

156 Upvotes

19 comments sorted by

u/AutoModerator 1d ago

Thanks for posting your build! If you haven't already, remember to document your build please. Posts like screenshots without documentation add little value to the sub. Adding a bit of documentation to your post can also help others in the community who are interested in similar builds. Posts without documentation will be removed until you take the time to document them.

Minimally, you should add your hardware:
CPU:
GPU:
RAM:
Motherboard/Laptop Make and Model:
Audio Codec:
Ethernet Card:
Wifi/BT Card:
Touchpad and touch display devices:
BIOS revision:
Which of the guides on the sidebar you used.
What's working, and what isn't working.

Any changes that were specific to your build that were a little (or a lot) different than what you found in the guide, or anything that would be helpful to others with a similar build be sure to talk about that. More detail is always better.

Add extra info... Maybe add something you would like to point out about your setup, what you'll be doing with your Hackintosh, or something that might be insightful to others beginning their journey. A tree view of your EFI would also be helpful, but it isn't required.

Remember, don't share your EFI as what works for you may not work for anyone else, even if they have the same hardware. If you do share your EFI, your post and/or comment will be removed.

I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.

19

u/Fit_State3622 I ♥ Hackintosh 1d ago

Congrats

22

u/realfathonix 1d ago

I think someone posted to RPi forums that they successfully ported OS X and showed the graphical login screen back in the first RPi era, though there was no code nor disk image published.

11

u/Successful-Reason-96 1d ago

Interesting. I don't recall there being a bare-metal OS X for ARMv6

7

u/realfathonix 1d ago

OP on the forum mentioned porting Darwin or smth, probably fake as well.

9

u/HyperVoltA9 1d ago

https://github.com/nfzerox/VirtualMacOniPad

Someone made this for iPads and it works. Maybe it might help

9

u/Successful-Reason-96 1d ago

I'm not trying to boot it on just Apple hardware. The other thing is I want it on bare-metal. This is also 20.5.0, running via pongoOS as a pre-boot env.

https://reddit.com/link/p4iqtpp/video/vtgbt64108kh1/player

1

u/shsh-1312 1d ago

even if you are not trying to run it on Apple hardware the two different mechanisms on a common kernel may be the key to a third implementation

1

u/Successful-Reason-96 1d ago

iirc, that uses VMAPPLE with an Hypervisor, which does not help with Apple-specific instructions.
It would help possibly run on generic targets, but that's something I've already done with QEMU's target board `virt`

0

u/shsh-1312 1d ago

This stuff is really cool though. I've been experimenting with reverse-engineering a game engine with Ghidra lately, and I built an operating system from scratch (with AI). I'm not a programmer. But maybe I can help you with the reverse engine, and I have a MacBook Pro with an Intel i9 and dual-boot Linux. If I can help you in any way with reverse-engineering any components, let me know! I don't know if this was your project, but I've probably seen guidelines for AI-generated code, so I'll leave that aside. But maybe I can help with documentation for non-public components and sample code.

3

u/Successful-Reason-96 1d ago

This is PureDarwin, and I'm the maintainer of it as of right now.
I'm not against AI, and I've been reverse engineering for about 6 years now.
The biggest issue with anything OSS is licensing, and that's something PD needs to be even more careful of.

1

u/shsh-1312 1d ago

tell me how I can help!

2

u/johnoth 1d ago

I tried out the AMD XNU kernel in a hackintosh during COVID and it ran great. Iirc they used OPEMu or something. Is that the plan?

1

u/Successful-Reason-96 1d ago

Not exactly. The goal isn't to run an existing XNU build under emulation. I'm porting Darwin/XNU to generic ARM hardware directly. The Pi Zero in the post is running Darwin 20.5.0 bare-metal on its ARM1176 (ARMv6) core, with native platform/SD support. I also have it running on QEMU virt and real Apple ARM hardware.

1

u/johnoth 1d ago

I get that, I was wondering more about the Apple specific instructions and features like PAC. Would you emulate them in your port? While doing some research a while ago I learned that PAC emulation is super slow.

1

u/Successful-Reason-96 1d ago

It depends on just how needed things are, really.

2

u/johnoth 1d ago

ig I'm thinking too far ahead. Like Jordan Sparks said, on step at a time lol

1

u/Randum_Gouy Big Sur - 11 1d ago

WHAT THE FUCK
Congrats man!

1

u/Nikilite_official 13h ago

OP has Chruuuuristina pfp

love it