MacintoshPi is a small project that allows running full-screen versions of Apple's Mac OS 7, Mac OS 8 and Mac OS 9 with sound, active Internet connection and modem emulation under Raspberry Pi.
Download MacintoshPi SD card image *
mac --help command for helpAll this without the X.org manager, only a multimedia SDL2 library and from the CLI / Raspberry Pi OS Lite. This lets emulators use full power of Raspberry Pi, making them more stable and useful in combination with additional retro-software. Installation requires running a single script on a clean Raspberry Pi OS Lite and waiting about two hours for the packages to compile and install. In addition, thanks to a document contained in the project, it is possible in dual-boot to place the fastest (bare-metal) Commodore 64/128/PET emulator BMC64, thus building an interesting retro package on a single SD card. The entire MacintoshPi project runs on Raspberry Pi Zero 2 W, 2, 3, 3B, 3B+ (at present, it does not run on version 4).
Below you will find a short clip showing what MacintoshPi can do:
A much longer version of the clip can be found here.
Project components
The project consists of the following auto-compiling and installing bash scripts for Raspberry Pi:
- Macintosh 68K emulator Basilisk II supporting Mac OS 7 (System 7.5.5) and Mac OS 8,
- PowerPC emulator SheepShaver supporting Mac OS 9,
- Commodore 64/128/Pet emulator VICE,
- A Virtual Modem using the tty0tty and tcpser projects, running with the two aforementioned emulators for Apple and Commodore products, and on Raspberry Pi OS itself, as well as allowing any original terminal retro-software to connect with modern-day telnet BBSs,
- CD-ROM, DVD-ROM emulator CDEmu which allows mounting CD images (iso, toast, cue/bin, mds/mdf etc.) under Raspberry Pi OS – runs with BasiliskII and SheepShaver emulators, as well as on Raspberry Pi OS. The emulators are configured automatically to support that virtual CD-ROM drive.
- A consistent launcher that runs all of those systems at different resolutions (after reboot) and in different configurations.
- SyncTERM – an application for connecting with BBSs from the Raspberry Pi OS, compiled in combination with the SDL library,
- Information how to run Raspberry Pi OS in dual-boot with BMC64, the fastest Commodore emulator for Raspberry Pi (bare metal/low latency emulator).
Mac OS images are pre-configured to support online connections.
About my Macintosh Classic II
My version of MacintoshPi is driven by Raspberry Pi 3B+. I bought my Macintosh Classic II case on eBay – it was completely yellow, but I restored it to the factory condition by means of 18% hydrogen peroxide and appropriate light exposure.
Its LCD IPS 10.1’’ 1024x600px HDMI Waveshare 11870 screen is turned 180°, so that the wiring does not interfere with the upper Macintosh frame. I filled up the space between the flat screen and what was left of the CRT shape with a 3D printout designed by the authors of the 2GuysTek YouTube channel.
The Wondershare screen is a bit too wide, but appropriate operation of the config.txt file allows software rotation and precise definition of the displayed screen image for each system or application (after a restart). The screen is also too low, which is why I filled up the void with black cardstock, and so those elements are practically indistinguishable (they look like the black background of the frame surrounding the screen). However, I recommend using a different, slightly larger screen, and then use software to reduce the screen image displayed and establish its appropriate position.
The keyboard and mouse are Logiteh MK295 Silent Wireless Combo – they only slightly similar in style to peripheral devices supplied back in the day, but they are also wireless and use a single bluetooth dongle. I added two speakers connected to a Raspberry Pi 3B+ analogue audio/jack input and to a splitter. I integrated all those elements inside the Apple Macintosh Classic II case.
The project source can be found on 
Support
You can transfer any funds you wish to my PayPal account if you want to support this project.

















