Return to site

Linux For Ppc Mac Os

broken image


Your favorite operating system isn't only for x86

  1. Linux For Ppc Mac Os 10.13
  2. Linux For Ppc Mac Os Versions
  3. Linux For Ppc Mac Os High Sierra

Macpup 528 is the latest and is based on Puppy Linux 5.2.8,'Lucid Puppy', An official woofbuild of puppy Linux that is binary-compatible with Ubuntu Lucid Lynxpackages.MP528 contains all the apps from Lucid puppy with the addition ofFirefox 7.01 beta. Extra apps like Opera or Gimp are available for easydownload from the Quickpet App on the.

Hi, I am using Aitech sata device sil3132, on powerpc mpc8641. The device is pci express msi compatible. I had enabled msi in device tree for powerpc but still its giving me Cannot translate IRQ index 0 and so on messages. Fsl-msi f7f41600.msi: fslmsisetuphwirq: Cannot translate IRQ index 0. Yellow Dog Linux (YDL) was a free and open-source operating system for high-performance computing on multi-core processor computer architectures.It focuses on GPU systems and computers using the POWER7.YDL was developed by Fixstars (which acquired Terra Soft Solutions, the original developer, from CEO Kai Staats in October 2008). Yellow Dog Linux was first released in the spring of 1999 for.

About PowerPC

The POWER architecture describes a family of RISC CPUs that arose out of a consortium of IBM, Apple, and Motorola. Within this chip family, higher-end POWER4 chips are used in various IBM mid-range machines (see Related topics for links to more information on IBM iSeries and pSeries hardware and software); at a personal computer, workstation, or workgroup-server level, the PowerPC branch of POWER chips are used in widely-used consumer machines from Apple Computer. Chips in the PowerPC family -- especially those from Motorola -- are also used in various embedded and specialized systems, including PCs from smaller manufacturers such as the phoenix-like current incarnation of Amiga.

The interrelations among various POWER architecture chips are similar to those in the x86 world -- for the most part, later generations of chips provide backward compatibility with earlier ones while also offering new and enhanced capabilities. Within the PowerPC family branch, five-year-old Apple machines used 601, 603, and 604 model chips. The current models have phased out the G3 but continue to use the similar G4, both 32-bit chips, running at various clock speeds; the recently introduced G5 is a 64-bit IBM chip that mostly adds some multimedia-specialized instructions to the POWER4 chip models.

The bottom line on all these chips, from a Linux developer's perspective, is that they all run Linux happily and well. For the PowerPC branch of the chips, excellent consumer-friendly distributions are available and offer commercial customer support. IBM also installs Linux for customers of its high-end POWER4 machines.

So you want to run Linux -- Why buy a PowerPC machine?

The 'default' systems for running Linux are unquestionably x86 machines. Whether based on CPUs from Intel, AMD, Cyrix, Transmeta, or smaller makers, the x86 architecture is well known and makes up the large majority of personal computers, workstations, and small servers. It is certainly safe to go with the majority.

For many Linux users, the best reason to buy a PowerPC machine will be, quite simply, the range of well engineered and reasonably priced machines available from Apple. Admittedly, the G4 lines -- bottom line -- do not quite keep up with comparably priced x86 machines in CPU power. The G4s do not lag that far behind, but they do a little. However, Apple makes some of the best laptops available from an ergonomic, aesthetic, battery-life, and weight perspective. All of those features are far more important to me, for a laptop, than raw number-crunching. On the desktop, the G4 models differentiate themselves mostly on an aesthetic or ergonomic perspective -- for example, in the compactness of Apple's cantilever-mounted flat-panel iMacs. All of Apple's machines, moreover, have a good reputation for durability and reliability -- including their rack mount servers, which are nice for clusters and server arrays.

