Setting up a Linux-Mac OS X Dual Boot?
August 22, 2007 2:27 PM   Subscribe

I would like to make my Intel iMac dual boot a Linux variant. I'd appreciate any help you could provide me. Specific questions inside.

First, I'd appreciate it if you could explain the difference to me between a window manager and a Linux operating system. For example, there is GNOME and KDE, and my understanding is that these are window managers -- and there is Ubuntu and Red Hat, which are operating systems, yes? What does a window manager do that an operating system doesn't? I'm so used to seeing operating systems that are integrated with their window managers (i.e. Mac OS X and Windows) that I'm not sure I understand where one ends and the other begins. What window managers would you recommend? What variant of Linux would you recommend? I'm leaning towards Ubuntu, since I've heard it referred to the most on Lifehacker.

Second, I must admit, I'm slightly nervous. Even though this is moderately major surgery on my Mac, I'd appreciate any reassurance you can give. I do backup, but my backup drive isn't large enough to backup everything; right now it's got everything but my music backed up, and for obvious reasons, I'd rather not lose all my music. (A large chunk of it is backed up on DVD, but most definitely not all.) My understanding is that Apple's Boot Camp application can alter the partitions on my hard drive without erasing what's there already ... even if I'm not installing Windows.

As that relates, the instructions I am planning to work off of are both here and here. I'm wondering if there is a "Complete Idiot's Guide to Setting Up a Dual-Boot on Your Mac with Linux" website that is even simpler ... or if you guys have "dumb-dumb" instructions to follow. I can follow these directions fine, but if I would just like to lower the chance of me doing something stupid while setting this up. (BTW, I can anticipate someone saying, "Linux isn't for dummies, and if you're concerned about it being over your head, you shouldn't attempt this dual boot." To which I'd reply that I'm purposefully underestimating my skills here because I'd rather more safely follow idiot-level instructions than somewhat perilously follow moderate-level instructions. But my request for idiot-level instructions shouldn't be interpreted to mean that I am an idiot.)

Finally, any advice as to Linux variant? Or window manager? Or applications? (Preferably with linkage?) Or general anecdotes about what to do as a Linux beginner?

Why am I doing this? Well, I have pretty much tweaked everything I want to tweak on my Mac, and I would like a new operating system to play around with, and Windows XP might have some interest for me, but it's $190 on Amazon for even just the Home Edition, which is about $190 more than Linux.
posted by WCityMike to Computers & Internet (16 answers total) 2 users marked this as a favorite
 
Okay, well on the Linux terminology thing, I'll give you my take.

"Linux" in the most pure, historical sense, refers only to the piece of software known as the kernel, which lies at the heart of the operating system and performs low-level functions ... basically accessing the hardware, and presenting that hardware to the higher-level software in a consistent way.

A kernel, by itself, isn't terribly useful. You can't do much of anything with it, really. So the Linux kernel gets bundled with a lot of other stuff, so that you the user can actually get work done with it. These packages, which almost always include the Linux kernel, the GNU toolset (mostly command-line tools, including a bunch of compilers), a graphical user interface, and lots of user applications (OpenOffice, Firefox, etc.), are called distributions. Ubuntu, RedHat Enterprise Linux, and Gentoo are all examples of distributions.

However, lots of times people want to refer to ALL distributions which include the Linux kernel collectively ... and this is what is generally called "Linux." It's not really one product, it's more of a whole ecosystem of products. When someone says "I'm running Linux," they could be running any one of many distributions, each with their own GUIs and tools.

To further confuse things, many distributions allow you to choose which high-level GUI you'd like to use. (Ubuntu, for instance, does this...and technically you can do it on any distribution with enough work.)

Within the greater Linux ecosystem, there are two popular GUIs. One is KDE, and the other is Gnome. Both of them are big collections of software themselves, which contain a complete interface for interacting with the computer, manipulating files, configuring things, etc. They're generically called desktop environments.

