From a08adb1a0c28f20e2adb2aa2176d7e9b6eafe7d6 Mon Sep 17 00:00:00 2001 From: Andrew David Wong Date: Sun, 23 Oct 2016 23:59:54 -0700 Subject: [PATCH] Prepare MacBook page for incorporation into docs * Rename file * Fix formatting * Clean up grammatical/stylistic issues * Fix links and references --- troubleshooting/macbook.md | 134 +++++++++++++++++++++++++ troubleshooting/macbookair2011(4,2).md | 98 ------------------ 2 files changed, 134 insertions(+), 98 deletions(-) create mode 100644 troubleshooting/macbook.md delete mode 100644 troubleshooting/macbookair2011(4,2).md diff --git a/troubleshooting/macbook.md b/troubleshooting/macbook.md new file mode 100644 index 00000000..4d90404d --- /dev/null +++ b/troubleshooting/macbook.md @@ -0,0 +1,134 @@ +--- +layout: doc +title: Apple MacBook Troubleshooting +permalink: /doc/macbook/ +--- + +Apple MacBook Troubleshooting +============================= + +MacBook Air 13" mid 2011 (MacBookAir 4,2) +----------------------------------------- + +In this section, I explain how to install Qubes on a MacBook Air 13" mid 2011 +(MacBookAir 4,2). + +This model has the following features: + +* Dual Intel i7-2677M 1.80 Ghz CPU (2 dual cores) +* Intel HD Graphics 3000 +* 4Gb RAM +* 256Gb SDD +* Broadcom BCM43224 802.11 a/b/g/n wifi and Bluetooth adapter +* Intel DSL2310 Thunderbolt controller +* It has 1 DVI/Thunderbolt display port, 2 USB2.0 ports, a Magsafe power + adapter, a standard 3.5mm audio jack and SD reader. + +I first tried to install Qubes using the UEFI boot, but it failed. Not wanting +to waste too much time, I quickly opted for the legacy BIOS install. + +### 1. Boot from Mac OS X (or Internet Recovery Image with `CMD`+`R` during bootup) + +Run in a terminal [[1]]: + +~~~ +# diskutil list +(find your usb device) +# bless –device /dev/diskX –legacy –setBoot –nextonly # bless the disk not the partition +# reboot +~~~ + +Insert your Qubes 3.2 USB flash drive. The ISOLINUX boot screen should come up. +Install Qubes normally. + +If you try to boot Qubes now, it will freeze while "setting up networking." You +need to put the Broadcom wireless device into PCI passtrough [[2],[3]]. Or, as +an alternative [remove it from your Mac][bluetooth-replacement] and Qubes will +boot up smoothly. If you choose to remove the card, jump to step 3. + +### 2. Boot from Mac OS X again + +Run in a terminal: + +~~~ +# diskutil list +(find your usb device) +# bless –device /dev/diskX –legacy –setBoot –nextonly # bless the disk not the partition +# reboot +~~~ + +Insert your Qubes 3.2 USB flash drive. The ISOLINUX boot screen should come up. +Select Troubleshooting and Boot the Rescue image. Enter your disk password when +prompted. Select continue and after mounting the HD filesystem and launching a +shell, `chroot` as instructed. + +Then find your Bluetooth card: + +~~~ +# lspci +.. +02:00.0 Network controller: Broadcom Corporation BCM43224 802.11a/b/g/n (rev 01) +… +# qvm-pci -a sys-net 02:00.0 # this assigns the device to sys-net VM +~~~ + +Then create `/etc/systemd/system/qubes-pre-netvm.service` with: + +~~~ +[Unit] +Description=Netvm fix for Broadcom +Before=qubes-netvm.service + +[Service] +ExecStart=/bin/sh -c 'echo 02:00.0 > /sys/bus/pci/drivers/pciback/permissive' +Type=oneshot +RemainAfterExit=yes + +[Install] +WantedBy=multi-user.target +~~~ + +Run: + +~~~ +systemctl enable qubes-pre-netvm.service +~~~ + +And that's it. + +### 3. After reboot, boot Mac OS X again + +Run in a terminal: + +~~~ +# diskutil list +(find the HD device where you installed Qubes) +# bless –device /dev/diskX –legacy –setBoot # bless the disk not the partition +# reboot +~~~ + +Results: + +* System booted and running smoothly +* Youtube video: OK (including full screen after configuration) +* Trackpad: OK +* Audio control: OK +* Brightness control: OK +* Keyboard light control:OK +* SD card access: OK (tested at dom0) +* Lid-close suspend: OK +* Wifi: +10%-20% ICMP packet loss when comparing with OSX (have similar rates + with tails Linux, more tests are required) + +### References + +1. +2. +3. + + +[1]: https://github.com/QubesOS/qubes-issues/issues/794 +[2]: https://github.com/QubesOS/qubes-issues/issues/1261 +[3]: https://www.qubes-os.org/doc/assigning-devices/ +[bluetooth-replacement]: https://www.ifixit.com/Guide/MacBook+Air+13-Inch+Mid+2011+AirPort-Bluetooth+Card+Replacement/6360 + diff --git a/troubleshooting/macbookair2011(4,2).md b/troubleshooting/macbookair2011(4,2).md deleted file mode 100644 index 21a1ce76..00000000 --- a/troubleshooting/macbookair2011(4,2).md +++ /dev/null @@ -1,98 +0,0 @@ - -After browsing through multiple posts, I finally was able to install Qubes on a MacBook Air 13” mid 2011 (MacBookAir 4,2). I’m just sharing this, so ppl don’t need to read through multiple forums to understand how to do it. - -This model is features with: -* Dual Intel i7-2677M 1.80 Ghz CPU (2 dual cores); -* Intel HD Graphics 3000; -* 4Gb RAM; -* 256Gb SDD; -* Broadcom BCM43224 802.11 a/b/g/n wifi and Bluetooth adapter; -* Intel DSL2310 Thunderbolt controller; -* It has 1 DVI/Thunderbolt display port, 2 USB2.0 ports, a Magsafe power adapter, a standard 3.5mm audio jack and SD reader. - -First try to install Qubes using the UEFI boot failed, and not wanting to waste too much time, I quickly opted for the legacy BIOS install. - -###1. Boot from MacOSX (or Internet Recovery Image with CMD+R during bootup). -Run Terminal application as root [1]: -~~~ -# diskutil list -(find your usb device) -# bless –device /dev/diskX –legacy –setBoot –nextonly # bless the disk not the partition -# reboot -~~~ - -Insert Qubes 3.2 USB flash: -ISOLINUX boot screen should come up. -Install Qubes normaly - - -If you try to boot Qubes now, it will freeze while “setting up networking”. You need to put the Broadcom wireless device into PCI passtrough [2,3]. Or, as an alternative remove it from your mac (https://www.ifixit.com/Guide/MacBook+Air+13-Inch+Mid+2011+AirPort-Bluetooth+Card+Replacement/6360) and Qubes will boot up smoothly. -If you choose to remove the card jump to step 3. - -###2. Boot from MacOSX, again. -~~~ -Run Terminal application as root: -# diskutil list -(find your usb device) -# bless –device /dev/diskX –legacy –setBoot –nextonly # bless the disk not the partition -# reboot -~~~ - -Insert Qubes 3.2 USB flash: -ISOLINUX boot screen should come up. -Select Troubleshooting and Boot the Rescue image; insert disk password when prompted; select continue and after mounting the HD filesystem, launching a shell, chroot as instructed. - -Then: -a) Find your Bluetooth card: -~~~ -# lspci -.. -02:00.0 Network controller: Broadcom Corporation BCM43224 802.11a/b/g/n (rev 01) -… -# qvm-pci -a sys-net 02:00.0 # this assigns the device to sys-net VM -~~~ - -then create Create /etc/systemd/system/qubes-pre-netvm.service -with: -~~~ -[Unit] -Description=Netvm fix for Broadcom -Before=qubes-netvm.service - -[Service] -ExecStart=/bin/sh -c 'echo 02:00.0 > /sys/bus/pci/drivers/pciback/permissive' -Type=oneshot -RemainAfterExit=yes - -[Install] -WantedBy=multi-user.target -~~~ -Run: -~~~ -systemctl enable qubes-pre-netvm.service -~~~ -And that’s it. - - -###3. After reboot, boot MacOSX, again. -Run Terminal application as root: -~~~ -# diskutil list -(find the HD device where you installed Qubes) -# bless –device /dev/diskX –legacy –setBoot # bless the disk not the partition -# reboot -~~~ - -Results: -* System booted and running smoothly. -* Youtube video: OK (including full screen after configuration) -* Trackpad: OK -* Audio control: OK -* Brightness control: OK -* Keyboard light control:OK -* SD card access: OK (tested at dom0) -* Lid-close suspend: OK -* Wifi: +10%-20% ICMP packet loss when comparing with OSX (have similar rates with tails Linux, more tests are required) - -References: [1] https://github.com/QubesOS/qubes-issues/issues/794 ; [2] https://github.com/QubesOS/qubes-issues/issues/1261 ; -[3] https://www.qubes-os.org/doc/assigning-devices/ ;