10839
Comment: Added links re iSight
|
10921
add URL for temporary package
|
Deletions are marked like this. | Additions are marked like this. |
Line 291: | Line 291: |
* package temporarily placed in http://www.netfort.gr.jp/~dancer/tmp/20060723 |
Thread available [http://lists.debian.org/debian-devel/2006/07/msg00008.html here]
elilo does not work (Bug: [http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=376002 #376002])
- rEFIt package is available (in Debian unstable)
Debian Etch on a MacBook HOWTO (triple-boot) at:
Boot process described is rEFIt to LILO to Linux (as discussed in above-linked thread.)
Relevant information elsewhere on this wiki: MacMiniIntel
Partitioning (via OS X)
Before being 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!
Preparing to dual boot (via OS X): rEFIt
Now [http://refit.sourceforge.net/ Download] and install rEFIt (the following example is done with disk image):
sudo cp -r /Volumes/rEFIt/efi /efi cd /efi/refit ./enable.sh
it's now possible to proceed installing Debian. In the installation process, before installing the lilo bootloader you need to fix the partition table via gptsync either using the shell tool provided with rEFIt or, later on during the installation, using the [http://packages.debian.org/unstable/admin/refit refit Debian package].
To run gptsync from the shell tool, just reboot and press enter on the terminal icon ("start EFI shell"):
Shell> gptsync
Install Debian
Grab and burn an image from the [http://www.debian.org/devel/debian-installer/ d-i website]; for example a daily [http://cdimage.debian.org/cdimage/daily-builds/daily/arch-latest/i386/iso-cd/debian-testing-i386-netinst.iso netinst]
Boot from the CD (hold down C while booting) and proceed with installation; when asked to reboot on the installed system, go to the second console (CTRL-ALT-F2) and chroot on the debian partition:
$ chroot /target /bin/bash
This can be necessary for example because you will need to run gptsync, and debian-installer being the daily image may need some random workarounds.
Gigabit Ethernet
Your kernel must have support for the Yukon Gigabit Ethernet driver known as sky2. See [http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=378521 #378521]
Wireless
apt-get install madwifi-source madwifi-tools module-assistant
Finally,
# m-a prepare # m-a a-i madwifi # depmod -a # modprobe ath_pci
See [http://madwifi.org/wiki/UserDocs/Distro/Debian/MadWifing madwifi wiki] for more details.
Keyboard
Configure right apple key to alt-gr adding the "?XkbOptions" line below
Section "InputDevice" Identifier "Generic Keyboard" Driver "kbd" Option "CoreKeyboard" Option "XkbRules" "xorg" Option "XkbModel" "pc105" Option "XkbLayout" "it" Option "XkbOptions" "lv3:rwin_switch" EndSection
Screenshots:
[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 with xmodmap and xkbset. xkbset is useful for emulating mouse buttons with keyboard.
xmodmap -e "keycode 115 = Alt_L" 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? I can't so to get Page Up and Down I use:
xmodmap -e "keycode 116 = Page_Up" # Right-Apple xmodmap -e "keycode 108 = Page_Down" # KP-Enter
Video
The video chipset shipped with Macbook is 945GM; to get video to work properly, you need to adjust the resolution using the [http://packages.debian.org/unstable/x11/915resolution 915resolution] package
apt-get 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
/etc/init.d/915resolution start
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.
Sound
ALSA driver snd_hda_intel seems to work for playback as of 2.6.18-rc1.
With kernel 2.6.16-2 and 2.6.17-1 available in the Debian archives, no sound comes out of the speakers.
cpufreq
CPU frequency scaling is governed by CPUFREQ_CENTRINO kernel module. Enable that module, and install cpufreq package for CPU frequency scaling.
USB
usual EHCI, UHCI stuff
infra red receiver
Just 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
Hardware Sensors
# lspci |grep -i ich 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 #1 (rev 02) 00:1d.1 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #2 (rev 02) 00:1d.2 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #3 (rev 02) 00:1d.3 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #4 (rev 02) 00:1d.7 USB Controller: Intel Corporation 82801G (ICH7 Family) USB2 EHCI Controller (rev 02) 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) Serial ATA Storage Controller IDE (rev 02) 00:1f.3 SMBus: Intel Corporation 82801G (ICH7 Family) SMBus Controller (rev 02)
So, it would appear that the 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.
However, even with all of i2c_i801, i2c_dev, and i2c_core loaded as modules, running sensors-detect fails as follows:
# 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): yes 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 at address 0x50 can not be probed - unload all client drivers first! Client at address 0x52 can not be probed - unload all client drivers first! Client found at address 0x69 ...(all other probes fail)... Sorry, no chips were detected. Either your sensors are not supported, or they are connected to an I2C bus adapter that we do not support. See doc/FAQ, doc/lm_sensors-FAQ.html, or http://www2.lm-sensors.nu/~lm78/cvs/lm_sensors2/doc/lm_sensors-FAQ.html (FAQ #4.24.3) for further information. If you find out what chips are on your board, see http://secure.netroedge.com/~lm78/newdrivers.html for driver status. hostname:# sensors -version sensors version 2.10.0 with libsensors version 2.10.0
Please replace above if you can replace it with a clear how-to on getting hardware sensors to work correctly.
A GPL program called [http://speedit.increw.org/trac.cgi/wiki/SpeedIt ?SpeedIt] is apparently able to provide CPU temperature under OS X. Perhaps it could be adapted to work under GNU/Linux.
Devices to be confirmed
- suspend/sleep
- iSight
http://zaheer.merali.org/articles/2006/07/21/isight-linux-thank-you-ronald (with screencast!)
ITP linux-uvc ([http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=379239 Bug #379239])
package temporarily placed in http://www.netfort.gr.jp/~dancer/tmp/20060723
- CD-R
- backlight
- bluetooth
Resources
- Server irc.oftc.net, channel #mactel-linux
http://tokyodebian.alioth.debian.org/2006-07.html for Japanese instructions