The KDE "desktop environment" consists of the windowing system called the 'X Window System' (not to be confused with Mac OS X) which is the lower-level framework that actually interfaces with your graphics hardware, and draws pixels on your screen, and the KWin window manager, which manages the appearance and placement of windows on your screen. It's like a referee; each program has a window that it can draw in, but KWin allows you to move each window around independently (instead of only being able to run one application on screen at a time). On top of that, there are separate programs that draw and control the desktop background image, provide the task-bar/application-launcher (similar to the Dock), and let you browse files. In KDE, the program for browsing files is called Konqueror.

It's not that other OSes don't have these distinctions, it's just that they're normally hidden from the user. They're hidden to most casual users of Linux, too -- if you pop in a Ubuntu CD and just go with it, you'll probably never really need to know the difference between a windowing system and a window manager.

Hope that helped.
posted by Kadin2048 at 2:49 PM on August 22, 2007


technically, "Aqua" is the window manager on OS X - the underlying operating system is really a UNIX variant (Darwin). you can do some pretty cool things using X11 that you may want to explore as well.
posted by uaudio at 2:58 PM on August 22, 2007


linux/gnu is really the name of the kernel, which is the core set of routines that do the very basic actions connected with hardware. this can read/write to the disk and mark arbitrary pixels on your screen light on or off.

on top of that runs a library/program that makes drawing windows easier on the screen (so programs can just say "make a window" rather than "draw four lines to make a square, then...). this is called x-windows.

on top of that runs a library/program called a "window manager" (eg kde or gnome) which makes the windows prettier and easier to deal with (it makes sure that when you click your mouse the right thing happens). i am not sure exactly at what point you call things an os, but i personally think of the distros are variations on a single os.

redhat, suse etc package all this up to make neat bundles of software that are easy to install and upgrade. so they are different brands, but really all pretty much the same thing underneath. some distros (brands) will choose a window manager for you, others will let you choose.

i have no experience of putting linux on macs, but after using many distros over the year ended up with suse - it's not very cool, but it's easy to use. i would recommend it. however, i get the impression that ubuntu is currently the most popular (it changes with time). i have no idea if these are suitable for macs or not.

i am surprised you are not using parallels rather than boot camp. that is "virtualisation" rather thn "dual boot" and you are, i think, less likely to damage your machine. if you continue with boot camp you might start buy a second disk and start with that...
posted by andrew cooke at 2:59 PM on August 22, 2007


My preferences go to KDE and Ubuntu or some other Debian-based distribution. Easy to use, even for someone raised largely on windows.
posted by Emperor SnooKloze at 3:00 PM on August 22, 2007


oh, i have some small errors from editing (linux is the kernel, gnu is support libs, shells etc) but that's vaguely it.
posted by andrew cooke at 3:01 PM on August 22, 2007


Oh, and for a distribution I would definitely go with Ubuntu. :)

I'm not an expert on dual-booting, though, so I'll leave that part of your question to others, except to say that in my cursory look around the Ubuntu Apple Intel Forums, there seem to be some resources on dual booting. I'd check there and see if you can find some Ubuntu-specific directions rather than going with generic Debian ones.

It's kind of a bummer that Apple doesn't support Linux in Boot Camp -- I didn't realize that. (I use a PPC Mac and a bog standard x86 Linux PC via a KVM switch, so I hadn't really been paying attention.)
posted by Kadin2048 at 3:02 PM on August 22, 2007


This might sound like a lot of bias, but we're at a point in Linux development where it has never mattered less which variant of Linux you choose. Gnome/KDE, StarOffice/OpenOffice, etc - it almost doesn't matter. If you are just getting into Linux, then get Ubuntu. But don't install it in a partition. Get Vmware or Parallels, which are programs that will allow you to create virtual computers, in which you an install Linux, XP, whatever you like. No using Boot Camp, no partitioning your hard drive. These programs create a big file that represents the hard disk space of a virtual computer. You can download an .iso image of a linux distro, or use an actual CD, to install it into the virtual machine. You can create as many virtual machines as you'd like. If you don't like one, delete it and create a new one, with KUbuntu.
posted by chookibing at 3:07 PM on August 22, 2007


