Apple Mac Mini - Intel
From Gentoo Linux Wiki
| Laptops • TV Tuner Cards • Wireless • Servers • Storage • Other Hardware • Motherboards • Related |
Contents |
[edit] 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 |
[edit] Introduction
[edit] 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.
[edit] References
- http://www.sowerbutts.com/linux-mac-mini/
- http://www.linuxdevices.com/news/NS8464432110.html
- http://arstechnica.com/reviews/hardware/macmini.ars
- http://support.apple.com/specs/macmini/Mac_mini_Early_2006.html
- http://lsb.blogdns.net/2006/05/09/linux-on-the-intel-mac-mini
- http://www.madingley.org/macmini/
- http://www.mactel-linux.org/wiki/Main_Page
[edit] GRUB stuff
- http://refit.sourceforge.net/myths/
- http://refit.sourceforge.net/myths/
- http://www.mactel-linux.org/wiki/Boot_Alternatives
- http://wiki.onmac.net/index.php/Triple_Boot_via_BootCamp#Boot
[edit] 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: |
[edit] 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)
[edit] Preparation
[edit] Installing the sw
- Get bootcamp http://www.apple.com/macosx/bootcamp
- Divide HD, I picked 20GB for the Gentoo part
- 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.
- net-setup eth1
- My system wont autoconfigure the network.
- eth1 is the wired net,eth0 is the wireless.
- fdisk /dev/sda
- t (change type)
- 3 (partition 3)
- 83 (linux)
- w
- there will be no swap partition, I couldn't get bootcamp to see the partiontions when I had created 4 partitions.
- 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.
[edit] Configuration
[edit] 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"
|
[edit] 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 --->
|
[edit] GRUB
See: Apple MacBook#Grub 0.97-r3 and Later
- grep -v rootfs /proc/mounts > /etc/mtab
- emerge grub
- grub-install --no-floppy /dev/sda3
- 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
[edit] Xorg
- emerge xorg-x11
- Xorg -configure
- X -config /root/xorg.conf.new
- 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 |
[edit] rc.conf
| File: /etc/rc.conf |
|
|
[edit] 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.
[edit] 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.
[edit] Telling bootcamp to boot Gentoo
- reboot
- eject the cd
- Hold the eject button on the keyboard,
- reboot
- hold 'alt/option' key during reboot
- Select the harddisk as boot media,
- it should boot into Mac OS X
- In OS X, select System preference
- Select start disk
- Select your Gentoo partion
- reboot
[edit] Testing
[edit] Trouble shooting
[edit] eject not found
- Problem
- eject not found
- Solution
- emerge --pretend --verbose eject
[edit] 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.
[edit] wont play cd's
- Problem
- No stream found to handle url cdda://
- Solution
- add the use flag 'cdparanoia'
[edit] Tried and failed
- 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
[edit] 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)
[edit] 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.