At the high-end, Apple's G5 towers are comparable in speed to the fastest x86-derived CPUs and systems; in other words, the Intel Itanium and AMD Athlon64. Benchmarks among the three contenders are a mixed bag, but all three chips obtain quite similar performance (all are remarkably fast, and suitable for intensive number crunching applications). Moreover, on price, Apple's G5 towers seem to sell for less than comparably configured systems from x86 vendors such as Dell, Gateway, HP, and other well-known PC retailers (contrary to Apple's reputation for imposing a price premium). It is worth noting that Apple has contributed optimizations to GCC3+ that bring its generation of PPC object code to a quality similar to that of Intel's ICC or IBM's VisualAge C++ compilers for x86 (which are arguably better than GCC on x86).

At the end of the day, the differences between Linux/x86 and Linux/PPC are remarkably minimal. This article will cover a bit more detail on distributions below, but generally, on Linux/PPC you can use the same window managers, run the same utilities, host the same servers, and so on, as you might on any x86 box. Unless you look at the physical hardware -- or are a rare user with a need for precise performance characteristics of various operations (for example, your application is specially designed around particular vector extensions) -- you will not even know which architecture you are running Linux on. The screen will look exactly the same, most configuration files will contain the same settings, and the same bytes will go out over the wire.

So you own a Mac -- Why run Linux?

To a surprising degree, operating systems (other than those from the highly-proprietary Microsoft) have become commodities. What this means is that most vertical applications are a mere recompilation away from running equally well on Linux, FreeBSD, SunOS, Irix, AIX, or indeed on Mac OS X; in some cases even this step is not necessary, since ABIs (application binary interfaces) support foreign binaries.

If you bought an Apple machine in the last few years, it came preinstalled with a high-quality Unix-derived operating system called OS X. OS X has a kernel and collection of base utilities called Darwin, which is under a Free Software license and is derived (in part) from FreeBSD -- the only proprietary elements are in the GUI (Aqua) and in the collection of end-user and system-administration applications that come bundled with OS X. Even X11 (specifically XFree86, despite what the name implies) is supported on OS X, in either full-screen or rootless modes; 'rootless' here means that X11 applications run side-by-side with native Aqua ones. You can run Apache on OS X; you can run NcFTP server; you can even run GIMP or KOffice. Why bother installing Linux?

There are a number of scenarios where it makes more sense to run Linux on your Apple machine than to run OS X. A first situation -- one that will appeal much more to hobbyists than to corporate users -- is when the Mac in question is an older machine. OS X is either entirely unsupported, or at least quite sluggish, on older Macs: 603s, 604s, or even early G3s. Linux can be quite snappy on these older systems; and Linux is a lot more useful as a server, or in many cases even as a desktop, than is the Mac OS 9 (or earlier) that came with those older machines. Still, the hobbyist segment is fairly narrow, or at least does not need to look here for advice.

A more important situation where Linux is worthwhile as an operating system for G3, G4, or G5 machines from Apple is when you want to assure a uniform system/user interface across machines. Many enterprises, hosting companies, schools, or research facilities will have a mixture of x86 and PPC systems that it provides to users. While you can recompile most specific Linux applications for OS X, doing so does not bring the systems all the way to having a uniform GUI, configuration files, directory structure, and build environment between the various maintained machines. 'Linux everywhere' assures a much greater degree of consistency.

One thing in particular that can be confusing to Linux developers about OS X is its overlay of two distinct directory organizations -- the traditional /etc/, /usr/local/, /sbin/, and so on of Linux/Unix systems, and the /Application/, /Library/, /System/ from Mac OS 9. The /sw/ hierarchy fink creates, additionally, is almost like a third overlay. Moreover, even though OS X has an X11 server built in, I have still found a variety of minor glitches (redraws, key bindings, etc.) in using X11 applications there -- Linux with a good window manager such as KDE or GNOME is a much more seamless environment in this case.

Apart from developers who might use PPC desktops or laptop machines, Web-hosting companies would like to present a predictable system to its customers who maintain sites via SSH, FTP, or Web-based interfaces -- regardless of whether a domain is hosted on PPC or x86 chips. Considering servers further, Linux offers several advantages over OS X, even over the server version of OS X. One major strength of Linux is the variety of filesystems that have been developed for it or ported to it: ext2, ext3, ReiserFS, IBM's JFS, SGI's XFS, etc. Each of these has its own strengths, often specific to particular usage scenarios (Web host, streaming multimedia server, RDBMS, etc.). While the server version of OS X supports an enhanced version of HFS+ with journaling and optional filename case-sensitivity, it cannot match Linux's range of filesystem options. Also, I should mention -- but not overemphasize -- the little matter of cost: An unlimited-client version of Mac OS X Server will cost you US$1000 per machine, whereas Linux is free of cost (and even a support contract from a distribution vendor is much cheaper than this). The caveat here is that if OS X Server's administration tools save your IS staff even a little work each day, that kilodollar outlay can quickly pay for itself.

Distributions

For this article, I installed and evaluated four distributions of Linux for PowerPC machines: Debian, Knoppix, Yellow Dog, and Mandrake. All were installed and tested on a G4 iMac. I found two of the distributions to be well polished and easy to use, right on par with the best x86 Linux distributions; the other two I would have to describe as 'not ready yet.' A few other distributions exist as well -- and more will certainly be created over time. I was not aiming to provide a thorough comparison of every distribution readers might choose to use, but simply to get a sense of the 'state of the art' -- no slight is intended towards those distributions I did not look at.

The two distributions that I found less that compelling were Debian (Woody) and Knoppix. The latter is an interesting creature that I've found useful on x86 machines. Knoppix uses a 'live boot' CD -- that is, booting from the Knoppix CD gives you a working Linux environment with KDE, OpenOffice, and a good collection of utilities. Using Knoppix, there is no need to create any partitions or boot setup on a PC, and you can carry the Knoppix CD between various machines to have a uniform configuration on each. Unfortunately, testing on three separate systems, Knoppix/PPC never managed to boot quite right: KDE would not load, and the fallback was a crude TWM shell that did not get the video mode quite right (colormap and sizing problems). Networking, including wireless, however, seem to be recognized correctly; so you can use the command-line tools. Once Knoppix/PPC gets some more polish to it, it -- or something like it -- will be a very useful way to run Linux non-destructively on existing Mac OS X machines. (See Related topics for links to full articles on Knoppix.)

The problems I had with Debian/PPC are probably similar to what dedicated Debian users most love about their distribution to start with. Installation is strictly a text-mode affair, with no options for changing configuration once a fatal 'Y' or 'N' has been pressed. As long as you make no mistakes and read each installation screen carefully, installation proceeds well enough. It even automatically finds on the network any modules that do not happen to be on the installation CD(s). Many installed utilities and applications -- GCC, Python, the kernel, OpenOffice, etc., lag quite a few versions behind the most current ones, but most widely used tools are available as Debian packages (and hence fetchable using the wonderful apt-get). However, the killer problem I found with Debian/PPC was my inability to get X11 working on it -- the installation seemed wholly unaware of any remotely relevant video card models, and some post-installation attempts at configuration proved fruitless, too. I am certain that there are Debian/PPC users who have worked out the configuration issues, but compared to the ease of installation of other distributions, I have trouble recommending Debian to many users.

Both Yellow Dog (Sirius/3.0.1) and Mandrake (Bamboo/9.1) have quite slick Linux distributions for PowerPC. Overall, I would recommend Yellow Dog over Mandrake to most users, but each have some strengths and weaknesses. The fact that Yellow Dog's maker, Terra Soft Solutions, specializes in PowerPC systems probably leads them to pay somewhat greater attention to the small details of tuning Linux for PPC. On the other hand, for enterprise users aiming at a thorough consistency might choose Mandrake for both x86 and PPC machines.

Yellow Dog and Mandrake both use attractive and friendly installation GUIs; perhaps a slight edge functionally goes to Mandrake for its list of pending and completed steps to the left of the dialog area, but I nonetheless prefer the aesthetics of Yellow Dog screens. Both systems come with a large collection of applications and utilities: Gnome/KDE, OpenOffice, XFree86 4.3, Mozilla, Mac-on-Linux, various servers. For most applications and utilities (and the kernel), Yellow Dog ships with slightly more recent versions, but generally only a micro-release difference, not a whole minor version. In any case, neither Yellow Dog nor Mandrake had any difficulty recognizing my network, graphics card, partitions, mouse, keyboard, and so on. However, I did experience a glitch with Yellow Dog's first attempt to reboot into X11 -- I needed to run /usr/X11R6/bin/Xautoconfig once to clear up the problem.

A few differences between Mandrake and Yellow Dog stand out. The menu organization and theme are a bit different under the KDE window manager that I selected (the default for both), but both systems were very reasonable (and configurable once the system is installed, in any case). And the package selection presets contained a similar set of 'personal,' 'server,' and 'workstation' options (with customization allowed). I really liked Mandrake's DiskDrake tool for partition management. This graphical utility lets you add, delete, non-destructively resize, format, and otherwise manipulate partitions (but no non-destructive resize on HFS+). Among other things, DiskDrake let me choose the format for my Mandrake partition(s) during installation, rather than simply defaulting to ext3 as Yellow Dog did (but I could still add an extra ReiserFS partition easily enough later under Yellow Dog). And I am generally very impressed with Mandrake's Control Center, on both x86 and PPC, not because it does anything unique, but because it unifies configuration tasks under one interface.

Despite Mandrake's advantages, my ultimate reason for preferring Yellow Dog is its package management system. Yellow Dog seems to be something of a hybrid system: it uses RPMs during installation, but it also installs apt-get for later updates to the system. I have not looked at the internals of the setup, but I could type apt-get install OpenOffice at one line, and have every dependency resolved correctly, the whole 350 megabytes (after expansion) of files downloaded, and the links added to my KDE menu without restarting X11. After wasting many hours wrestling with RPM dependencies, this was a marvel to behold. Of course, I've been spoiled by using fink under Mac OS X, which does the same thing (and is based on apt-get).

Partitioning, multi-boot management, and emulation

Linux for ppc mac os versions

Linux/PPC has an important disadvantage relative to Linux/x86: As of this writing, no tools yet exist for non-destructive repartitioning of HFS+ partitions (at least none that are post-alpha and can run from OS X or Linux). Unfortunately, this means that you cannot easily configure a multi-boot system from an existing Mac OS X system; most recent Linux/x86 distributions provide an analogous capability to add Linux to an existing Windows system. It is simple enough to destructively partition an existing drive, then reinstall OS X to one of those new partitions; but doing this means losing your existing data and system configuration (backup/restore might work, but can be tricky to get right). Of course, if you simply want a dedicated Linux machine, this is not something you need worry about.

Linux

Partitioning and bootstrapping work a bit differently on Apple machines compared to x86 ones. Specifically, Apple's Open Firmware (an enhanced version of the BIOS Linux users know from x86 PCs) relies on a small 'Apple Bootstrap' partition (hda2) to load the subsequent operating system from one of the regular partitions. The partition map also occupies hda1, so the first partition in which you will install any operating system is numbered at least hda3. During machine startup -- using the multi-boot tool yaboot -- your boot process goes through two stages, rather than the one-level x86 MBR boot loaders such as lilo and grub use. At the first stage, you have a choice of booting from, for example, harddisk, CD-ROM, or to Open Firmware; assuming you proceed to the harddisk, you might have the option of booting various operating systems/versions that live on normal partitions.

Configuring yaboot is generally similar to working with lilo. A file called /etc/yaboot.conf contains options for various systems, kernels, partitions, and so on; the format is mostly the same as in lilo.conf. When you have configured yaboot.conf properly, you load yaboot onto the bootstrap partition using the command ybin (as root, of course). To find partition information, you must use the tool pdisk rather than the traditional fdisk on x86 Linux systems. Again, the interface is similar but not quite the same, between the tools. For Mandrake users, the tool DiskDrake is a much friendlier and more flexible GUI-based tool to do the same thing. Using yaboot, you can choose among multiple Linux distributions and/or MacOS versions at boot time.

One nice thing about running Linux on PPC machines is that you can run the Free Software tool Mac-on-Linux this way. This works much like the commercial VMWare does on x86 machines. An entire Mac OS system (either OS X, or an earlier version such as Mac OS 9) runs inside a window within a Linux/X11 display. In fact, you can run multiple Mac OS versions simultaneously, each in their own virtual display window. The Mac OS lives in a kind of 'sandbox' where it cannot see its Linux environment, but PPC instructions nonetheless run at full native speed. Assuming you have enough memory to run such a sandbox, Mac-on-Linux gives you a nice way to continue using your Mac OS applications while running Linux -- even proprietary applications for which you have no source code. No need for recompilation as is needed to move Linux applications to an OS X environment.

Downloadable resources

Related topics

  • Read a concise history of the POWER architecture.
  • Read more details specifically on the history of the PowerPC.
  • Terra Soft Solutions is the maker of Yellow Dog Linux and also offers custom PowerPC systems -- both as an Apple reseller and their own systems -- with pre-installed versions of Yellow Dog on them.
  • More information on Debian Linux can be found at debian.org.
  • The official Knoppix Web site is maintained by the author of Knoppix, Klaus Knopper.
  • Find out the current status of Mac-on-Linux.
  • IBM's iSeries and pSeries servers can run Linux on top of their POWER processors. For more information on these systems, go to the Linux on IBM eServer iSeries and pSeries home pages.
  • 'PowerPC assembly' (developerWorks, July 2002) gives an introduction to using PPC assembly language under Linux.
  • 'Porting Intel Applications to 64 bit Linux PowerPC' is excellent resources for those looking to switch their applications to the PPC platform.
  • 1PowerPC Emulator (32-bit)
    • 1.4PowerMac G4 and G3 emulation
  • 2Debugging tips
  • 3Emulated hardware issues

PowerPC Emulator (32-bit)

Description

This page is about qemu-system-ppc.Note: Information below true for qemu-system-ppc builds as of 14-03-2019

The following machines are emulated through qemu-system-ppc:

Machine model selectorProvides
-M g3beige Heathrow based PowerMAC (default)
-M mac99 Mac99 based PowerMAC
-M 40p IBM RS/6000 7020 (40p)
-M bamboo Bamboo
-M mpc8544ds Mpc8544ds
-M none Empty machine
-M ppce500 Generic paravirt e500 platform
-M prep PowerPC PREP platform (deprecated in favour of the 40p machine )
-M ref405ep Ref405ep
-M sam460ex aCube Sam460ex
-M taihu Taihu
-M virtex-ml507 Xilinx Virtex ML507 reference design

Build directions

Due to mouse issues when using the default GTK GUI in Windows, it is advisable to use the SDL-based GUI when compiling on/for that platform:

Pre-built binaries for Windows and OSX

Pre-built binaries for Windows can be found here: https://qemu.weilnetz.de/w64/
Pre-built binaries for OSX are provided at the emaculation website: https://www.emaculation.com/forum/viewtopic.php?f=34&t=8848
Experimental builds for Windows/OSX with e.g., sound support are provided at the emaculation website: https://www.emaculation.com/forum/viewtopic.php?f=34&t=8848&p=52102#p52104 and here: https://www.emaculation.com/forum/viewtopic.php?f=34&t=9028

PowerMac G4 and G3 emulation

PowerPC Mac G4 (Mac Model PowerPC3,1) and PowerPC Mac G3 emulation

The PowerPC Mac G4 -m mac99 machine model selector has three options:

Machine model selector optionsProvides
-M mac99,via=pmu pmu power management, providing USB mouse and keyboard
-M mac99,via=pmu-adb pmu power management with adb bus for older OSs not supporting USB
-M mac99,via=cuda cuda power management with adb bus (this is the default)

Optional commands:

Optional commandsDefaultProvides
-prom-env 'auto-boot?=true'yesAutomatic boot at openbios prompt
-prom-env 'boot-args=-v' noVerbose start-up of OSX guests
-prom-env 'vga-ndrv?=true' yesOn the fly resolution/colour depth switching for Mac OS/OS X guests
-device VGA,edid=on noProvides additional screen resolutions for Mac OS/OS X guests

Mac OS/OSX and Linux guest compatibility

Operating systemStatusRemarks
Mac OS 8.0 to 8.6Not supported
Mac OS 9.0Boots, installs, runsRequires 9.0.4 with rom version 5.2.1 and above (e.g., 9.0.4 for the Cube)
Mac OS 9.1Boots, installs, runs
Mac OS 9.2Boots, installs, runs
Mac OS 10.0Boots, installs, runs
Mac OS 10.1Boots, installs, runs
Mac OS 10.2Boots, installs, runs
Mac OS 10.3Boots, installs, runs
Mac OS 10.4Boots, installs, runs
Mac OS 10.5Boots, installs, runsRequires -m mac99,via=pmu to run
Mac OSX Server 1.2v3Boots, installs, runsNo networking due to lack of gigabit ethernet support
Lubuntu 14Boots, installs, runsRequires -g 1024x768x8 to see text while installing
Fedora 12Boots, installs, runsRequires -g 1024x768x8 to see text while installing
Debian 10Boots, installs, runsRequires -g 1024x768x8 to see text while installing
OpenSuse 11Boots, installs, runsRequires -device rtl8139 for networking, -g 1024x768x8 to see text while installing
Yellow Dog Linux 6.2Boots, installs, runsRequires -device rtl8139 for networking, -g 1024x768x8 to see text while installing

Guest installation instructions

Mac OS 9.x to Mac OS X 10.4

Command-line options to install Mac OS 9:

Mac OS X 10.5

Command-line options to install Mac OS X 10.X:

Mac OS X Server 1.2v3

Installation requires several steps:
Step 1: boot from installation CD, use disk utility to partition disk as Apple Server, start the installation and let it fail. Quit Qemu and reboot with command line in step 2.

Step 2: initial installation (note machine and CPU, otherwise no desktop is shown).

At the boot prompt enter 'boot cd:9,:tbxi' Initial installation starts. Quit Qemu after completion.

Step 3: Installation continued. Boot with the following command line to complete the installation.

Step 4: Boot the installed system:

Lubuntu 14

Installation:

Running:

Fedora 12

Installing:

Running:

Debian 10 (Buster)

Note: To get a graphical desktop, at software selection, remove the default desktop environment and install only Xfce
Installing:

Running:

At the Linux boot prompt enter 'Linux modprobe.blacklist=bochs_drm'

Pre-installed images of Debian 6 (Squeeze) and 7 (Wheezy) (both minimal and with desktop) can be found here: https://people.debian.org/~aurel32/qemu/powerpc/

These images boot with:

OpenSuse 11

Installing:

Once the license screen appears, press Ctrl-Alt-Shift-X to open a terminal. Follow https://en.opensuse.org/SDB:Install_openSUSE_on_an_Apple_PPC_computer to create partitions with pdisk. Write the map after partitioning and continue with Yast. Once Yast arrives at partitioning, select Expert partitioning, select the Hard disk and click Rescan disk.
Leave hda2 as it is.
Edit hda3 to format as Ext2, mount at /boot and set fstab option to: Mount in /etc/fstab by to Device Path (instead of Device ID)
Edit hda4 to format as Swap and set fstab option to: Mount in /etc/fstab by to Device Path (instead of Device ID)
Edit hda5 to format as Ext3, mount at / and set fstab option to: Mount in /etc/fstab by to Device Path (instead of Device ID)

Accept the partitioning and continue with formatting. Continue installing. There will be an error while the boot manager is being installed. Ignore it, do not retry and wait for the installation to finish and the system reboots. Quit Qemu at the openbios screen and edit your command line:

Yellow Dog Linux 6.2

Installing:

Running:

IBM RS/6000 7020 (40p)

The 40p machine can be booted with the sandalfoot zImage from:http://www.juneau-lug.org/zImage.initrd.sandalfoot

Booting:


Bamboo

Mpc8544ds

Empty machine

Generic paravirt e500 platform

PowerPC PREP platform (deprecated in favour of the 40p machine)

Linux For Ppc Mac Os 10.13

Ref405ep

aCube Sam460ex

Booting:

Taihu

Xilinx Virtex ML507 reference design

Debugging tips

Command line options

(logs unimplemented features and guest errors to stdout)

Puppy
Puppy linux ppc

Linux/PPC has an important disadvantage relative to Linux/x86: As of this writing, no tools yet exist for non-destructive repartitioning of HFS+ partitions (at least none that are post-alpha and can run from OS X or Linux). Unfortunately, this means that you cannot easily configure a multi-boot system from an existing Mac OS X system; most recent Linux/x86 distributions provide an analogous capability to add Linux to an existing Windows system. It is simple enough to destructively partition an existing drive, then reinstall OS X to one of those new partitions; but doing this means losing your existing data and system configuration (backup/restore might work, but can be tricky to get right). Of course, if you simply want a dedicated Linux machine, this is not something you need worry about.

Partitioning and bootstrapping work a bit differently on Apple machines compared to x86 ones. Specifically, Apple's Open Firmware (an enhanced version of the BIOS Linux users know from x86 PCs) relies on a small 'Apple Bootstrap' partition (hda2) to load the subsequent operating system from one of the regular partitions. The partition map also occupies hda1, so the first partition in which you will install any operating system is numbered at least hda3. During machine startup -- using the multi-boot tool yaboot -- your boot process goes through two stages, rather than the one-level x86 MBR boot loaders such as lilo and grub use. At the first stage, you have a choice of booting from, for example, harddisk, CD-ROM, or to Open Firmware; assuming you proceed to the harddisk, you might have the option of booting various operating systems/versions that live on normal partitions.

Configuring yaboot is generally similar to working with lilo. A file called /etc/yaboot.conf contains options for various systems, kernels, partitions, and so on; the format is mostly the same as in lilo.conf. When you have configured yaboot.conf properly, you load yaboot onto the bootstrap partition using the command ybin (as root, of course). To find partition information, you must use the tool pdisk rather than the traditional fdisk on x86 Linux systems. Again, the interface is similar but not quite the same, between the tools. For Mandrake users, the tool DiskDrake is a much friendlier and more flexible GUI-based tool to do the same thing. Using yaboot, you can choose among multiple Linux distributions and/or MacOS versions at boot time.

One nice thing about running Linux on PPC machines is that you can run the Free Software tool Mac-on-Linux this way. This works much like the commercial VMWare does on x86 machines. An entire Mac OS system (either OS X, or an earlier version such as Mac OS 9) runs inside a window within a Linux/X11 display. In fact, you can run multiple Mac OS versions simultaneously, each in their own virtual display window. The Mac OS lives in a kind of 'sandbox' where it cannot see its Linux environment, but PPC instructions nonetheless run at full native speed. Assuming you have enough memory to run such a sandbox, Mac-on-Linux gives you a nice way to continue using your Mac OS applications while running Linux -- even proprietary applications for which you have no source code. No need for recompilation as is needed to move Linux applications to an OS X environment.

Downloadable resources

Related topics

  • Read a concise history of the POWER architecture.
  • Read more details specifically on the history of the PowerPC.
  • Terra Soft Solutions is the maker of Yellow Dog Linux and also offers custom PowerPC systems -- both as an Apple reseller and their own systems -- with pre-installed versions of Yellow Dog on them.
  • More information on Debian Linux can be found at debian.org.
  • The official Knoppix Web site is maintained by the author of Knoppix, Klaus Knopper.
  • Find out the current status of Mac-on-Linux.
  • IBM's iSeries and pSeries servers can run Linux on top of their POWER processors. For more information on these systems, go to the Linux on IBM eServer iSeries and pSeries home pages.
  • 'PowerPC assembly' (developerWorks, July 2002) gives an introduction to using PPC assembly language under Linux.
  • 'Porting Intel Applications to 64 bit Linux PowerPC' is excellent resources for those looking to switch their applications to the PPC platform.
  • 1PowerPC Emulator (32-bit)
    • 1.4PowerMac G4 and G3 emulation
  • 2Debugging tips
  • 3Emulated hardware issues

PowerPC Emulator (32-bit)

Description

This page is about qemu-system-ppc.Note: Information below true for qemu-system-ppc builds as of 14-03-2019

The following machines are emulated through qemu-system-ppc:

Machine model selectorProvides
-M g3beige Heathrow based PowerMAC (default)
-M mac99 Mac99 based PowerMAC
-M 40p IBM RS/6000 7020 (40p)
-M bamboo Bamboo
-M mpc8544ds Mpc8544ds
-M none Empty machine
-M ppce500 Generic paravirt e500 platform
-M prep PowerPC PREP platform (deprecated in favour of the 40p machine )
-M ref405ep Ref405ep
-M sam460ex aCube Sam460ex
-M taihu Taihu
-M virtex-ml507 Xilinx Virtex ML507 reference design

Build directions

Due to mouse issues when using the default GTK GUI in Windows, it is advisable to use the SDL-based GUI when compiling on/for that platform:

Pre-built binaries for Windows and OSX

Pre-built binaries for Windows can be found here: https://qemu.weilnetz.de/w64/
Pre-built binaries for OSX are provided at the emaculation website: https://www.emaculation.com/forum/viewtopic.php?f=34&t=8848
Experimental builds for Windows/OSX with e.g., sound support are provided at the emaculation website: https://www.emaculation.com/forum/viewtopic.php?f=34&t=8848&p=52102#p52104 and here: https://www.emaculation.com/forum/viewtopic.php?f=34&t=9028

PowerMac G4 and G3 emulation

PowerPC Mac G4 (Mac Model PowerPC3,1) and PowerPC Mac G3 emulation

The PowerPC Mac G4 -m mac99 machine model selector has three options:

Machine model selector optionsProvides
-M mac99,via=pmu pmu power management, providing USB mouse and keyboard
-M mac99,via=pmu-adb pmu power management with adb bus for older OSs not supporting USB
-M mac99,via=cuda cuda power management with adb bus (this is the default)

Optional commands:

Optional commandsDefaultProvides
-prom-env 'auto-boot?=true'yesAutomatic boot at openbios prompt
-prom-env 'boot-args=-v' noVerbose start-up of OSX guests
-prom-env 'vga-ndrv?=true' yesOn the fly resolution/colour depth switching for Mac OS/OS X guests
-device VGA,edid=on noProvides additional screen resolutions for Mac OS/OS X guests

Mac OS/OSX and Linux guest compatibility

Operating systemStatusRemarks
Mac OS 8.0 to 8.6Not supported
Mac OS 9.0Boots, installs, runsRequires 9.0.4 with rom version 5.2.1 and above (e.g., 9.0.4 for the Cube)
Mac OS 9.1Boots, installs, runs
Mac OS 9.2Boots, installs, runs
Mac OS 10.0Boots, installs, runs
Mac OS 10.1Boots, installs, runs
Mac OS 10.2Boots, installs, runs
Mac OS 10.3Boots, installs, runs
Mac OS 10.4Boots, installs, runs
Mac OS 10.5Boots, installs, runsRequires -m mac99,via=pmu to run
Mac OSX Server 1.2v3Boots, installs, runsNo networking due to lack of gigabit ethernet support
Lubuntu 14Boots, installs, runsRequires -g 1024x768x8 to see text while installing
Fedora 12Boots, installs, runsRequires -g 1024x768x8 to see text while installing
Debian 10Boots, installs, runsRequires -g 1024x768x8 to see text while installing
OpenSuse 11Boots, installs, runsRequires -device rtl8139 for networking, -g 1024x768x8 to see text while installing
Yellow Dog Linux 6.2Boots, installs, runsRequires -device rtl8139 for networking, -g 1024x768x8 to see text while installing

Guest installation instructions

Mac OS 9.x to Mac OS X 10.4

Command-line options to install Mac OS 9:

Mac OS X 10.5

Command-line options to install Mac OS X 10.X:

Mac OS X Server 1.2v3

Installation requires several steps:
Step 1: boot from installation CD, use disk utility to partition disk as Apple Server, start the installation and let it fail. Quit Qemu and reboot with command line in step 2.

Step 2: initial installation (note machine and CPU, otherwise no desktop is shown).

At the boot prompt enter 'boot cd:9,:tbxi' Initial installation starts. Quit Qemu after completion.

Step 3: Installation continued. Boot with the following command line to complete the installation.

Step 4: Boot the installed system:

Lubuntu 14

Installation:

Running:

Fedora 12

Installing:

Running:

Debian 10 (Buster)

Note: To get a graphical desktop, at software selection, remove the default desktop environment and install only Xfce
Installing:

Running:

At the Linux boot prompt enter 'Linux modprobe.blacklist=bochs_drm'

Pre-installed images of Debian 6 (Squeeze) and 7 (Wheezy) (both minimal and with desktop) can be found here: https://people.debian.org/~aurel32/qemu/powerpc/

These images boot with:

OpenSuse 11

Installing:

Once the license screen appears, press Ctrl-Alt-Shift-X to open a terminal. Follow https://en.opensuse.org/SDB:Install_openSUSE_on_an_Apple_PPC_computer to create partitions with pdisk. Write the map after partitioning and continue with Yast. Once Yast arrives at partitioning, select Expert partitioning, select the Hard disk and click Rescan disk.
Leave hda2 as it is.
Edit hda3 to format as Ext2, mount at /boot and set fstab option to: Mount in /etc/fstab by to Device Path (instead of Device ID)
Edit hda4 to format as Swap and set fstab option to: Mount in /etc/fstab by to Device Path (instead of Device ID)
Edit hda5 to format as Ext3, mount at / and set fstab option to: Mount in /etc/fstab by to Device Path (instead of Device ID)

Accept the partitioning and continue with formatting. Continue installing. There will be an error while the boot manager is being installed. Ignore it, do not retry and wait for the installation to finish and the system reboots. Quit Qemu at the openbios screen and edit your command line:

Yellow Dog Linux 6.2

Installing:

Running:

IBM RS/6000 7020 (40p)

The 40p machine can be booted with the sandalfoot zImage from:http://www.juneau-lug.org/zImage.initrd.sandalfoot

Booting:


Bamboo

Mpc8544ds

Empty machine

Generic paravirt e500 platform

PowerPC PREP platform (deprecated in favour of the 40p machine)

Linux For Ppc Mac Os 10.13

Ref405ep

aCube Sam460ex

Booting:

Taihu

Xilinx Virtex ML507 reference design

Debugging tips

Command line options

(logs unimplemented features and guest errors to stdout)

(logs all PMU accesses to stdout)

(logs all USB accesses to stdout)

Linux For Ppc Mac Os Versions

Macsbug

Macsbug can be used with Mac OS guest to tell you what exactly stopped booting. The link for it is below.
Mac OS 9.2 comes with a built-in debugger. To use it, set the OpenBIOS variable “APPL,debug”:
Via QEMU's command-line options:

In OpenBIOS type:
dev /
2000000 encode-int *Note: the number can be replaced with the many options available
“ AAPL,debug” property
then to boot from a cd type:
boot cd:,:tbxi
To boot from a hard drive image:
boot hd:,:tbxi

Debugging qemu-system-ppc with GDB on an x86 Linux host

To build gdb-powerpc-linux on Linux, you need the normal build tools such as GCC installed.Download the GDB source code. Version 7.9 is reported to work: http://ftp.gnu.org/gnu/gdb/gdb-7.9.tar.gzUnpack it and cd into the dir, then build and install with:

Launch qemu-system-ppc(64) with -s and -S. Qemu will pause and listen on port 1234 for GDB.Set -prom-env 'auto-boot?=false' --nographic on the command line for the Qemu instance to be debugged.

Open another terminal and launch the GDB you just built:

You can set a breakpoint in GDB, like this:

Type 'boot' in the terminal running Qemu.

Emulated hardware issues

Mac OS

-Only Mac OS 9.x support sound well. Use an experimental build.
-Mac OS 9.x will not boot with 64 Mb or less memory. They will also not boot with more than 1024 Mb.

Links

Installation images:
Lubuntu 14.04 PPC release
OpenSuse 11 PPC release
Fedora 12 PPC release
Ubuntu Mate 16.04 PPC release
Debian 10 PPC release
Yellow Dog Linux 6.2

Google Summer of Code Discussion for Mac OS 9
Macsbug 6.6.3 - debugger for Mac OS 9
Darwin OS installation iso file
JQEMU - graphical manager for QEMU (requires Java)
PowerPC Assembly Language Tutorial
QEMU PowerPC mailing list
Beige Power Mac G3 info
Sawtooth Power Mac G4 info

Pictures


How do I help

Linux For Ppc Mac Os High Sierra

QEMU has many systems that can always be improved. Here is a brief list of possible areas you may want to work on:

  • Documentation
  • Testing
  • Fixing operating system compatibility issues
  • PowerPC emulation
  • User interface
  • Implement a 3D video card
  • Improve various hardware (via-cuda, ata controller, etc..)


Knowledge in these areas could help:

  • PowerPC Assembly
  • 68K Assembly
  • Embedded Programming

Contacts

Maintainer: David Gibson david@gibson.dropbear.id.au
If there are any issues with this page, please contact me

Retrieved from 'https://wiki.qemu.org/index.php?title=Documentation/Platforms/PowerPC&oldid=9438'




broken image