First, I'd appreciate it if you could explain the difference to me between a window manager and a Linux operating system. For example, there is GNOME and KDE, and my understanding is that these are window managers -- and there is Ubuntu and Red Hat, which are operating systems, yes? What does a window manager do that an operating system doesn't? I'm so used to seeing operating systems that are integrated with their window managers (i.e. Mac OS X and Windows) that I'm not sure I understand where one ends and the other begins.

You've basically got it -- in Linux, the operating system ends and the window manager begins. The former does not depend on the latter, so you can run the operating system without a graphic interface (as most Linux web servers do -- safer, simpler to interact with remotely) or choose from a number of graphic interfaces: Gnome and KDE are most analogous to Windows and Mac OSx, but there are a number of more purpose-built interfaces like IceWM or WindowMaker or Enlightenment.

Start with Gnome -- it's most like OSx -- and experiment with others as you experience the desire. Installing and playing with additional window managers is trivially easy once you're up and running.

I, too, look forward to seeing the definitive Mac dual-boot howto link posted below!
posted by gum at 3:23 PM on August 22, 2007


How old is your iMac? Perhaps you could try a 'live' CD first, which boots the operating system off your CD drive, and lets you run your computer as if Linux was installed. The current Ubuntu one can be found here. Download the first image listed (PC (Intel x86) desktop CD - it says it works with "newer Apple Macintosh systems based on Intel processors".) Burn it as a bootable CD, and give it a whirl. It's an awesome opportunity to get your feet wet. BTW, with this CD, you're getting the current release of Ubuntu, running Gnome.
posted by cgg at 3:27 PM on August 22, 2007


I guess I should have mentioned that, in case it wasn't obvious, running a live CD won't change anything on your computer (unless you specifically tell it to.)
posted by cgg at 3:28 PM on August 22, 2007


chookibing is right. virtualization rocks. partioning is like juggling with chainsaws. one little whoops in fdisk and you just lost all the data on the drive. if you do go the partioning route (because you want to squeeze every bit of performance out of your hardware or other geeky reasons) you definitely want a full backup that you know works. (and, btw, a DVD backup sounds flakey, not to mention a huge time suck. Get an external firewire drive and do it right.)

i'm kind of curious why you want a linux distro. if you have a mac, you have a unix system and most the GNU stuff already. Is there a reason you want a linux kernel, specifically?
posted by kamelhoecker at 3:30 PM on August 22, 2007


Running it in a VM to get your feet wet is a good idea -- it'd be possible to screw up your OS X instance if you did something horribly wrong while setting up dual-boot; it'd probably be very hard, if not impossible, to do anything that'd hurt OS X while installing or running Linux virtually. (On preview, playing with a LiveCD is also a good idea.)

I'll nth choosing Ubuntu if you don't have a particular reason to prefer something else. Look to the Ubuntu guide for things you can do with it.
posted by Zed_Lopez at 3:40 PM on August 22, 2007


I'm gonna chime in and repeat, mostly, what others have already said, because I found the wording a little confusing. This is pretty long, but hopefully it's fairly readable and straightforward.

More than most operating systems, Linux is built in layers. At the lowest level, you have the kernel, which is indisputably 'Linux'. The kernel talks to hardware directly, and is responsible for sharing out access to the machine to the many, many programs that will later be running.

By itself, the kernel doesn't do much. You need programs to run on top. The simplest package is Busybox, which is meant for installers; it gives you a tiny, simplistic command-line only operating environment. BusyBox will easily fit on a floppy with lots of room to spare. Busybox + Linux is the smallest possible codespace that you'd consider an operating system, but it's not very useful for user-level work, as it just doesn't do enough.

