Gentoo Wiki ArchivesGentoo Wiki

Apple_Mac_Mini_-_Intel

This article is part of the Hardware series.
Laptops TV Tuner Cards Wireless Servers Storage Other Hardware Motherboards Related

Contents

Status

Task Status
Booting on the Mac works
wired net works
Audio works
IR works
Keyboard fully functional open
Wireless works
Bluetooth should work
X-Windows works
Sensors investigating
Fan control open
CD-data works
CD-music works
DVD-R works
CD-W works
DVD-W NA

Introduction

Purpose

The pupose of this tip is to describe how to install Gentoo on a Mac Mini, Intel machine.

PLEASE NOTE: This is a work in progress, I'm trying find least painful way to get Gentoo onto a Mac Mini, based on the notes I've found on th e net.

References

GRUB stuff

Hardware Spec

System Specifications Processors: 1.50GHz single core Intel Core Solo CPU
Formfactor:
Official Range:
Highest Upgrade:
Speedstep:
Chipset:
Memory type: DDR2 SDRAM
Maximum: 512MB PC2-5300
Video: Intel GMA950
Upgradable: no
Audio:
Cardbus:
Supported OSes: Mac OS X
Other OSes:

lspci

00:00.0 Host bridge: Intel Corporation Mobile 945GM/PM/GMS, 943/940GML and 945GT Express Memory Controller Hub (rev 03)
00:02.0 VGA compatible controller: Intel Corporation Mobile 945GM/GMS, 943/940GML Express Integrated Graphics Controller (rev 03)
00:07.0 Performance counters: Intel Corporation Unknown device 27a3 (rev 03)
00:1b.0 Audio device: Intel Corporation 82801G (ICH7 Family) High Definition Audio Controller (rev 02)
00:1c.0 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 1 (rev 02)
00:1c.1 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 2 (rev 02)
00:1d.0 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #1 (rev 02)
00:1d.1 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #2 (rev 02)
00:1d.2 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #3 (rev 02)
00:1d.3 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #4 (rev 02)
00:1d.7 USB Controller: Intel Corporation 82801G (ICH7 Family) USB2 EHCI Controller (rev 02)
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev e2)
00:1f.0 ISA bridge: Intel Corporation 82801GBM (ICH7-M) LPC Interface Bridge (rev 02)
00:1f.1 IDE interface: Intel Corporation 82801G (ICH7 Family) IDE Controller (rev 02)
00:1f.2 IDE interface: Intel Corporation 82801GBM/GHM (ICH7 Family) SATA IDE Controller (rev 02)
00:1f.3 SMBus: Intel Corporation 82801G (ICH7 Family) SMBus Controller (rev 02)
01:00.0 Ethernet controller: Marvell Technology Group Ltd. 88E8053 PCI-E Gigabit Ethernet Controller (rev 22)
02:00.0 Ethernet controller: Atheros Communications, Inc. AR5006EG 802.11 b/g Wireless PCI Express Adapter (rev 01)
03:03.0 FireWire (IEEE 1394): Agere Systems FW323 (rev 61)

Preparation

Installing the sw

  1. Get bootcamp http://www.apple.com/macosx/bootcamp
  2. Divide HD, I picked 20GB for the Gentoo part
  3. Insert the Gentoo CD when bootcamp ask for a cd
    • or insert the cd and hold 'C' down during boot.
    • PLEASE NOTE: to get back to booting from the HD you have to hold down the 'option' button, aka 'alt' key
    • To eject the CD during boot: hold down the eject button, triangle with a line under it. Top right on some mac keyboards.
  4. net-setup eth1
    • My system wont autoconfigure the network.
    • eth1 is the wired net,eth0 is the wireless.
  5. fdisk /dev/sda
  6. t (change type)
  7. 3 (partition 3)
  8. 83 (linux)
  9. w
    • there will be no swap partition, I couldn't get bootcamp to see the partiontions when I had created 4 partitions.
  10. Follow the gentoo handbook.
    • mke2fs -j /dev/sda3