This is fascinating.
I hope some day you will update this project to run on a Raspberry Pi 4B and the non-Legacy Raspberry Pi OS.
Great work on this. How do you get back to the Rasperian Gui from the launcher prompt?. Also having problems with overscan only working for width not height. Thanks
I can’t help you with overscan, but return to Raspberry Pi OS Desktop can be made with the command: mac pios
Thank you for doing this. Great Project!
I’m using a Waveshare 10.1 inch display connected to a Raspberry Pi 3b via HDMI. The Mac OSs don’t display properly, the image scrolls to the right (like a vintage TV when the horizontal hold needed adjustment) and vertical lines display as diagonal. Do you have any thoughts on what setting(s) could be causing this?
Thanks
I can’t help you – I don’t know what could be the cause. Look on the forums for SheepShaver, Basilisk and Waveshare.
Try the latest version of MacintoshPi 1.4.1 – it should help. But before that read the new installation section on README.md.
Thank you for an amazing work you’ve done.
I had some problems building the cdemu component though, and I can’t make it work. It fails requesting some components that are not installed on the barebones Raspberry OS Lite legacy, such as a python library (can’t remember the name). However, that is easy to fix by installing the component manually. The real problem is that the emulator talks to dbus that comes with xorg, and the lite version of Raspberry does not have that. Even when I’ve installed dbul manually, I had no success, most probably because the settings are not right. Do you have any suggestions?
Recently, the project was tested only on Raspberry Pi OS (FULL) Legacy. Install that system, set the boot to CLI (as instructed in the MacintoshPi README) and try again. Maybe someday the full window manager from Rasbperry Pi (FULL) Legacy will be useful too :) On my Macintosh I use it quite often.
aw rats, this is why I installed the MacPi to access CD ROM content. Darn. :) Now I have to redo the whole thing with FULL? Double dagnabbit.
Oh otherwise I am LOVING it, btw :D
Oh and another annoying thing about Lite? You have to mount the USB sticks which is a pain. :(
Oh, I was wrong about the USB sticks. Everything working perfectly now. Apart from I tried out the commodore setting and now my CLI screen has shrunk to a fraction of its usual full-screen size and I can’t seem to get it back to full screen . . . any thoughts?
Try the latest version of MacintoshPi 1.4.1 – it should help. But before that read the new installation section on README.md.
hi
could you help me please:
for older systems, i was able to install apple 1 and apple 2, but when i am trying to install altair imsai,
i am getting errors:
make: Makefile.linux: No such file or directory
make: *** No rule to make target ‘Makefile.linux’. Stop.
make: Makefile.linux: No such file or directory
make: *** No rule to make target ‘Makefile.linux’. Stop.
cd /usr/share/macintoshpi/z80pack/imsaisim && ./cpm22
cd /usr/share/macintoshpi/z80pack/imsaisim && ./imsaisim -x roms/xybasic.h
when i try to run imsai:
env: ‘./imsaisim’: No such file or directory
where am i making mistake?
thanks
The z80pack project has been updated. I have included these changes and moved these emulators to the new DinosPi project https://github.com/jaromaz/DinosPi . They can now be installed on the latest version of Raspberry Pi OS Lite (they work in CLI mode).
homer-retro.space has been down for several days and I’m unable to run the build file successfully. Any plans to point to other images elsewhere or do you know if this is a temporary outage?
I see that it works again :)
Awesome project, thanks so much! I’m having issues though and it’s launching or trying to launch os8 with the launcher, just displays a blinking cursor. The command line interface isn’t my strong suit anymore
Try the latest version of MacintoshPi 1.4.1 – it should help. But before that read the new installation section on README.md.
Amazing work! Got a Kano Computer Kit Touch / 10.1 touch RPI3B hub and a Macintosh SE shell. Every worked as in the tutorial. Just a small piece to make it complete is the Floppy slot. I have a usb floppy and can be mounted to cover that empty space, tried it with the pi obviouslly can’t see it but what if it could really work? just for fun that is would be cool l,just like my powermac 6100
Unfortunately, the project will no longer be developed – I’ve just released its legacy image on this page for download.
Thanks for this great project and for doing all the heavy lifting!
I created a new SD with Raspberry Pi OS Legacy (Full), then rebooted into CLI did the Git clone, and ran the script, and it completed with no error messages .
when I try to run the ‘mac’ command to start either Mac OS9 or OS8, it reboots to load it, but then the screen goes blank for 15-20 seconds before a cursor appears and I’m in the Raspberry Pi CLI, do you have any ideas what I’m doing wrong?
Try the latest version of MacintoshPi 1.4.1 – it should help. But before that read the new installation section on README.md.
Thanks, I created a brand new installation with the corrected legacy version of Pi OS (2022-4-4), I use it to boot and then do the Git clone successfully, but when I use ‘./build_all.sh’ it completes after ~30 minutes and the ‘mac’ command doesn’t work/isn’t found.
I’ve tried running the individual build scripts and the non-macOS ones work but the macos7/8/9 build scripts start correctly with their ASCII splash screens but then reboot the Pi.
I can’t find any log files that might help determine what’s going wrong, do you have any suggestions?
You probably have a faulty device, reboot during compilation means Raspberry Pi is heating up too much. Try adding a fan of some sort.
You have to use the installation instructions that are in the README of the latest version of MacintoshPi on the site: https://github.com/jaromaz/MacintoshPi/#readme
Since the package repositories required to build MacintoshPi are no longer available, I’ve made an SD card legacy image of MacintoshPi available for download on this page.
Hi there,
I am having a similar issue to Ian and there’s no heat buildup issue/pi feels relatively warm but not hot to touch.
NEW CARD
1) Followed as written – Raspberry Pi OS (Legacy) can be installed from the Raspberry Pi Imager level by selecting: CHOOSE OS -> Raspberry Pi OS (other) -> Raspberry Pi OS (Legacy), CHOOSE STORAGE -> WRITE.
2) Set to ClI and Network Set to On.
3) 30 minutes of compiling. No errors. See an ALL DONE and back to pi@raspberrypi prompt.
No MacintoshPi nor mac command. I can see within /home/pi/MacintoshPi, I see folders “assets” “cdemu” “dual-boot” “launcher” “macos7” “macos8” “macos9” “syncterm” “vice” “vmodem” the build_all.sh, a license text file and readme.md.
But I can’t DO anything? Please advise.
ok I see the problem. You have to use the installation instructions that are in the README of the latest version (1.4.1) of MacintoshPi on the site: https://github.com/jaromaz/MacintoshPi/#readme
Hi Jaromaz,
Unfortunately, it still doesn’t work.
1) I re-read the installation instructions, used the legacy legacy file and imaged the SD card again.
2) Setup the raspberry pi image, DID NOT update the file in setup.
3) Changed to CLI and wait on network.
4) Went to command prompt. Entered in the code lines as written. Went to MacPi setup and asked to reboot/update again and if so, enter Y. I DID NOT update as I thought it should stay with that specific file. Ran for 45 minutes this time and received an error: Could not install Mac OS 7.
5) Kicked out to pi@raspberrypi.
How do I get this to run? What’s missing to activate MacintoshPi and boot into your interface?
Thank you for your time and patience in advance.
> I DID NOT update as I thought it should stay with that specific file
you need to upgrade the system – even though it is legacy it is still possible :) You can do it before with the command sudo apt-get update && sudo apt-get upgrade or just follow the script commands. After the upgrade, the system will reboot and you will need to run build_all.sh again.
Hi Jaromaz,
That helped…was able to upgrade, reboot, rebuilt with build_all.sh.
A few more questions…
1) When i type mac os7 or os8 or os9 from command prompt, it brings me to the respective os desktop.
2) Cannot browse internet on any – Error – Security failure. A secure connection could not be established. How do I fix as I was under the impression I could browse natively through each of the macos using MacintoshPi?
3) I transferred .dsk images to pi/downloads and have found them in the unix drive for all os7, os8, os9. Cannot click on any to launch as it says, “The document “name.dsk” could not be opened, because the application program that created it could not be found. Could not find a translation extension with appropriate translators.” What am I supposed to do to physically launch these images? Thanks in advance.
> A secure connection could not be established
Don’t use SLL (https) – eg try site: http://68k.news
Don’t put .dsk on Downloads :) just type:
mac os7 /path/to/name.dsk
If that doesn’t help, take a look how more .dsk disks can be added in Basilisk’s preferences.
Hi Jaromaz,
1) How can I browse more common, mainstream sites, e.g. ESPN, CNN, USAtoday.com, etc? Just typing espn.com won’t work nor http://
2) How can I access the actual Basilisk or SheepShaver settings interface? All of the instructions I see for both emulators are using windows and not rpi. Like sudo padsp ./SheepShaver, where would that be within the RPI?
3) When I try and copy/paste the items stored in pi/download to /pi or /home, I have an error message, “the file operation was completed with errors.” The errors occurred are “error creating directory: Permission denied. Can you be more specific or point me to the right instruction source to load images knowing according to your notes, “applications cannot be launched directly from that directory.”
My apologies if you’ve already answered as I just want to get up and running. If I should email you directly to take this offline/off the blog, please advise.
1. Maybe there are some gateways? Probably it is possible to update certificates in these old browsers.
2. /home/pi/.basilisk_ii_prefs
3. You can’t copy to these directories without the correct permissions. You need to familiarize yourself with the basics of GNU/Linux.
Thanks so much for your help, I finally have it up and running (user error), is it possible to share your config.txt as I can’t reduce the image size on the LCD screen to fit the visible area in the Apple II case?
I’ve tried several options but when it starts Mac os9 it always defaults to full screen so the image is too wide.
Thanks again!
My example configs are included in the assets/altconfigs directory of the MacintoshPi project.
I was wondering what issues you ran into with the Raspberry Pi 4? Is it a matter of updating the scripts so everything builds correctly on Bullseye or is it a 32bit vs 64bit beast? I’m guessing it’s the latter though….
You guessed correctly :)
Hello Jaromaz,
I´ve installed the system in a RPi 2 and it worked fine (OS 9 is a bit slow, but it should be expected), but I have no sound in any of systems (mac os7, os8 and os9).
Sound is working on Pi OS.
On OS8 it gives a message that there is no SOUND device. Did you use the same ROM provided in your design or do have another ROM that can enable sound?
Thank you in advance for your help.
BR
FV
Since the package repositories required to build MacintoshPi are no longer available, I’ve made an SD card legacy image of MacintoshPi available for download on this page.
HI, amazing idea and work! Makes it so easy to run different Mac versions! :-D
Only have one issue. I installed this on a Raspberry Pi 3B according to the install instructions and I can’t pair anything bluetooth like my Mighty Mouse. I get input/output errors and timeout errors depending what I have tried. Any ideas?
Have you thought about updating to use QEMU? It has finally passed sheepshaver in performance and can run up to 9.2.2.
I ran through you installation README.md for the latest version (1.4.1) and everything worked on my RPi 2B. It outputs perfectly and seems to run correctly in each System OS version (7,8,9). It seems like others here have been able to get networking to connect and work, but I have not been able to get an IP address from my DHCP server, nor be able to manually configure one in the TCP/IP control panel. Is there a trick to this that I am missing? RPi Buster connects and works just fine; I can clone from you GitHub repo and connect to other systems in my network. Thanks for this, it’s great fun and great project for me and my grandson (we are converting a dead Mac Classic, just as you did).
I just realized that there is a local DHCP server (or something) that is running on the Pi OS and that it is NAT’d. I can get to the Internet from Mac OS 9, but it would be nice if I can get to other computers (file shares) on my local network. Those don’t seem to be available (AppleTalk or otherwise). Not really important though. This is a lot fun.
I´m a late adopter…it all runs great with my RPi 3b+. Thank you for this idea and work.
One Q; I transferred some files (with .dsk) extension to the download folder and tried to mount them in OS7,8,9. It fails for all and on OS9 I installed stuffit expander in addition but that doesn´t work correctly. Trying to mound the files I am told that system does not support mounting .mts format so even when I rename file not carrying the .dsk extension name. How can I run these small files?