At the next level, there is a massive suite of utility programs that run at the command line. Just massive. Many of the most central programs available to free operating systems come from the GNU Foundation directly. Most notably, the compilers and the really central runtime libraries are GNU software. As an aside: Richard Stallman, the head honcho of GNU, is kind of a dick, and tries to hijack the Linux success by calling the resulting system GNU/Linux. This is something of a misnomer, since Linux can run perfectly well without any GNU software at all. Installing GNU software on Windows doesn't make it GNU/Windows, so insisting on GNU/Linux is just egotism. But when you see people refer to that term, that's what it means: GNU-based system software combined with the Linux kernel. Nearly all Linux distros use this combination.

Using just the command line tools will give you a perfectly functional OS; in fact, most of the Unix-style servers that you use every day are configured that way, without any kind of a GUI. Unix as a whole ran this way for many many years, everything happening at the command line, like DOS.

But Unix people saw the windowing systems being done by the Mac and others, and wanted something similar. The relatively simple design of PC-class window systems, though, wouldn't work in the mainframe world, where everyone shared access to huge computers from very simple terminals. So they invented a windowing system of their own. It looks similar, but underneath, it's very different.

Just on top of the kernel, they built the window server; this is usually called the 'X Server'. The X server talks directly to the display hardware. It still relies on the kernel for scheduling access and sharing other devices, but it takes over the physical display. Like the kernel, by itself the X Server does nothing at all; it has to be told what to do by user programs.*

The first user program that's normally run in X is the 'window manager'; it handles all window operations, like dragging and resizing and cut and paste, and draws all window decorations, like title bars and resize gadgets. It provides the 'personality' of the system. This is where KDE and GNOME are; they provide a window manager and then a suite of programs underneath. But back in the Old Days, programs that cool hadn't been written yet; rather, you had very simple window managers like 'twm' (The Window Manager) and 'fvwm' (Feeble Virtual Window Manager). They worked, but were very ugly, and the programs that ran under them were equally ugly.

The single most important thing about X is that's designed to work over a network. The normal way to use Big Iron computers at the time was to sit down at your 'cheap' terminal with graphic hardware (which was still astoundingly expensive compared to a PC of the time), and log into the mainframe. All your programs actually ran on the mainframe, and sent window commands back to your terminal.... over the network. This let one mainframe support hundreds or even thousands of clients using it at the same time, displaying graphics locally.

This led to the truthful, but confusing, terminology of X Clients versus X Servers. Your terminal was obviously a client, and ran programs on the server -- the mainframe. But from the program's perspective, they were clients, and your TERMINAL was the server. So your terminal was both a client AND a server at the same time, which has caused endless paragraphs of explanation, just like this one, over the years.

On a modern system, you mostly don't have to think about that, but you can occasionally run into the same terminology... in X, programs are clients (even the window managers are clients), and the actual X Window Server is the server. And it's not used as often anymore, but modern X retains its ability to run over a network, so you can still run remote graphic programs on other computers and have them display in full glory on your local screen. That functionality has been sort of hacked into Windows with the Remote Desktop Protocol, but it's much less elegant, overall. I think OS X offers this ability if you pay Apple a metric assload of money.

So, that's what's going on. You have the kernel talking to the hardware, and command line programs talking to the kernel. Then the X server talks to the display, and the X clients talk to the X server. The window manager is a special X client that provides the personality and 'feel' of the system. It handles window decorations and resizing and moving windows. Overall, the system isn't actually _that_ complex, but as you can see, it takes some explaining to get to that point. :)

If it isn't clear from this, GNOME and KDE are just different window managers with different suites of programs. They use the same underlying server, which for a long time was XFree86, but which was forked into X.org in the last couple of years. X.org is the X Server, and provides the display functionality to all other programs in Linux. Then KDE and GNOME start their window managers, and determine what actually gets displayed and how it looks. X.org has no personality of its own ... all the coolness comes from the window manager you choose.

