Error Cannot Map Low Memory Globals Operation Not Permitted
Contents |
by Thom Holwerda on Wed 19th May 2010 17:14 UTC Remember MacOS 9, or Classic as Apple named it once Mac OS X was released? On PowerPC Macintosh machines, you can install a Classic environment which launches a virtualised instance of MacOS 9 whenever you launch a Classic application. This environment has been sheepshaver arch linux dropped from Intel releases of Mac OS X, but thanks to SheepShaver, you can still set it up
Basilisk2
yourself on Mac OS X, Linux, Windows, and even BeOS if you want to. I decided to try SheepShaver on my Ubuntu machine, and discovered just redundant robot sheepshaver rom how easy it really is.SheepShaver is basically a PowerPC emulator that fakes an entire PowerPC-based Macintosh in software so that you can run MacOS 7.5.2 through 9.0.4 on Windows, Mac OS X, Linux, and BeOS. As of late, development has been focussed on mac os 9 rom Windows and Mac OS X, but pre-built Debian packages have appeared for 64bit and 32bit Ubuntu installations too. I grabbed one of these, and got going. Even though SheepShaver can run earlier versions, I'm focussing on MacOS 9.0.4. You'll need a few things before you can get going. Obviously, you'll need SheepShaver. You can build it yourself, or grab a binary; binaries for Windows and Mac OS X are easy to get, but for Ubuntu, you'll have to try a little harder. I used the 64bit build found here, and it works fine on Ubuntu Lucid Lynx. Of course, you'll also need a copy of MacOS 9.0.4. Since I have two Macs capable of running classic versions, that was no problem for me. Believe it or not, genuine and new copies of MacOS 9 can still be found in online stores today, but even if you can't find one online, your local Apple retailer might still have a few copies lying around (at least, that's how I got two free copies). Of course, there's always the option of going the way of the pirate, but this is most likely illegal in your country of residence. The third thing you'll need is a little trickier to come by: you're going to need the ROM image of a new world Mac, like a PowerMac G4. Again, I'm lucky in that I have two of these, so I didn't have to jump through a lot of hoops. You can find these ROMs online too, but again, that is most likely illegal. Once you have all these, it's pretty darn easy to get going. Before we start, on my machine, SheepShaver had to be run as root, or else I'd get a "Cannot map Low Memory Globals: Operation not permitted" error. In other words, be careful, and don't run it on a production machine - your SheepShaver environment has root access. I'm sure there's a more clever way to work around this problem, but I haven't really looked into this yet.
Update: Thanks to OSNews reader nalf38, there's a solution.MacOS X Setup SheepShaver for Linux Setup Basilisk II for MacOS X Setup Basilisk II for Windows Setup Basilisk142 for Windows Setup Basilisk II for Linux Setup PearPC for Windows Setup Mini vMac for Windows More Guides Extras Interviews Compiling_&_Tidbits Macintosh ROM Images Compatibility Notes 68K Macintosh Software Mini vMac Games All Downloads Contact Table of Contents SheepShaver for Linux Introduction Preparation Getting Started Configuration Booting Get Help Self-help SheepShaver for Linux (updated November 15, 2010) Introduction SheepShaver emulates a Macintosh computer capable of running Mac OS version 9.0.4 and earlier. This guide is a work-in-progress, but it should walk you through the basic set-up of SheepShaver in Linux. Parts of this guide are adapted from http://www.osnews.com/story/23321/Howto_MacOS_9_on_Ubuntu_Using_SheepShaver Ronald P. Regensburg's SheepShaver for Mac OS X setup guide. Before you begin, you'll need a few things: A SheepShaver build for Linux A valid PPC Macintosh ROM image (see below for notes) A generic retail MacOS install CD or a disk image (.ISO). Note that a system CD provide with a specific Macintosh will not not work. Preparation Some SheepShaver builds for Linux are available. We provide a pair of packages that were built http://www.emaculation.com/doku.php/ubuntu on Ubuntu Intel/AMD 64 bit. Find them at our forum entry SheepShaver for Linux. There is a build that runs in full-screen (if you are experiencing bad mouse movement, check the forum notes). And a build that runs in a window (the full-screen build crashes a lot when running in a window). These builds are dated 03-09-2010. Set memory access Due to a change in how programs in Linux are allowed to use memory, before using SheepShaver you need to set a variable in the file /etc/sysctl.conf At the end of the file add this line: vm.mmap_min_addr = 0 Assuming you're using KDE, to edit sysctl.conf graphically just type: "kdesu kwrite /etc/sysctl.conf" into your run box (Alt + F2). If you're using Gnome then: "gksu gedit /etc/sysctl.conf" Networking If you plan to use the sheep_net driver for networking (see the networking section below for more detail), you can set it up now: Download the sheep_net.ko file from the same forum entry and place it in your home folder. Then open a terminal window and execute: -sudo modprobe sheep_net.ko -sudo chown “your username” /dev/sheep_net If this doesn't work, please refer to the Self-help section below. Please be aware that the SDL versions of SheepShaver do not show a warning when the Sheep_net driver is not installed, the X window version does. Older Builds
Mac OS 8.1 with a 4MB OldWorld ROM. Sound works (even though ESD isn't used), video works, haven't tried ethernet. https://www.timdoug.com/log/2009/09/15/ (all done on my current Debian unstable Intel Atom netbook.) The same instructions work for BasiliskII. Install the following packages: build-essential autoconf2.59 automake1.4 libxt-dev libxext-dev libxxf86dga-dev libxxf86vm-dev Follow the instructions here to download and the source from CVS, and make links as directed. Patch autogen.sh in src/Unix thusly: --- old/SheepShaver/src/Unix/autogen.sh error cannot 2007-06-13 14:09:05.000000000 +0200 +++ ss2/SheepShaver/src/Unix/autogen.sh 2009-09-15 12:21:32.000000000 +0200 @@ -40,13 +40,13 @@ aclocalinclude="$ACLOCAL_FLAGS"; \ (echo $_echo_n " + Running aclocal: $_echo_c"; \ - aclocal $aclocalinclude; \ + aclocal-1.4 $aclocalinclude; \ echo "done.") && \ (echo $_echo_n " + Running autoheader: $_echo_c"; \ - autoheader; \ + autoheader2.59; \ echo "done.") && error cannot map \ (echo $_echo_n " + Running autoconf: $_echo_c"; \ - autoconf; \ + autoconf2.59; \ echo "done.") rm -f config.cache The output should look something like this: SheepShaver configuration summary: SDL support ...................... : none FBDev DGA support ................ : yes XFree86 DGA support .............. : yes XFree86 VidMode support .......... : yes Using PowerPC emulator ........... : yes Enable JIT compiler .............. : yes Enable video on SEGV signals ..... : yes ESD sound support ................ : no GTK user interface ............... : no mon debugger support ............. : no Addressing mode .................. : real Bad memory access recovery type .. : siginfo Configuration done. Now type "make". Patch sys_unix.cpp in src/Unix thusly: --- sys_unix.cpp.old 2009-09-15 12:28:54.000000000 +0200 +++ sys_unix.cpp 2009-09-15 12:29:06.000000000 +0200 @@ -883,11 +883,6 @@ } } #endif -#ifdef CDROM_DRIVE_STATUS - if (fh->cdrom_cap & CDC_DRIVE_STATUS) { - return ioctl(fh->fd, CDROM_DRIVE_STATUS, CDSL_CURRENT) == CDS_DISC_OK; - } -#endif cdrom_tochdr he