Disk /dev/sda: 60.0 GB, 60011642880 bytes
255 heads, 63 sectors/track, 7296 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1          26      204819+  ee  EFI GPT
/dev/sda2              26        4595    36700160   af  Unknown
/dev/sda3            4611        7296    21569048    b  W95 FAT32


The finished thing.

fdisk -l /dev/sda

Disk /dev/sda: 60.0 GB, 60011642880 bytes
255 heads, 63 sectors/track, 7296 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1          26      204819+  ee  EFI GPT
Partition 1 does not end on cylinder boundary.
/dev/sda2              26        4595    36700160   af  Unknown
Partition 2 does not end on cylinder boundary.
/dev/sda3   *        4596        7295    21687750   83  Linux
mke2fs 1.39 (29-May-2006)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
2698080 inodes, 5392262 blocks
269613 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=8388608
165 block groups
32768 blocks per group, 32768 fragments per group
16352 inodes per group
Superblock backups stored on blocks:
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
        4096000

Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 24 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.

Configuration

Make system

File: /etc/make.conf
# Please consult /etc/make.conf.example for a more detailed example.
CFLAGS="-march=prescott -O2 -pipe -fomit-frame-pointer"
CXXFLAGS="${CFLAGS}"
# This should not be changed unless you know exactly what you are doing.
# should probably be using a different stage, instead.
CHOST="i686-pc-linux-gnu"

MAKEOPTS="-j2"

VIDEO_CARDS="i810"

ALSA_CARDS="hda-intel"

LIRC_DEVICES="macmini"

LINGUAS = "en"

USE_XMLTV="dk tv_check tv_pick_cgi"

USE_MOBILE_PHONE="sms usb"

USE_CPU_FLAGS="mmx sse sse2"

USE_CODECS="a52 aac mjpeg win32codecs quicktime vorbiss x264 xvid"

USE_CD="cdparanoia"

USE_DVD="dvd dvdread encode subtitles"

USE_GRAPHICS="exif gif jpeg jpeg2k png tiff"

USE_SENSORS="-sensord"

USE_X="X truetype stroke"

USE_DISABLE="-gtk -gnome -ipv6"
USE1="${USE_SENSORS} ${USE_XMLTV} ${USE_MOBILE_PHONE} ${USE_CPU_FLAGS} ${USE_CODECS} ${USE_GRAPHICS} ${USE_DVD}"
USE2="apache2 alsa amr lirc macmini mbrola mplayer mysql nfs nls nptl nptlonly nxclient qt snmp sqlite v4l vnc"
USE3="bzip2 server lm_sensors diskio"
USE4="${USE_CD}"
USE="${USE_DISABLE} ${USE_X} ${USE1} ${USE2} ${USE3} ${USE4}"

SYNC="rsync://c3jane/gentoo-portage"

Kernel Configuration

Linux Kernel Configuration: General/linux-2.6.22-gentoo-r5
Processor type and features --> 
  Processor family --> 
    Pentium-4/Celeron(P4-based)/Pentium-4 M/older Xeon 
Power management options --> 
Bus options (PCI, PCMCIA, EISA, MCA, ISA)  --->
  [*]   PCI Express support
Networking  --->
  <*>   IrDA (infrared) subsystem support  --->                    
  <*>   Bluetooth subsystem support  ---> 
     <*>   L2CAP protocol support
     <*>   RFCOMM protocol support
     <*>   BNEP protocol support
     Bluetooth device drivers  --->
        <*> HCI USB driver
  <*> Serial ATA (prod) and Parallel ATA (experimental) drivers
     <*>   Intel ESB, ICH, PIIX3, PIIX4 PATA/SATA support

