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.

If you need help to get Debian running on your hardware, please have a look at our user support channels where you may find specific channels (mailing list, IRC channel) dedicated to certain types of hardware.

Models covered
Apple MacBookPro 8-3

Sub-models (LIST OF MODEL REFERENCE NUMBER) options :
- Video card (Intel HD 3000, AMD GPU disabled)
- Screen size (17")
- Wireless card (B43)
- Disk and Ram size, optical device
- Other options, like fingerprint reader, bluetooth...

Overall Status

Core Components

[ATTACH]

Boot Standard Kernel:

{OK}

LAN network card:

{OK}

Detect CD/DVD:

[?]

Detect hard drives:

{OK}

Extra Features

CPU Frequency Scaling

[?]

Hibernation

[?]

Sleep / Suspend

[?]

Xorg

{OK}

- OpenGL

{OK}

- Resize-and-Rotate(randr)

[?]

Switch to External Screen

[?]

Mouse

- Built-in (Trackpoint)

[?]

- Built-in (Touchpad)

{OK}

Modem

[?]

Wireless/Wifi

{OK}

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

Installing Debian Buster on an Apple MacbookPro8,3

Notes

My MacBookPro 8,3 has the following characteristics:-
AMD GPU disabled in boot options
SSD drive dedicated to Debian.
The DVD drive has been removed and replaced with a second drive, so one has OSX and the other has Debian.
The OSX drive was removed during the process of Debian installation.
The OS can be selected at boot time using the option key.
LXQT window manager.

How to

1. Boot using Netinst 64 bit USB thumb drive.
2. It is easier to install with an Ethernet cable attached initially.
3. Select text based installation.
3. At tasksel deselect Debian Desktop Environment and all of the sub items (such as Gnome, XFCE etc); select SSH Server and Standard System Utilities.
4. Complete installation and boot into Debian.
5. Make sure that you can ssh in, this is useful in case you end up with a blank screen at some point.
6. Edit the file /etc/grub.d/10_linux
Look for these lines:-

  if ([ "$ubuntu_recovery" = 0 ] || [ x$type != xrecovery ]) && \
     ([ "x$GRUB_GFXPAYLOAD_LINUX" != x ] || [ "$gfxpayload_dynamic" = 1 ]); then
      echo "    gfxmode \$linux_gfx_mode" | sed "s/^/$submenu_indentation/"
  fi

After these lines add in:-

  echo "        outb 0x728 1" | sed "s/^/$submenu_indentation/"
  echo "        outb 0x710 2" | sed "s/^/$submenu_indentation/"
  echo "        outb 0x740 2" | sed "s/^/$submenu_indentation/"
  echo "        outb 0x750 0" | sed "s/^/$submenu_indentation/"


These lines disable the AMD GPU leaving just the integrated Intel HD3000 graphics working

Run update-grub
Reboot
7. Edit the /etc/apt/sources.list to include contrib
this is mine:-

deb http://ftp.uk.debian.org/debian/ buster main contrib non-free
deb http://security.debian.org/debian-security buster/updates main contrib non-free
deb http://ftp.uk.debian.org/debian/ buster-updates main


8. apt-get update, then apt-get install xorg firmware-linux firmware-b43-installer
9. Run startx and make sure that a graphical environment will work.
10. Run tasksel and select the desktop environment that you want.
11. apt-get install xserver-xorg-input-synaptics
12. Reboot.

Configuration

Display

Audio

Keyboard

Add the following line to /etc/default/keyboard:-

XKBVARIANT="mac"

Mouse

This file will make a two fingered tap be a right click and also tapping in the bottom right corner will be a right click.
If you have a more advanced desktop manager such as Gnome you may be better to configure it from within Gnome.
Create a file such as ~/setuptrackpad.sh containing:-
#! /bin/sh

synclient VertEdgeScroll=1
synclient TapButton1=1
synclient TapButton2=3
synclient TapButton3=2
synclient RBCornerButton=3


Make the file executable.
Add the line into ~/.profile:-

. "$HOME/setuptrackpad.sh"


Power Management

WiFi

Requires package firmware-b43-installer

Modem


System Summary

lspci

lspci -nn
00:00.0 Host bridge [0600]: Intel Corporation 2nd Generation Core Processor Family DRAM Controller [8086:0104] (rev 09)
00:01.0 PCI bridge [0604]: Intel Corporation Xeon E3-1200/2nd Generation Core Processor Family PCI Express Root Port [8086:0101] (rev 09)
00:01.1 PCI bridge [0604]: Intel Corporation Xeon E3-1200/2nd Generation Core Processor Family PCI Express Root Port [8086:0105] (rev 09)
00:02.0 VGA compatible controller [0300]: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller [8086:0126] (rev 09)
00:16.0 Communication controller [0780]: Intel Corporation 6 Series/C200 Series Chipset Family MEI Controller #1 [8086:1c3a] (rev 04)
00:1a.0 USB controller [0c03]: Intel Corporation 6 Series/C200 Series Chipset Family USB Universal Host Controller #5 [8086:1c2c] (rev 05)
00:1a.7 USB controller [0c03]: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #2 [8086:1c2d] (rev 05)
00:1b.0 Audio device [0403]: Intel Corporation 6 Series/C200 Series Chipset Family High Definition Audio Controller [8086:1c20] (rev 05)
00:1c.0 PCI bridge [0604]: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 1 [8086:1c10] (rev b5)
00:1c.1 PCI bridge [0604]: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 2 [8086:1c12] (rev b5)
00:1c.2 PCI bridge [0604]: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 3 [8086:1c14] (rev b5)
00:1c.3 PCI bridge [0604]: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 4 [8086:1c16] (rev b5)
00:1d.0 USB controller [0c03]: Intel Corporation 6 Series/C200 Series Chipset Family USB Universal Host Controller #1 [8086:1c27] (rev 05)
00:1d.7 USB controller [0c03]: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #1 [8086:1c26] (rev 05)
00:1f.0 ISA bridge [0601]: Intel Corporation HM65 Express Chipset Family LPC Controller [8086:1c49] (rev 05)
00:1f.2 SATA controller [0106]: Intel Corporation 6 Series/C200 Series Chipset Family 6 port SATA AHCI Controller [8086:1c03] (rev 05)
00:1f.3 SMBus [0c05]: Intel Corporation 6 Series/C200 Series Chipset Family SMBus Controller [8086:1c22] (rev 05)
02:00.0 Ethernet controller [0200]: Broadcom Limited NetXtreme BCM57765 Gigabit Ethernet PCIe [14e4:16b4] (rev 10)
03:00.0 Network controller [0280]: Broadcom Limited BCM4331 802.11a/b/g/n [14e4:4331] (rev 02)
04:00.0 FireWire (IEEE 1394) [0c00]: LSI Corporation FW643 [TrueFire] PCIe 1394b Controller [11c1:5901] (rev 08)
05:00.0 PCI bridge [0604]: Intel Corporation CV82524 Thunderbolt Controller [Light Ridge 4C 2010] [8086:1513]
06:00.0 PCI bridge [0604]: Intel Corporation CV82524 Thunderbolt Controller [Light Ridge 4C 2010] [8086:1513]
06:03.0 PCI bridge [0604]: Intel Corporation CV82524 Thunderbolt Controller [Light Ridge 4C 2010] [8086:1513]
06:04.0 PCI bridge [0604]: Intel Corporation CV82524 Thunderbolt Controller [Light Ridge 4C 2010] [8086:1513]
06:05.0 PCI bridge [0604]: Intel Corporation CV82524 Thunderbolt Controller [Light Ridge 4C 2010] [8086:1513]
06:06.0 PCI bridge [0604]: Intel Corporation CV82524 Thunderbolt Controller [Light Ridge 4C 2010] [8086:1513]
07:00.0 System peripheral [0880]: Intel Corporation CV82524 Thunderbolt Controller [Light Ridge 4C 2010] [8086:1513]

lsusb

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

lsusb -v | grep -E '\<(Bus|iProduct|bDeviceClass|bDeviceProtocol)' 2>/dev/null
can't get device qualifier: Resource temporarily unavailable
can't get debug descriptor: Resource temporarily unavailable
Bus 003 Device 003: ID 05ac:8242 Apple, Inc. Built-in IR Receiver
  bDeviceClass            0 
  bDeviceProtocol         0 
  iProduct                2 IR Receiver
      (Bus Powered)
  (Bus Powered)
Bus 003 Device 002: ID 0424:2514 Standard Microsystems Corp. USB 2.0 Hub
  bDeviceClass            9 Hub
  bDeviceProtocol         2 TT per port
  iProduct                0 
can't get debug descriptor: Resource temporarily unavailable
can't get device qualifier: Resource temporarily unavailable
can't get debug descriptor: Resource temporarily unavailable
  bDeviceClass            9 Hub
  bDeviceProtocol         0 Full speed (or root) hub
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 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
  bDeviceClass            9 Hub
  bDeviceProtocol         0 Full speed (or root) hub
  iProduct                2 UHCI Host Controller
can't get debug descriptor: Resource temporarily unavailable
Bus 001 Device 003: ID 05ac:8509 Apple, Inc. FaceTime HD Camera
  bDeviceClass          239 Miscellaneous Device
  bDeviceProtocol         1 Interface Association
  iProduct                2 FaceTime HD Camera (Built-in)
      (Bus Powered)
can't get debug descriptor: Resource temporarily unavailable
  bDeviceClass          239 Miscellaneous Device
  bDeviceProtocol         1 Interface Association
  (Bus Powered)
Bus 001 Device 005: ID 05ac:0253 Apple, Inc. Internal Keyboard/Trackpad (ISO)
  bDeviceClass            0 
  bDeviceProtocol         0 
  iProduct                2 Apple Internal Keyboard / Trackpad
      (Bus Powered)
can't get device qualifier: Resource temporarily unavailable
can't get debug descriptor: Resource temporarily unavailable
  (Bus Powered)
Bus 001 Device 008: ID 05ac:821a Apple, Inc. Bluetooth Host Controller
  bDeviceClass          255 Vendor Specific Class
  bDeviceProtocol         1 
  iProduct                2 Bluetooth USB Host Controller
can't get device qualifier: Resource temporarily unavailable
can't get debug descriptor: Resource temporarily unavailable
can't get device qualifier: Resource temporarily unavailable
can't get debug descriptor: Resource temporarily unavailable
Bus 001 Device 004: 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 BRCM2070 Hub
Bus 001 Device 002: ID 0424:2514 Standard Microsystems Corp. USB 2.0 Hub
  bDeviceClass            9 Hub
  bDeviceProtocol         2 TT per port
can't get debug descriptor: Resource temporarily unavailable
  iProduct                0 
  bDeviceClass            9 Hub
  bDeviceProtocol         0 Full speed (or root) hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
  bDeviceClass            9 Hub
  bDeviceProtocol         0 Full speed (or root) hub
can't get device qualifier: Resource temporarily unavailable
  iProduct                2 EHCI Host Controller
can't get debug descriptor: Resource temporarily unavailable
can't get debug descriptor: Resource temporarily unavailable
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 UHCI Host Controller

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

Resources

Attachments

Some configuration files and sample outputs.

Credits