Installation on MacBook Pro Intel Core 2 Duo (x86)

From openSUSE


Contents

How to install SuSE 10.2 on a macbook/macbook pro

I have just finished installing suse 10.2 on to a macbook pro (MBP) so that it dual boots with macosx(one of the new core 2 duo intel machines (EDIT: I apologise, my machine is actually a macbook dual core not macbook pro dual core...dunno how the hell I made this mistake, but reports are that these instructions definitely work for the pro -31/01/07))...It took me a while to do so I thought I'd post these instructions. Note I have not included links to download progs (just google for them) and I assume that you know how to install stuff in macosx. If you have any problems, you can occasionally catch me on the jacklab irc channel at irc.feenode.net as sus64er or email me at ben dot d dot bones at gmail dot com

I am writing these instructions entirely from memory, so forgive me for any mistakes. I will double check them soon and make any corrections thereafter. Instructions validated


Partitioning and basic installation


(1) Download and install Boot camp beta from the apple site. The thing that this is good for is to resize the mac partition making room for linux. I shrunk the mac partition, leaving 30GB for linux (but feel free to make even more/less room etc).

(2) Resize partitions with bootcamp *ALTERNATIVE to THIS: use the non-BootCamp command line partitioning method described in Triple Boot Via Boot Camp.

(3) Download and install rEFIt. This is a boot menu prog similar to grub and will allow you to later choose linux to boot up/macosx etc.

(4) Shut down / reboot mac book pro. Reboot with SuSE install dvd/cdrom in drive.

(5) Linux icon should appear in refit screen representative of the install cd. Select it. SuSE install CD boots

      • NOTE: Quite alot of the time, the keyboard fails to work with the SuSE install menu (with install/rescue/ options) and it just hangs on the `boot from hard-drive option'. This is clearly a bug. However I found that about 1/5 times, the keyboard is indeed recognized allowing one to select the install option. Therefore just keep rebooting and repeating from step 4 until keyboard is recognised***

((apparently using an external usb keyboard solves this problem - will confirm speculatrix))

      •  ??? how do I do the reboot, haven't found a shortcut for reboot, and have to turn machine off with the power button??

(6) When keyboard finally works with menu select install

(7) SuSE install process starts. Custom partition. You should see 3 partitions. Do not delete 1 and 2 unless you want to completely remove osx. You should also see partition 3. This is reserved for linux. Note that the EFI partitioning scheme used by apple allows only a max of 4 partitions. Partitions 1 and 2 are used by macosx. Therefore we can do one of three things:

(a) Remove third partition and create one root partition and 1 swap partition. For this option /home will reside within the root partition.

(b) Remove third partition and create one root partition and 1 home partition. For this option, /home will reside within its own partition. However there will be no swap (but you can later set up a swap file).

(c) If you have already installed Windows on /dev/sda4 according to Triple Boot Via Boot Camp then you can install openSUSE to /dev/sda3 by using the "expert" partitioning option to "create custom partitions" and simply create a single ext3 partition / on /dev/sda3, ignoring the two warnings.

I chose option a.

(8) When you have your 4 partitions making sure remeber that 1 and 2 are *not* formatted (but clearly 3 and 4 will be as, say ext3 and swap), you can install as normal. Install openSUSE as you wish: pay attention to the "Details" section of the package selections and remember if you have a MacBookPro you'll need the following to build the ATI fglrx drivers, according to the ATI Howto:

   * kernel-source
   * qt3
   * compat
   * compat-libstdc++
   * libstdc++
   * libstdc++-devel
   * libgcc
   * xorg-x11-libs
   * xorg-x11-devel
   * Mesa
   * Mesa-devel
   * fontconfig
   * fontconfig-devel
   * expat
   * freetype
   * freetype2
   * freetype2-devel
   * zlib
   * zlib-devel
   * libdrm (must be version 2.3 or >)

You can quickly find these, and other desired packages, by using the "search" filter in "package selections."

After selecting the packages you want (and removing those you don't), make sure you switch to the "expert" tab and click on "boot." It gives you the option to install GRUB (default) or LILO. Choose LILO. Add "noapic acpi=force irqpoll" to the "boot options" line. After verifying that LILO will be installed to the root partition of /dev/sda3, and adding the boot options, you are ready to install.

(9) When finished up reboot

Installation of LILO boot loader


(10) When refit menu opens, select the small icon (not the big macosx or linux cd launch icon) referring to partitioning. It will say something about syncing the partitions together. Select yes.

(11) Reboot and select linux cd boot. When you have gotten keyboard to work, select rescue from menu. This will lanch a rescue shell. When you have shell and logged in as root do as follows within the shell:

(i) mount linux partition:

mount /dev/sda3 /mnt

(ii) mount proc and dev

mount -t proc none /mnt/proc
mount -o bind /dev /mnt/dev

(iii) chroot in to environment

chroot /mnt /bin/bash

(11b) copy partiion table info to mtab:

grep -v rootfs /proc/mounts > /etc/mtab

(12) Now we are in linux environment. We can install our bootloader. For this we will require lilo. If, like when I installed I forgot to install lilo, we can install it from install dvd (If you installed LILO at installation time skip to step (15):

cd /mnt
mkdir cdrom
mount /dev/hda /mnt/cdrom
cd cdrom 
cd suse/i586/ (I think this is the directory)
rpm -Uvh lilo-22.7-43.i586.rpm (This is for OpenSUSE 10.2)

(13) Create lilo.conf script. This should reside in /etc directory. Therefore:

cd /etc
touch lilo.conf
vi lilo.conf

(14) edit lilo.conf. Create as follows...

boot=/dev/sda
default=SuSE
timeout=20

image=/boot/vmlinuz-2.6.18-rc2
      label=SuSE
      append="root=/dev/sda3 quiet sysrq=1"

(15) Save lilo.conf. Install lilo by simply running

lilo

This will put bootloader on to /dev/sda3

(16) Hopefully it'l report something like added linux.

Screen resolution


(17) Reboot. Select linux from rEFIt menu. SuSE should boot.

(18) Although the screen resolution might be reported at 1280x800 this is a falacy and is actually only 1024x768. To get maximum screen resolution, you need to login as root and use the utility 915resolution. This is installed as default.

(19) Issue the following command as root:

915resolution -

This will list all of the available resolutions. Choose one that you know you'll never use and note the hex value.

(20) To get proper resolution, do

915resolution 58 1280x800

...or whatever one you want

I had to use the following:

915resolution 3c 1280 800 24

(21) To have correct resolution at boot-up add the above command to your /etc/rc.d/boot.local file