|Deletions are marked like this.||Additions are marked like this.|
|Line 31:||Line 31:|
|Make sure you've received the latest apple updates in OS X. This is needed, because the latest updates include a BIOS compatibility layer, we are going to use to boot Debian.
Boot from the CD, you might have to hold C while booting. Before setting up partitions in the installer, press ALT+F2.
At the prompt, you are going to wipe the whole disk:
|Asegúrate de haber recibido las últimas actualizaciones de apple en OS X. Esto es necesario porque las últimas actualizaciones incluyen una capa de compatibilidad con la bios, la vamos a usar para arrancar Debian.
Arranca desde el CD, deberás presionar C mientras arranca. Antes de establecer las particiones en el instalador, presiona ALT+F2. Ahora vamos a limpiar el disco entero:
|Line 39:||Line 39:|
|This clears the whole disk ('''remember: all data is lost'''), and most importantly, it deletes the GPT partition table. Switch back to the installer with pressing ALT+F1 and continue installation as normal. Remember to install the boot loader to the MBR (/dev/sda), and not to the partition boot record (like when installing with rEFIt)!||Esto limpiara el disco entero (recuerda: todos los datos están perdidos), y lo más importante, se borra la tabla de partición GPT. Vuelve al instalador presionando ALT+F1 y continúa la instalación normal. Acuérdate de instalar el cargador de arranque en el MBR (/dev/sda), y no en la partición de arranque (como cuando instalamos con rEFIt)!|
Traducción NO OFICIAL(se admiten ayudas y rectificaciones) español de la página [http://wiki.Debian.org/MacBook Macbook]
Languages [http://wiki.Debian.org/MacBook english]
Thread available [http://lists.debian.org/debian-devel/2006/07/msg00008.html here]
grub-efi is in sid but it doesn't work as of 14 May 2007 (Bug: Please add a link to the bugreport here!).
elilo does not work (Bug: [http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=376002 #376002])
Debian Etch on a MacBook HOWTO (triple-boot) at:
Triple boot (inc. Debian Etch) at:
Boot process described is rEFIt to LILO to Linux (as discussed in above-linked thread.)
Particionado & Instalación (arranque simple)
CUIDADO: perderás Mac OS X y todos los demás datos en el MacBook si sigues este método.
Metodología: usa el método de compatibilidad de la bios para arrancar Debian borrando la tabla de partición GPT del disco.
Asegúrate de haber recibido las últimas actualizaciones de apple en OS X. Esto es necesario porque las últimas actualizaciones incluyen una capa de compatibilidad con la bios, la vamos a usar para arrancar Debian.
Arranca desde el CD, deberás presionar C mientras arranca. Antes de establecer las particiones en el instalador, presiona ALT+F2. Ahora vamos a limpiar el disco entero:
# dd if=/dev/zero of=/dev/sda
Esto limpiara el disco entero (recuerda: todos los datos están perdidos), y lo más importante, se borra la tabla de partición GPT. Vuelve al instalador presionando ALT+F1 y continúa la instalación normal. Acuérdate de instalar el cargador de arranque en el MBR (/dev/sda), y no en la partición de arranque (como cuando instalamos con rEFIt)!
Multiarranque (OS X & Debian)
Particionamiento (via OS X)
Before you're able to install Debian, you need to repartition the disk; supposing you want to reserve 20GB for your OS X partition, run the following command from a terminal (Applications -> Utility -> Terminal):
Mac OS X $ sudo diskutil resizevolume disk0s2 20G Started resizing on disk disk0s2 Macintosh HD Verifying Resizing Volume Adjusting Partitions Finished resizing on disk disk0s2 Macintosh HD WARNING: You must now reboot!
Support for the resizevolume verb was added in Mac OS X 10.4.6. If you have an earlier version, you'll need to upgrade.
Preparación previa para el arranque dual (via OS X): rEFIt
Now [http://prdownloads.sourceforge.net/refit/rEFIt-0.8.dmg?download download (0.8)] and install [http://refit.sourceforge.net/ rEFIt]. For the the manual way (which is not needed) read the [http://refit.sourceforge.net/doc/c1s1_install.html rEFIt install documentation].
it's now possible to proceed with installing Debian.
Boot from the CD (hold down C while booting) and proceed with the installation.
If you have strange keyboard problems (double keypresses) or other problems while booting from the install CD, use the following command line on the boot prompt:
install noapic irqpoll acpi=force
If you cannot type anything in the CD/DVD boot prompt (I found this problem on a MacBook Core 2 Duo), you can fix by using USB-attached keyboard. This problem seems to be related to refit, since disabling it and booting while holding the C button pressed (boots directly from CD) fixes this. (It seems that booting after the real power-off seems to have less problem than reboot with "shutdown -r now". Also it seems to help situation a bit better by not pressing keyboad except when needed.)
When you reach the "Install the GRUB boot loader on a hard disk" step, switch to the second virtual console by pressing ctrl-option-F2, press return to start/ the shell, and then enter
chroot /target aptitude install refit /target/sbin/gptsync /dev/sda
and enter 'y' at the prompt. (This syncs the [http://en.wikipedia.org/wiki/Master_Boot_Record MBR] from the [http://en.wikipedia.org/wiki/GUID_Partition_Table GPT], which were made out of sync by parted). On amd64 there is no refit package ([http://bugs.debian.org/383802 bug 383802] which is waiting for [http://bugs.debian.org/383801 bug 383801]). One solution I used is to start the installation, partition your hard disk, reboot and do the gptsync with the refit shell and then install
Switch back to the first virtual console by pressing ctrl-option-F1 and select <Go back> in response to the "Install the GRUB boot loader to the master boot record". Choose "Install the LILO boot loader on a hard disk" from the main menu and choose /dev/sda3 for the LILO installation target. Do not install LILO to the MBR! When the installer asks if you want to make this partition active, choose "No."
The GRUB included with Debian 4.0 Etch (GRUB 0.97-10 or greater) is compatible with MacBook if you configure proper MBR/GPT hybrid. Although it was possible to install GRUB during the initial d-i install with many manual fiddling processes of MBR/GPT synching, I recommend you to install LILO initially as above and install GRUB to /dev/sda3 and/or /dev/sda4 later for the ease of process and ease of updating kernel. "rEFIt " on OS X does not like anything other than MSDOS or HFS+ for file system description in GPT table when executing gptsync to create matching MBR record. So I makeked Linux partitions as MSDOS before executing gptsync. I used both disked for GPT and fdisk for MBR. Once youmark MBR with the proper file system type(eg. 83), GRUB is happy to boot Debian by looking into FS and finding files.) Here is an example of /boot/grub/menu.lst for dual booting 486 and amd64 systems:
timeout 10 default 0 fallback 1 # For booting GNU/Linux (For frozen keyboard) title GNU/Linux64-safe root (hd0,2) kernel /boot/vmlinuz-2.6.18-4-amd64 root=/dev/sda3 initrd /boot/initrd.img-2.6.18-4-amd64 # For booting GNU/Linux title GNU/Linux64 root (hd0,2) kernel /vmlinuz root=/dev/sda3 initrd /initrd.img # For booting GNU/Linux title GNU/Linux64.old root (hd0,2) kernel /vmlinuz.old root=/dev/sda3 initrd /initrd.img.old # For booting GNU/Linux title GNU/Linux32 root (hd0,3) kernel /vmlinuz root=/dev/sda4 initrd /initrd.img # Change the colors. title Change the colors color light-green/brown blink-red/blue
(Linux kernel is GPT-aware thus swap partition maybe located places such as /dev/sda7)
The following features work
- Ethernet (as of kernel 2.6.16) (works out-of-the-box)
- Video (requires installation of 915resolution)
- Sound (as of kernel 2.6.18) (works out-of-the-box)
- CD-R (works out-of-the-box)
- backlight (works out-of-the-box)
- bluetooth (works out-of-the-box)
(See below for more)
Devices to be confirmed
Backlight + CD Eject button
Backlight keys (Fn+F1 and Fn+F2) work using [http://www.technologeek.org Julien Blache's] [http://packages.debian.org/pommed pommed] (there is a new project homepage at [http://alioth.debian.org/projects/pommed/ alioth]); you can even turn off the backlight using the keyboard; pommed also enables the CD Eject button's functionality, Fn behaviour and remote control. Besides, you can also install [http://packages.debian.org/gpomme gpomme]: a GTK+ client suitable for all environments(you should start it when your session starts) and [http://packages.debian.org/wmpomme wmpomme](a ?WindowMaker dockapp)
To install pommed you need to update your /etc/apt/sources.list file with the correct repository, check where pomme is currently available and add it. Then run apt-get update, and then apt-get install pommed. If you use the latest version 1.3, you might get a warning that you might cause harm to your machine, if you get that, use the previous version instead to see if you get the same warning.
To get video to work properly, you need to adjust the resolution using
the [http://packages.debian.org/915resolution 915resolution] package:
aptitude install 915resolution
This is all that you have to do: 915resolution automatically sets the correct video modes, and X is configured properly (presuming that you selected the 1280x800 mode during install, which it should default to).
This adds the monitor's actual resolution to the Intel 915's video modes. Without this, you will get 1024x768 (the biggest normal size that fits), which is rescaled and fuzzy.
The video chipset shipped with Macbook is 945GM.
See also an [http://sourceforge.net/mailarchive/forum.php?thread_id=20229481&forum_id=47881 xorg.conf file] which enables use of an external monitor.
ALSA driver snd_hda_intel works for playback as of 2.6.18-rc1.
MacBook with Debian 4.0 Etch has no problem with sound. Although, you may need to run alsaconf as root.
If you hear any distortions even when all of the mixer settings are at least 20% below their maximum, it might help to load snd-hda-intel with the 'position_fix=1' option. In the file /etc/modprobe.d/alsa-base, change the line
install snd-hda-intel /sbin/modprobe --ignore-install snd-hda-intel $CMDLINE_OPTS && /lib/alsa/modprobe-post-install snd-hda-intel
install snd-hda-intel position_fix=1 /sbin/modprobe --ignore-install snd-hda-intel $CMDLINE_OPTS && /lib/alsa/modprobe-post-install snd-hda-intel
Add 'non-free' to your main Debian repository then update your packages list with
Install the madwifi kernel module source and the ability to compile it
aptitude install madwifi-source madwifi-tools module-assistant
m-a prepare m-a a-i madwifi depmod -a modprobe ath_pci
See [http://madwifi.org/wiki/UserDocs/Distro/Debian/MadWifi] for more details.
Install wireless support
aptitude install wireless-tools
See [http://www.linuxcommand.org/man_pages/iwconfig8.html] for more details on iwconfig
To start wireless up on boot, add the following to /etc/network/interfaces (unless you intend to use network Manager, in which case you don't need this)
# Starts the Atheros / madwifi wireless on boot auto ath0 iface ath0 inet dhcp
Caveat: The airport card in the newest MacBook (PCI-ID 168c:0024) is working with a svn version from madwifi (with WPA support).
The quick and ugly way until 0.9.30.13 or later is available as .deb package:
svn checkout http://svn.madwifi.org/branches/madwifi-hal-0.9.30.13 cd madwifi-hal-0.9.30.13/ make make install
apt-get install wget wget http://snapshots.madwifi.org/madwifi-hal-0.9.30.13-current.tar.gz tar zxfv madwifi-hal-0.9.30.13-current.tar.gz cd madwifi-hal-0.9.30.13/ make make install
To enable the right Apple key, in X, to alt-gr, add the "?XkbOptions" line below in /etc/X11/xorg.conf
Section "InputDevice" Identifier "Generic Keyboard" Driver "kbd" Option "CoreKeyboard" Option "XkbRules" "xorg" Option "XkbModel" "pc105" Option "XkbLayout" "it" Option "XkbOptions" "lv3:rwin_switch" EndSection
and to do the same for the Linux console adding the line below to /etc/console-tools/remap
s/keycode 126 =/keycode 126 = AltGr/;
If two specific keys ("§" and "<" on german layouts) are swapped then add apple:badmap to ?XkbOptions (again in /etc/X11/xorg.conf and separated by a comma) for X11 and edit /etc/console-tools/remap for the Linux console.
If you want to use the Synaptics touchpad add these lines to /etc/modprobe.d/
install usbhid /sbin/modprobe appletouch; /sbin/modprobe --ignore-install usbhid $CMDLINE_OPTS
Then add appletouch to /etc/initramfs-tools/modules and then run update-initramfs
If you want to change the bahaviour of the Fn-keys look at /etc/pommed.conf after you've installed pommed. (Or look at the parameters of the hid kernel module.)
[http://www.webalice.it/zinosat/macbook/macbook_kb.jpg Italian keyboard]
[http://flickr.com/photos/brianwc/151797592/ U.S keyboard]
Alternatively you can work around this with xmodmap and xkbset. xkbset is useful for emulating mouse buttons with the keyboard.
xmodmap -e "keycode 115 = Alt_L" # left-apple xmodmap -e "keycode 116 = Zenkaku_Hankaku" # right-apple xmodmap -e "keycode 108 = Pointer_Button3" # KP-ENTER xmodmap -e "keycode 204 = Pointer_Button2" # eject xkbset m
Has anyone made the fn key work? --> Yes, even on the newer MacBook(osamu). Apply the mactel-linux patch to the kernel and recompile it! The use of [http://packages.debian.org/pommed pommed] program as written above makes it work better. (I recompiled the current Debian version of 2.6.18 source with the mactel-linux patch [is that the Etch version of 2.6.18?]. This patch solves issues for fn-arrows and fn-Fn keys for the newer ?MacBooks while addressing few other issues.)
[http://bugs.debian.org/379789 #379789] has been filed to track down a problem with keymap
To work around issues of missing/unresponsive keys on the MacBook Japanese models, see MacBookJp for helpful scripts (Japanese page but scripts are in English. The real fix needs to happen in the kernel source drivers/usb/input.).
CPU frequency scaling is governed by SPEEDSTEP_CENTRINO kernel module.
echo speedstep_centrino >> /etc/modules
Use the usual HID device; kernel patch available as of 2006-07-17.
Sample userland utility implementation http://www.netfort.gr.jp/~dancer/diary/junk2006/20060712-usb-macbook-ir.c
If the appleir driver is also compiled as a module, change the line described in the keyboard section of this page to the following, so appletouch and appleir get loaded before usbhid:
install usbhid /sbin/modprobe appletouch; /sbin/modprobe appleir; /sbin/modprobe --ignore-install usbhid $CMDLINE_OPTS
Also add appleir to /etc/initramfs-tools/modules and re-run update-initramfs .
iSight works with linux-uvc drivers with patches. It is installable with
# aptitude install linux-uvc-source linux-uvc-tools
Once the source and tools are installed, then:
# m-a prepare # m-a a-i linux-uvc # mount -t hfsplus /dev/sda2 /mnt/mac/ # macbook-isight-firmware-loader /mnt/mac/System/Library/Extensions/IOUSBFamily.kext/Contents/PlugIns/AppleUSBVideoSupport.kext/Contents/MacOS/AppleUSBVideoSupport # modprobe uvcvideo
Test it with Ekiga.
# aptitude install ekiga libpt-plugins-v4l2 $ ekiga
Kernel patch and hardware tool resource
[http://www.mactel-linux.org/ Mactel-Linux] has mactel specific kernel patch and hardware tool resource. Its subversion archive can be seen at http://svn.sourceforge.net/viewvc/mactel-linux by the browser or retrieved by:
$ svn co https://mactel-linux.svn.sourceforge.net/svnroot/mactel-linux mactel-linux
CONFIG_FB_IMAC support is for booting from ELILO (EFI). You are most probably using lilo/rEFIt to boot, using IMAC driver will make your screen appear scrambled. Use CONFIG_FB_I810 driver instead.
Helpful guide on compiling a mactel kernel: http://gentoo-wiki.com/HARDWARE_Apple_MacBook
- - cpu temperature found through CPU MSR feature
tool available from: http://svn.sourceforge.net/viewvc/mactel-linux/trunk/tools/temperature/
Download Makefile and coretemp.c.
$ make $ sudo ./coretemp CPU 0: 69 C CPU 1: 69 C
- - hddtemp package provides support for hdd temperature monitoring
$ sudo hddtemp /dev/sda /dev/sda: ST98823AS: 38°C
- - I2C sensor is detected but not sure if it's functional
MacBook contains the 82801G (ICH7 Family) and [http://www.lm-sensors.org/wiki/SupportedDevices ICH7 is supported by lm_sensors since sensors 2.9.0] by the [http://www.lm-sensors.org/browser/lm-sensors/trunk/doc/busses/i2c-i801 i2c-i801 kernel driver] which has been in the kernel since 2.6.11.
# sensors-detect revision 1.413 (2006/01/19 20:28:00) ... Probing for PCI bus adapters... Use driver `i2c-i801' for device 00:1f.3: Intel ICH7 Probe succesfully concluded. We will now try to load each adapter module in turn. Module `i2c-i801' already loaded. If you have undetectable or unsupported adapters, you can have them scanned by manually loading the modules before running this script. To continue, we need module `i2c-dev' to be loaded. If it is built-in into your kernel, you can safely skip this. i2c-dev is not loaded. Do you want to load it now? (YES/no): yes Module loaded succesfully. We are now going to do the adapter probings. Some adapters may hang halfway through; we can't really help that. Also, some chips will be double detected; we choose the one with the highest confidence value in that case. If you found that the adapter hung after probing a certain address, you can specify that address to remain unprobed. That often includes address 0x69 (clock chip). Next adapter: SMBus I801 adapter at efa0 Do you want to scan it? (YES/no/selectively): Client found at address 0x08 Client found at address 0x38 Probing for `Philips Semiconductors SAA1064'... Failed! Client found at address 0x3a Probing for `Philips Semiconductors SAA1064'... Failed! Client found at address 0x44 Probing for `Maxim MAX6633/MAX6634/MAX6635'... Failed! Client found at address 0x50 Probing for `SPD EEPROM'... Success! (confidence 8, driver `eeprom') Probing for `DDC monitor'... Failed! Probing for `Maxim MAX6900'... Failed! Client found at address 0x52 Probing for `SPD EEPROM'... Success! (confidence 8, driver `eeprom') Client found at address 0x69 .... Driver `eeprom' (should be inserted): Detects correctly: * Bus `SMBus I801 adapter at efa0' Busdriver `i2c-i801', I2C address 0x50 Chip `SPD EEPROM' (confidence: 8) * Bus `SMBus I801 adapter at efa0' Busdriver `i2c-i801', I2C address 0x52 Chip `SPD EEPROM' (confidence: 8) I will now generate the commands needed to load the I2C modules. To make the sensors modules behave correctly, add these lines to /etc/modules: #----cut here---- # I2C adapter drivers i2c-i801 # I2C chip drivers eeprom #----cut here---- # uname -a Linux coreduo 2.6.18-rc1dancer #2 SMP Sun Jul 9 09:57:01 JST 2006 i686 GNU/Linux
Old hardware issues
usual EHCI, UHCI stuff
Your kernel must have support for the Yukon Gigabit Ethernet driver known as sky2; this is available in Debian 4.0 Etch (or kernel 2.6.16 and above).
See [http://bugs.debian.org/378521 #378521]
915resolution now works automatically; the below (old) instructions show how to do it manually, but this is no longer necessary:
aptitude install 915resolution 915resolution -c 945 54 1280 800
then edit /etc/default/915resolution
# # 915resolution default # # find free modes by /usr/sbin/915resolution -l # and set it to MODE # e.g. use MODE=54 MODE=54 # # and set resolutions for the mode. # e.g. use XRESO=1024 and YRESO=768 XRESO=1280 YRESO=800 # # We can also set the pixel mode. # e.g. use BIT=32 # Please note that this is optional, # you can also leave this value blank. BIT=32
Adjust the Monitor section of /etc/X11/xorg.conf
Section "Monitor" Identifier "Color LCD" Option "DPMS" HorizSync 28-64 VertRefresh 43-60 Modeline "1280x800@60" 83.91 1280 1312 1624 1656 800 816 824 841 EndSection
and make sure the Screen sections uses "1280x800" as default resolution in the Modes lines and finally
- Server irc.oftc.net, channel #mactel-linux
http://www.netfort.gr.jp/~dancer/diary/junk2006/debianmeetingresume200607-presentation-english.pdf for Enlish-version presentation
see http://tokyodebian.alioth.debian.org/2006-07.html for Japanese instructions