Translation(s): none

DebianOn is an effort to document how to install, configure and use Debian on some specific hardware. Therefore potential buyers would know if that hardware is supported and owners would know how get the best out of that hardware.

The purpose is not to duplicate the Debian Official Documentation, but to document how to install Debian on some specific hardware.

Models covered
MacBook Air

Overall Status

Core Components

[ATTACH]

Boot Standard Kernel:

{OK}

LAN network card (ASIX AX88772 USB 2.0 Ethernet):

{OK}

Detect CD/DVD (Samsung SE-S084, external DVD+RW) :

{OK}

Detect hard drives:

{OK}

Extra Features

CPU Frequency Scaling

{OK}

Hibernation

[?]

Sleep / Suspend

[?]

Xorg

{i}

- OpenGL

X-(

- Resize-and-Rotate(randr)

[?]

Switch to External Screen

[?]

Mouse

- Built-in (Trackpoint)

[-]

- Built-in (Touchpad)

{OK}

Modem

[-]

Wireless/Wifi

X-(

Keyboard's Hotkeys

[?]

Legend :
{OK} = OK ; {X} Unsupported(No Driver) ; /!\ = Error (Couldn't get it working); [?] Unknown, Not Test ; [-] Not-applicable
{i} = Configuration Required; X-( = Only works with a non-free driver and or firmware

Important Note

{i} This guide describes installing Debian in single-boot mode, i.e. the existing Mac OS installation will not be preserved. The following describes which special settings and procedures were required to install Debian (and probably most other Linuxes) on the MacBook Air.

EFI and Partitioning

The MacBook Air boots using EFI 1, the first partition on the built-in HDD is reserved for EFI. Without the EFI partition (i.e. after deleting the EFI partition during installation of Debian), booting the MacBook Air was not possible. Further, it was found that the rEFIt Boot Menu and Toolkit 2 must be installed on the system before Linux could be installed (although there are probably ways around having to install rEFIt). Finally, it was required that the system use encrypted partitions, resulting in the following partition scheme:

+-----------+-----------+------------+
| /dev/sda1 | /dev/sda2 | /dev/sda3  |
|    EFI    |    boot   | sda3_crypt |
+-----------+-----------+------------+

EFI partition (/dev/sda1)

The EFI partition (/dev/sda1) is required for the MacBook Air to boot. The rEFIt bootloader must be installed into this partition. By default, rEFIt will install into the partition where Mac OS X is installed. However, since that partition will not be preserved, boot into Mac OS and install rEFIt manually into /dev/sda1, the EFI partition, like so (from 3):

# Download and mount the rEFIt dmg package.
# Following, it is assumed that the package has been mounted in /Volumes/rEFIt.
# Copy rEFIt to the EFI partition:

$ sudo mkdir /efi
$ sudo mount -t msdos /dev/disk0s1 /efi
$ cp -r /Volumes/rEFIt/efi /efi

# You should now have
# /efi/efi/refit and
# /efi/efi/tools
# Bless rEFIt (make it bootable):

$ sudo bless --mount /efi --setBoot --file /efi/efi/refit/refit.efi --labelfile /efi/efi/refit/refit.vollabel

Linux boot partition (/dev/sda2)

The GRUB bootloader and the Linux kernel will be installed into this partition. During boot, the rEFIt bootloader will simply call GRUB, this partition is not encrypted.

Root partition (/dev/sda3)

During installation, this whole partition will be encrypted using dm-crypt. Then, LVM (Logical Volume Manager) will be used to create / (root) and /boot partitions.

/!\ The keyboard (neither the built-in keyboard nor an external USB keyboard) on the MacBook Air did now work in lenny during boot; the internal keyboard does work in squeeze. When using file system encryption, a password must be entered during boot (initrd) for unlocking the file system. Lenny installs on the MacBook Air, however, since the initial RAM disk in lenny did not support the keyboard, the encrypted partition could not be unlocked and booting could not complete. Thus, squeeze has been installed instead instead of lenny. Basically, lenny should work after rebuilding the initrd with appropriate modules.

Installation medium

/!\ The MacBook Air comes with a single USB connector only and does not have a built-in CD-ROM drive. Installing Linux from a bootable USB stick is not possible on the MacBook Air. Although with rEFIt Boot Menu and Toolkit 2 installed a bootable USB stick would show up in the rEFIt boot menu, the Apple firmware prevented booting from the USB stick.

Configuration

Display

Audio

Mouse

Power Management

WiFi

Modem


System Summary

lspci

00:00.0 Host bridge [0600]: nVidia Corporation MCP79 Host Bridge [10de:0a82] (rev b1)
        Flags: bus master, 66MHz, fast devsel, latency 0

00:00.1 RAM memory [0500]: nVidia Corporation MCP79 Memory Controller [10de:0a88] (rev b1)
        Flags: bus master, 66MHz, fast devsel, latency 0

00:03.0 ISA bridge [0601]: nVidia Corporation MCP79 LPC Bridge [10de:0aaf] (rev b2)
        Subsystem: nVidia Corporation Device [10de:cb79]
        Flags: bus master, 66MHz, fast devsel, latency 0
        I/O ports at 2000 [size=256]

00:03.1 RAM memory [0500]: nVidia Corporation MCP79 Memory Controller [10de:0aa4] (rev b1)
        Flags: 66MHz, fast devsel

00:03.2 SMBus [0c05]: nVidia Corporation MCP79 SMBus [10de:0aa2] (rev b1)
        Subsystem: nVidia Corporation Device [10de:cb79]
        Flags: 66MHz, fast devsel, IRQ 15
        I/O ports at 2180 [size=64]
        I/O ports at 2140 [size=64]
        I/O ports at 2100 [size=64]
        Capabilities: [44] Power Management version 2
        Kernel driver in use: nForce2_smbus

00:03.3 RAM memory [0500]: nVidia Corporation MCP79 Memory Controller [10de:0a89] (rev b1)
        Flags: 66MHz, fast devsel

00:03.4 RAM memory [0500]: nVidia Corporation Device [10de:0a98] (rev b1)
        Subsystem: nVidia Corporation Device [10de:cb79]
        Flags: 66MHz, fast devsel

00:03.5 Co-processor [0b40]: nVidia Corporation MCP79 Co-processor [10de:0aa3] (rev b1)
        Subsystem: nVidia Corporation Device [10de:cb79]
        Flags: bus master, 66MHz, fast devsel, latency 0, IRQ 17
        Memory at 93300000 (32-bit, non-prefetchable) [size=512K]

00:04.0 USB Controller [0c03]: nVidia Corporation MCP79 OHCI USB 1.1 Controller [10de:0aa5] (rev b1) (prog-if 10 [OHCI])
        Subsystem: nVidia Corporation Device [10de:cb79]
        Flags: bus master, 66MHz, fast devsel, latency 0, IRQ 21
        Memory at 93387000 (32-bit, non-prefetchable) [size=4K]
        Capabilities: [44] Power Management version 2
        Kernel driver in use: ohci_hcd

00:04.1 USB Controller [0c03]: nVidia Corporation MCP79 EHCI USB 2.0 Controller [10de:0aa6] (rev b1) (prog-if 20 [EHCI])
        Subsystem: nVidia Corporation Device [10de:cb79]
        Flags: bus master, 66MHz, fast devsel, latency 0, IRQ 22
        Memory at 93388100 (32-bit, non-prefetchable) [size=256]
        Capabilities: [44] Debug port: BAR=1 offset=00a0
        Capabilities: [80] Power Management version 2
        Kernel driver in use: ehci_hcd

00:06.0 USB Controller [0c03]: nVidia Corporation MCP79 OHCI USB 1.1 Controller [10de:0aa7] (rev b1) (prog-if 10 [OHCI])
        Subsystem: nVidia Corporation Device [10de:cb79]
        Flags: bus master, 66MHz, fast devsel, latency 0, IRQ 18
        Memory at 93386000 (32-bit, non-prefetchable) [size=4K]
        Capabilities: [44] Power Management version 2
        Kernel driver in use: ohci_hcd

00:06.1 USB Controller [0c03]: nVidia Corporation MCP79 EHCI USB 2.0 Controller [10de:0aa9] (rev b1) (prog-if 20 [EHCI])
        Subsystem: nVidia Corporation Device [10de:cb79]
        Flags: bus master, 66MHz, fast devsel, latency 0, IRQ 20
        Memory at 93388000 (32-bit, non-prefetchable) [size=256]
        Capabilities: [44] Debug port: BAR=1 offset=00a0
        Capabilities: [80] Power Management version 2
        Kernel driver in use: ehci_hcd

00:08.0 Audio device [0403]: nVidia Corporation MCP79 High Definition Audio [10de:0ac0] (rev b1)
        Subsystem: nVidia Corporation Device [10de:cb79]
        Flags: bus master, 66MHz, fast devsel, latency 0, IRQ 23
        Memory at 93380000 (32-bit, non-prefetchable) [size=16K]
        Capabilities: [44] Power Management version 2
        Kernel driver in use: HDA Intel

00:09.0 PCI bridge [0604]: nVidia Corporation MCP79 PCI Bridge [10de:0aab] (rev b1) (prog-if 01 [Subtractive decode])
        Flags: bus master, 66MHz, fast devsel, latency 0
        Bus: primary=00, secondary=01, subordinate=01, sec-latency=0
        Memory behind bridge: 93200000-932fffff
        Capabilities: [b8] Subsystem: nVidia Corporation Device [10de:cb79]

00:0b.0 IDE interface [0101]: nVidia Corporation MCP79 SATA Controller [10de:0ab5] (rev b1) (prog-if 85 [Master SecO PriO])
        Subsystem: nVidia Corporation Device [10de:cb79]
        Flags: bus master, 66MHz, fast devsel, latency 0, IRQ 25
        I/O ports at 21d8 [size=8]
        I/O ports at 21e4 [size=4]
        I/O ports at 21d0 [size=8]
        I/O ports at 21e0 [size=4]
        I/O ports at 21c0 [size=16]
        Memory at 93384000 (32-bit, non-prefetchable) [size=8K]
        Capabilities: [44] Power Management version 2
        Capabilities: [8c] SATA HBA v1.0
        Capabilities: [b0] MSI: Enable+ Count=1/8 Maskable- 64bit+
        Kernel driver in use: ahci

00:10.0 PCI bridge [0604]: nVidia Corporation MCP79 PCI Express Bridge [10de:0aa0] (rev b1) (prog-if 00 [Normal decode])
        Flags: bus master, fast devsel, latency 0
        Bus: primary=00, secondary=02, subordinate=02, sec-latency=0
        I/O behind bridge: 00001000-00001fff
        Memory behind bridge: 92000000-930fffff
        Prefetchable memory behind bridge: 0000000080000000-0000000091ffffff
        Capabilities: [40] Subsystem: nVidia Corporation Device [10de:0000]
        Capabilities: [48] Power Management version 2
        Capabilities: [50] MSI: Enable- Count=1/2 Maskable- 64bit+

00:15.0 PCI bridge [0604]: nVidia Corporation MCP79 PCI Express Bridge [10de:0ac6] (rev b1) (prog-if 00 [Normal decode])
        Flags: bus master, fast devsel, latency 0
        Bus: primary=00, secondary=03, subordinate=03, sec-latency=0
        Memory behind bridge: 93100000-931fffff
        Capabilities: [40] Subsystem: nVidia Corporation Device [10de:0000]
        Capabilities: [48] Power Management version 3
        Capabilities: [50] MSI: Enable+ Count=1/2 Maskable- 64bit+
        Capabilities: [80] Express Root Port (Slot+), MSI 00
        Kernel driver in use: pcieport

02:00.0 VGA compatible controller [0300]: nVidia Corporation C79 [GeForce 9400M] [10de:0870] (rev b1) (prog-if 00 [VGA controller])
        Subsystem: Apple Computer Inc. Device [106b:00ab]
        Flags: bus master, fast devsel, latency 0, IRQ 16
        Memory at 92000000 (32-bit, non-prefetchable) [size=16M]
        Memory at 80000000 (64-bit, prefetchable) [size=256M]
        Memory at 90000000 (64-bit, prefetchable) [size=32M]
        I/O ports at 1000 [size=128]
        [virtual] Expansion ROM at 93000000 [disabled] [size=128K]
        Capabilities: [60] Power Management version 2
        Capabilities: [68] MSI: Enable- Count=1/1 Maskable- 64bit+
        Kernel driver in use: nvidia

03:00.0 Network controller [0280]: Broadcom Corporation BCM4321 802.11a/b/g/n [14e4:4328] (rev 05)
        Subsystem: Apple Computer Inc. Device [106b:0090]
        Flags: bus master, fast devsel, latency 0, IRQ 23
        Memory at 93100000 (64-bit, non-prefetchable) [size=16K]
        Capabilities: [40] Power Management version 3
        Capabilities: [58] Vendor Specific Information: Len=78 <?>
        Capabilities: [e8] MSI: Enable- Count=1/1 Maskable- 64bit+
        Capabilities: [d0] Express Endpoint, MSI 00
        Capabilities: [100] Advanced Error Reporting
        Capabilities: [13c] Virtual Channel
        Capabilities: [160] Device Serial Number 28-36-0d-ff-ff-f4-90-84
        Capabilities: [16c] Power Budgeting <?>
        Kernel driver in use: wl

lsusb

lsusb -v | grep -E '\<(Bus|iProduct|bDeviceClass|bDeviceProtocol)' 2>/dev/null

Bus 004 Device 005: ID 05ac:820b Apple, Inc.
  bDeviceClass            0 (Defined at Interface level)
  bDeviceProtocol         0
  iProduct                0
Bus 004 Device 004: ID 05ac:820a Apple, Inc.
  bDeviceClass            0 (Defined at Interface level)
  bDeviceProtocol         0
  iProduct                0
Bus 004 Device 003: ID 05ac:8216 Apple, Inc. Bluetooth USB Host Controller
  bDeviceClass          224 Wireless
  bDeviceProtocol         1 Bluetooth
  iProduct                2 Bluetooth USB Host Controller
Bus 004 Device 002: ID 0a5c:4500 Broadcom Corp. BCM2046B1 USB 2.0 Hub (part of BCM2046 Bluetooth)
  bDeviceClass            9 Hub
  bDeviceProtocol         0 Full speed (or root) hub
  iProduct                2 BRCM2046 Hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
  bDeviceClass            9 Hub
  bDeviceProtocol         0 Full speed (or root) hub
  iProduct                2 OHCI Host Controller
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
  bDeviceClass            9 Hub
  bDeviceProtocol         0 Full speed (or root) hub
  iProduct                2 EHCI Host Controller
Bus 002 Device 003: ID 05ac:0224 Apple, Inc. Internal Keyboard/Trackpad (ISO)
  bDeviceClass            0 (Defined at Interface level)
  bDeviceProtocol         0
  iProduct                2 Apple Internal Keyboard / Trackpad
      (Bus Powered)
  (Bus Powered)
Bus 002 Device 002: ID 05ac:8242 Apple, Inc. IR Receiver [built-in]
  bDeviceClass            0 (Defined at Interface level)
  bDeviceProtocol         0
  iProduct                2 IR Receiver
      (Bus Powered)
  (Bus Powered)
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
  bDeviceClass            9 Hub
  bDeviceProtocol         0 Full speed (or root) hub
  iProduct                2 OHCI Host Controller
Bus 001 Device 003: ID 05ac:8505 Apple, Inc. Built-in iSight
  bDeviceClass          239 Miscellaneous Device
  bDeviceProtocol         1 Interface Association
  iProduct                2 Built-in iSight
      (Bus Powered)
  bDeviceClass          239 Miscellaneous Device
  bDeviceProtocol         1 Interface Association
  (Bus Powered)
Bus 001 Device 002: ID 05ac:1402 Apple, Inc.
  bDeviceClass          255 Vendor Specific Class
  bDeviceProtocol         0
  iProduct                2 Apple USB Ethernet Adapter
      (Bus Powered)
  bDeviceClass          255 Vendor Specific Class
  bDeviceProtocol         0
  (Bus Powered)
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
  bDeviceClass            9 Hub
  bDeviceProtocol         0 Full speed (or root) hub
  iProduct                2 EHCI Host Controller

USB Host controllers entries (without OHCI, UHCI, EHCI) are removed too.

Resources

Attachments

Some configuration files and sample outputs.

  • [get | view] (2010-10-14 12:47:26, 0.1 KB) [[attachment:10-nvidia.conf]]
  • [get | view] (2010-10-14 12:46:46, 10.6 KB) [[attachment:dmidecode.txt]]
  • [get | view] (2010-10-14 12:45:03, 3.3 KB) [[attachment:lsmod.txt]]
 All files | Selected Files: delete move to page copy to page

Credits



CategoryDebianOn