Device Drivers --->

  Network device support  --->
        <*>   SysKonnect Yukon2 support (EXPERIMENTAL)
  Character devices  --->
     <*> Direct Rendering Manager (XFree86 4.1.0 and higher DRI support)
     <*>   Intel 830M, 845G, 852GM, 855GM, 865G (i830 driver)  --->
        (X) i915 driver
  <*> I2C support  --->
     <*>   I2C device interface 
     I2C Algorithms
        <*> I2C bit-banging interfaces
     I2C Hardware Bus support  --->
        <*> Intel 82801 (ICH)
        <*> Intel PIIX4 and compatible (ATI/Serverworks/Broadcom/SMSC)
  <*> Hardware Monitoring support  --->
     <*>   Intel Core (2) Duo/Solo temperature sensor
     <*>   Apple SMC (Motion sensor, light sensor, keyboard backlight)
  Graphics support  --->
     Display device support  ---> 
        <*> Display panel/monitor support
        <*> Support for frame buffer devices 
        <*> Intel 830M/845G/852GM/855GM/865G/915G/945G support (EXPERIMENTAL)
  Sound  ---> 
     Advanced Linux Sound Architecture  --->
       PCI devices  --->
          <*> Intel HD Audio
Bus Options --> 
 Device Drivers  --->
     ATA/ATAPI/MFM/RLL support  --->
     Input device support  --->
        [*]   Mouse  --->
     Character devices  --->
     Graphics support  --->
      Sound  --->
        <*> Sound card support 
           Advanced Linux Sound Architecture  --->


GRUB

See: Apple MacBook#Grub 0.97-r3 and Later

  1. grep -v rootfs /proc/mounts > /etc/mtab
  2. emerge grub
  3. grub-install --no-floppy /dev/sda3
  4. nano /boot/grub/grub.conf
File: /boot/grub/grub.conf
#
# $Id:$

# Boot automatically after 30 secs.
timeout 30

# By default, boot the first entry.
default 0

# Fallback to the second entry.
fallback 1

splashimage=(hd0,2)/boot/grub/splash.xpm.gz

#

title  Gentoo-2.6.12-r10 -0F02
root   (hd0,2)
kernel /boot/bzImage vga=0x0F02

# Change the colors.
title Change the colors
color light-green/brown blink-red/blue

Please note that I have the Gentoo in one partition on /dev/sda3 Image:Example.jpg

Xorg

  1. emerge xorg-x11
  2. Xorg -configure
  3. X -config /root/xorg.conf.new
  4. cp /root/xorg.conf.new /etc/X11/xorg.conf

For a window manager and graphical login see:

File: /etc/X11/xorg.conf
# XFree86 4 configuration created by pyxf86config

rc.conf

File: /etc/rc.conf


Builtin IR Remote

I am using lirc-0.8.3_pre1 with USE="X kernel_linux lirc_devices_macmini" and my Mac Mini runs 2.6.24-gentoo-r2-mactel. I created a hiddev-node with

mknod /dev/usb/hiddev0 c 180 96

and configured my /etc/conf.d/lircd in this way:

File: /etc/conf.d/lircd
LIRCD_OPTS="-H macmini -o /dev/lircd -d /dev/usb/hiddev0"

My lircd-config-file contains the following

File: /etc/lircd.conf
begin remote

  name  macmini
  bits            8
  eps            30
  aeps          100

  one             0     0
  zero            0     0
  pre_data_bits   24
  pre_data       0x87EE0A
  gap          211988
  toggle_bit_mask 0x0

      begin codes
          play                     0x04
          up                       0x0B
          down                     0x0D
          left                     0x08
          right                    0x07
          menu                     0x02
      end codes

end remote

Now just do a

/etc/init.d/lircd start

and you should be good to go. You can test your configuration with

irw /dev/lircd

Lirc needs to run, otherwise you will get a "connect: Connection refused"

If this does not work: Check that you have

CONFIG_HID_SUPPORT=y
CONFIG_HID=y
CONFIG_USB_HID=y
CONFIG_USB_HIDDEV=y