KDE's mission, overall, is to look like Windows; GNOME's mission seems to be to be as simple as possible. Both have many adherents, and neither, at this point, is demonstrably 'better' except in specific cases. Ubuntu is using a simplified GNOME as default, and I'd probably stick with that while learning. If you get interested in doing some more playing, switch over to KDE and see what you think. You can mix and match freely; you can run the GNOME window manager and still run KDE programs just fine, or vice-versa. Programs from each system tend to take stronger advantage of other programs from the same system... they're more tightly integrated with each other than they are with programs from the other system. In practice, most people stick with their software suite most of the time.

Ok, so, vast amounts of explanation finished, we can now think about actually running Linux on your Mac. As far as I know, Ubuntu now has full Mac support, so you can just download, burn, and go. But Macs, unfortunately, all use ATI graphics, and ATI graphic drivers in Linux are terrible. Since AMD bought out ATI, they've started making serious noise about improving their drivers, so by this time next year I think it will be sorted out. At the moment, though, Linux is likely to be kinda unstable and crashy on your Mac if you try to do anything really neat. Plus, splitting an HFS+ partition and then working out the boot management can be very tricky on Macs, because they use a completely different boot system.

So, like the others, I suggest using virtualization, like VMWare Fusion or Parallels. That will let you get your feet wet on a pretend virtual machine without doing any possible damage to your existing setup. You won't be able to run the really cool stuff like Beryl, the 3D desktop for Linux that's incredibly sexy, but you can run pretty much any 2D program you want.

Note also: if you just want access to the PROGRAMS in Linux, rather than Linux ITSELF, you can get most of them with either DarwinPorts or Fink. You have a perfectly good Unixy kernel, and you can install an X Server from your OS installation disks. After replacing the underpinnings of the system, you can then run damn near any other program you want, both command line and graphical X client. DarwinPorts and Fink make this process fairly easy.

You may prefer this solution; I certainly do. You already have Unix, and you can take advantage of nearly all Unix programs directly without needing Linux at all. And you can do it without giving up what you already have.

* - note, this explanation is oversimplified; that's how modern systems implement X, but I'm unclear on how the first window systems were made. I think they were built more in hardware, and didn't really have a 'kernel' at all. As far as I know, they had no ability to run local programs, depending completely on the mainframe for all functionality.
posted by Malor at 5:56 PM on August 22, 2007 [2 favorites]


Here is my short simple answer after everyone else has given you the tougher parts. Try the Ubuntu live CD. If it works okay on your Mac, and it should, go for the install. Make backups just in case because lightning could strike you or bad things could happen. After you run through the install, your laptop will start with a bootloader asking you "mac or ubuntu?" and then you can choose and you will use that OS. It's surprisingly simple and if you have a spare computer you can Google anything that is happening while it's happening to make sure you're doing it right.
posted by jessamyn at 7:06 PM on August 22, 2007


I dual boot Ubuntu on an Intel Macbook using Boot Camp, and it's pretty easy to install. Follow any one of the tutorials on the Ubuntu forums and you'll breeze through it - graphical installers all the way.
posted by Happy Dave at 10:17 PM on August 22, 2007


Inspired by this post, I decided (for the heck of it) to install Ubuntu onto my iMac. I found this page, which suggests Fusion is better for 7.04, compared to Parallels, if you are going to use a virtual machine. Seems to be installing just fine.

A note for any others who may read this re: a desktop mac: Ubuntu 7.04 doesn't appear to recognize wireless keyboards and mice out of the box (dunno about drivers later) so if you go the full install route, best to have a wired mouse and keyboard available...
posted by birdsquared at 10:22 PM on August 22, 2007


« Older Straws that exist only in artwork   |   Earning Quotes from Quirky Comedians Newer »
This thread is closed to new comments.