in your kernel. I am not sure if you need all of them, but I have them built in.

Just a node at the end: You do NOT need to load any lirc-module! I read a few times that you need to modprobe the lircd-modules. But I think this is obsolete.


Wired Network

Works out of the box with the sky2-driver. You need

CONFIG_SKY2=m

in your kernel. The driver was very buggy in older kernel version. But with recent ones it runs without any problems. At the time of writing 2.6.24.2 is the latest.

Telling bootcamp to boot Gentoo

  1. reboot
  2. eject the cd
    • Hold the eject button on the keyboard,
  3. reboot
  4. hold 'alt/option' key during reboot
  5. Select the harddisk as boot media,
    • it should boot into Mac OS X
  6. In OS X, select System preference
  7. Select start disk
  8. Select your Gentoo partion
  9. reboot


Testing

Trouble shooting

eject not found

Problem
eject not found
Solution
emerge --pretend --verbose eject


lirc - OPEN

Problem
when starting e.g. irw it dies /var/log/message says: unable ot access /dev/lirc/0
Solution
 ???
working the issue
  • Attaching the streamzap, it works fine, emerging the streamzap actualy produces a loadable module, I wonder why the minimac doesn't do that.
Solved?

My bultin remote works, I have posted a guide in the Configuration-Section on this article. Hope it helps. If it does, please remove this.

wont play cd's

Problem
No stream found to handle url cdda://
Solution
add the use flag 'cdparanoia'

Tried and failed

  1. fdisk /dev/sda
    • please notice the odd jump from sda2 end to sda3. Don't know why, but not planning on mucking around with it.
    • For some reason there is no /dev/sda4 in the /dev dir, I hope it's there at next boot, so the installation will be without a swap.

It seems like creating additional partitions gets bootcamp confused. Insert non-formatted text here

Problems

grub-install --no-floppy --recheck /dev/sda3
Probing devices to guess BIOS drives. This may take a long time.
The file /boot/grub/stage1 not read correctly.
grub-install --no-floppy --root-directory=/boot /dev/sda3
The file /boot/boot/grub/stage1 not read correctly.

Same as: http://www.mail-archive.com/bug-grub@gnu.org/msg11053.html

grub> root (hd0,2)
 Filesystem type unknown, partition type 0x83

grub> root (hd0,
 Possible partitions are:
   Partition num: 0,  Filesystem type unknown, partition type 0xee
   Partition num: 1,  Filesystem type unknown, partition type 0xaf
   Partition num: 2,  Filesystem type unknown, partition type 0x83
   Partition num: 3,  Filesystem type unknown, partition type 0x82

--Shadowrun 23:14, 21 September 2007 (UTC)

This problems can be solved if you make the partitions with boot camp (one macOsX and one for guinDos) If you only use rEfit to allocate free space and then you make the partitions with fdisk (in gentoo) you will never be able to install the mbr on partition /dev/sda3. I know cos I used a hole day to figure this out. So the steps are.

-Update Mac Os X 10.4 -> 10.5 (here you have boot camp) -Make two partitions with boot camp: one for mac os x and one for windows. -Download and burn rEfit, install it on mac os x partitions (HFS+)

Follow the rest of the guide. Very cool guide.

--genTauro 23:33, 01 Marts 2008 (UTC)

Headless Operation

The machine will not boot without a monitor attached. Connecting pins 2 and 7 of the analog VGA connector with a 75 ohm resistor fixes this. A 47 to 100 ohm resistor would probably work as well. A paperclip may work but its use could cause damage to the video adapter.

Retrieved from "http://www.gentoo-wiki.info/Apple_Mac_Mini_-_Intel"

Last modified: Fri, 29 Aug 2008 13:57:00 +1000 Hits: 16,199

Created by NickStallman.net, Luxury Homes Australia
Real estate agents should list their apartments, townhouses and units in Australia.