I started using Linux more seriously around 2010, with Ubuntu 10.10 (Maverick Meerkat), if memory serves me well, although I did play around with Corel’s Linux way back when. Since then, I tried a variety of distros and Unixes, such as Fedora and FreeBSD, but it wasn’t until early 2015 that I first installed Arch Linux. At the time, I purchased a used 13” Asus Zenbook on ebay specifically to toy with different distros without risk for my work laptop. I quickly started appreciating Arch Linux’ minimalist approach where you can relatively easily configure your distro to your liking, backed by an amazing wiki, rolling updates and an extensive, user-friendly package manager.
The Switch To Macbook Pro
I work as a freelance Go developer, and the overwhelming development platform of choice for the clients I work with - mostly startups - is macOS, so to make it easier for me to integrate to development teams (tools, setup, sharing installation information, etc.), my work machine is a mid-2015 13” Macbook Pro. I also think it is the best laptop - the best computer - I’ve ever had, for my needs. I work remotely, so the form factor makes it a great portable machine to go work in libraries, coffee shops or in a park during summer, and the battery life is good enough to be away from an outlet for an extended period of time (although not quite an entire work day). I also love the trackpad and keyboard.
Insert the USB stick you created into the port on the left side of your MacBook Pro, and restart it while holding down the Option (or Alt) key just to the left of the Cmd key. This opens a menu of options to start the machine; use the EFI option, as that's the USB image. The laptop will boot from the USB device, and you can. We'll show you how to 'try it before you buy it' so to speak to see how a specific version of GNU/Linux, Ubuntu, will run on your aging Mac. Why bother trying GNU/Linux on your Mac? I have a late 2010 MacBook Air. It's not as fast or as optically pretty as my 5K iMac nor my iPad Pro for that matter. I do, however, use it daily. Xubuntu, PsychOS, and Elementary OS are probably your best bets out of the 6 options considered. Ubuntu install on macbook pro 16 (2019) Hi, Is it technically possible to install Ubuntu (18.04.03) and boot from some partition on the internal SSD, on a macbook pro 16' running mac OS 10.15.2 (Catalina)? I already know the two prerequisite condition: 1-Allow the boot on alternate OS, &. 2-Deactivate the System Integrity protection. IPad Pro; Printer Buying Guide. We’ve compiled a list of the best distros that Linux has to offer. We can’t believe how cheap the Surface Pro 7 is at Best Buy.
So when the old Zenbook’s screen died I started considering buying another laptop, but what I really wanted was that great macbook hardware paired with my personal favorite OS. But I still didn’t want to take away what little disk space I had for my work (128GB SSD) to dual-boot, and I wasn’t interested in running in a VM. I had a 120GB Lacie USB drive around, so I figured I might as well install Arch on it and not touch my internal disk at all.
The Installation
Basic setup is pretty straightforward and closely follows the installation wiki page. Mac-specific steps I had to make were (keep in mind that other approaches may work too, but this worked for me and my specific configuration):
- create an EFI partition for boot
- setup boot to use
systemd-boot
(I installed Arch from a Virtual Box VM on macOS, and at this point I had to ensure the VM started in EFI mode, which hangs for minutes at startup, but ends up working - the Mac-specific instructions were documented in this wiki page) - when configuring
mkinitcpio.conf
, I had to make sure theblock
hook was beforeautodetect
as explained on superuser.com, otherwise I had the error mentioned in the question. I also usesystemd
instead ofudev
, so myHOOKS
look like this:(base systemd block autodetect modconf filesystems keyboard fsck)
- configure the pacman mirrorlist (
/etc/pacman.d/mirrorlist
) and install some basic packages to get started:pacman -S vim base-devel terminus-font dialog wpa_supplicant git openssh
- because the Mac’s resolution is so high, the console font is way too small for me by default, so I played around with
setfont
until I found something I liked, and persisted the setting in/etc/vconsole.conf
(I set it toFONT=ter-v28n
, but keep in mind that I’m in my forties…) - create my user, set a password and add myself to the sudoers (I added my user to the
wheel
group and uncommented%wheel ALL=(ALL) ALL
invisudo
) - next came network configuration, which was a bit of a pain because
lspci
is not accurate in the VM, so there were some back and forth between the real OS and the VM to get internet access to install the driver; my macbook pro has a Broadcom 43602 card and theb43-firmware (AUR)
package works for me.
This results in a working console-based system, and although there’s much configuration to be done next, the rest is much more subjective. At this point, booting the macbook with the USB drive plugged in and the option
key pressed shows the bootloader menu with the option to select the EFI Arch Linux bootloader.
The Customization
That’s where the real fun begins. I’m not a gamer, when I use a computer I’d say I’m at least 90% of the time either at the terminal or in a web browser. I have very little use for other GUI-based applications, except Keepassxc
(and that’s because I used a poor naming scheme when I created my password database otherwise I’d use its command-line interface).
I implemented a very personal bash-based “framework” to manage my dotfiles (and more, config files, bashrc, aliases, etc.) so at this point making a system feel at home only requires cloning that repo and hooking it up so it runs on login. It also takes care of installing the packages I want from the start on an Arch system. For me, the main ones are:
xorg-server
& co. for the graphical environment.i3-gaps
as my window manager - I don’t need any heavyweight desktop environment such as KDE or Gnome. I usei3blocks
for the status bar anddmenu
as application launcher.- the automatically detected resolution wasn’t quite right (can’t remember what it was exactly, but everything was way too small), so I had to add
Xft.dpi: 192
in myXresources
file. cower
to handle AUR packages, along with some handy aliases because I always forget how to use it.nitrogen
for my wallpaper, with lots of Black Metal Cat pictures to randomly choose from.kitty
for my terminal.adobe-source-code-pro-fonts
because I’m used to Source Code Pro as terminal font.- a bunch of other font packages so that web pages look good (
ttf-mac-fonts
in AUR,ttf-croscore
for substitutes to Windows fonts, etc.) google-chrome
(AUR) andfirefox
.- a terminal-based mail setup using
isync
(mbsync) to sync my Gmail locally,msmtp
to send email,notmuch
to index my emails, andalot
as terminal-based mail agent. I have a user systemd service running regularly to automatically sync this.
It… Just Works?
Okay so you really have to do a lot of manual set-up, few things work automatically out-of-the-box, but with a bit of work, I think pretty much everything works? Let’s see:
- Screen looks great. Like, sometimes I forget if I’m in macOS or Arch, I’ll move the mouse to the top and wait for an apple menu to appear.
- Trackpad works great too, not quite as versatile as on macOS, but still works really well (it is a bit more forgiving on macOS if too much of the finger drags on it). I use
libinput
to enable natural scrolling so I’m not all confused when switching OS. - Function keys work, namely the screen brightness, keyboard brightness and volume keys. I haven’t bothered doing anything with the other ones, but I’m pretty confident they could be made to work easily enough.
- As mentioned, brightness works,
acpilight
provides keyboard brightness andpommed-light
(AUR) handles screen brightness. - Sound works, I used
ALSA
for the sound, and anxbindkeys
file to map the volume function keys toamixer
increase/decrease/toggle. Headphones work too. - Camera works, with
bcwc-pcie-git
andfacetimehd-firmware
packages (both AUR). - Sleep/resume works, without anything special that I can recall.
- HDMI works with
xrandr
, I even configured i3 with a specific layout when an HDMI screen is plugged in so I can work with two monitors. - Bluetooth works with
bluez
andbluez-utils
to usebluetoothctl
command-line tool to pair a device. Apple’s Magic Trackpad works fine. - Printing works with
cups
and thehplip
driver for my wi-fi HP printer.
Really, I can’t think of anything I use on my Macbook Pro that doesn’t work under Arch Linux (I haven’t tried the card reader nor the thunderbolt ports). And unlike under macOS where I struggle to maintain 10-15GB of free disk space, on my Arch disk with all my emails synced locally, I still have just under 100GB free. I’m really glad I didn’t opt to buy a separate laptop, not only did I save a significant amount of money, I now have my favorite OS available on my favorite hardware.
Author: Michael Minn (www.michaelminn.com)
21 January 2017
Describes how to set up an Debian 8.7 (Jesse) operating system on aMacBook Pro 8.2 Computer
1. Introduction
This page describes how to install aDebian 8.7 (Jesse) Linux operating systemon a MacBook Pro 8.2 notebook computer.
Linux will run fine on this machine, although there are somequirks that make installation a bit of a challenge. Most notableis the presence of two video chips on this machine, which requiressome cryptic file editing.
- Intel Core i7-2635QM 2.0 GHz Processor (4-core, 8-thread)
- 6 MB SmartCache
- 4GB (two 2GB SO-DIMMs) of 1333MHz DDR3 memory; two SO-DIMM slots support up to 8GB
- 500.11 GB (5400 RPM) Toshiba MK5065GSF SATA hard drive
- 8x slot-loading SuperDrive (DVD+-R DL/DVD+-RW/CD-RW)
- 15.4-inch diagonal 1440 x 900 WXGA+ LED-backlit glossy widescreen display
- Two video chips:
- Intel HD Graphics 3000 384 MB
- AMD Radeon HD 6400M/7400M Series VGA compatible controller
- Two USB ports
- MagSafe power port
- FireWire 800 port (up to 800 Mbps)
- Two USB 2.0 ports (up to 480 Mbps)
- Thunderbolt port (up to 10 Gbps)
- Audio line in
- Audio line out
- Kensington lock slot
- Gigabit Ethernet port, Broadcom NetXtreme BCM57765 Gigabit Ethernet PCIi (rev 10)
- SDXC card slot, Broadcom BCM57765/57785 SDXC/MMC Card Reader (rev 02)
- Broadcom BCM4331 802.11a/b/g/n (rev 02)
- Webcam and Microphone
- 78-key US keyboard
- Multi-Touch trackpad
- Dimensions: 14.35 in. x 9.82 in. x 0.95 in.
- Weight: 5.6 pounds
- Manufactured late 2011
2. Network Install
Best Linux For Macbook Pro 2009
These instructions largely follow theDebian MacBook Proinstallation instructions. You will need a wired Ethernet connection.
Clean OS X: I got this machine used, so the first thing I did waswipe the hard driveand perform a clean install of Mac OS X 10.11 (El Capitan).
Create Network Install Thumb Drive: If you have anexisting Linux box, you can download network install image and copy it to a USB drive.No exotic third party utilities are necessary, although note thatit is being copied directly to the disk device rather than a mounted filesystem:
Boot into Internet Recovery Mode: Holding downOption + Command + R on boot will put you in Internet recovery mode,which will allow you to split the partition.
The first challenge is that Mac OS X is installed with CoreStoragephysical volumes, that must be reverted first. Open a terminal (Utilities -> Terminal) andlist the volumes:
When you have the core storage volume name you can revert. Thisis the volume name on my machine:
You can then start the Utilities -> Disk Utility, select the diskand resize the partition. I resized it to half so the Mac side would still be useful.
Boot the thumb drive: Place the bootable thumb drive into a slot and reboot,Holding down the Option key, which will cause an EFI Boot into the network installer.
Installation Options: The following are the installation options I chose:
- Language (English)
- Location (USA)
- Keymap (American English)
- Non-free firmware: This is needed Broadcom wireless chip firmware (b43/ucode29_mimo.fw ...). It is easiest to skip this and do it lateronce the OS is installed
- Hostname (your choice of an arbitrary name)
- Domain name (localhost)
- Root password (write this down somewhere safe)
- Real name (you may want to give something fake to preserve privacy)
- User name (your choice)
- User password (your choice)
- Time zone (your choice)
Guided Disk Partition: This is what I chose:
Base System Install: Took me about 6 minutes
Main Install: This is the first of the tricky parts,since you need to avoid installing a desktop so you can deal withthe graphics chip issue manually:
Best Linux Distro For Macbook Pro 2012
- Select a mirror (your choice)
- Popularity contest (NO)
- Software selection (NO debian desktop, standard system utilities)
- DO NOT INSTALL A DESKTOP
The install ran about 45 minutes
Install Software: The network install misses some importantpackages you will need. Log in as root and install:
Video Chip Disable: If you do an ordinary boot with thismachine, the boot will complete, but the display will show onlya blinking cursor. This trick was gleaned fromthis ArchLinux install page.
To disable the second chip, you need to add the following outblines to the /etc/grub.d/00_header file immediatelyafter the set gfxmode... line:
outb() does low-level port output and writes to the video controller.
Then update grub:
reboot by pressing the power button to shutdown.
3. Wireless
The Broadcom 4331 wireless works fine, but you have to install some firmware.
Add the following repository to /etc/apt/sources.list:
Install the firmware package:
After you reboot, wlan0 will be available. Some commands:
WPA encrypted networks require the wpa_passphrase utility:
4. Removing systemd
systemd is an init system that bootstraps user space and managesprocesses. It has largely replaced the UNIX System V init systems on mostdistributions, with the objective of unifying basic Linux configurations acrossdistributions. systemd has provoked considerable controversy because of itscomplexity and violation of fundamental Unix dependency philosophy.
It is actually fairly easy to remove and replace with classic Sys V,as described in these instructions. As with any major system change,full backup is recommended before proceeding.
- Install the System V init packages:
- Copy the new inittab booting run level file:
- Add this line to /etc/default/grub with this line (not sure this is necessary):
- Update the GRUB bootloader:
- Reboot
- Remove the systemd package:
- Create the /etc/apt/preferences.d/systemd fileand add these lines to it:
- Verify systemd is gone from your system. It is an insidiouspackage that is a bit difficult to confirm is gone:
5. Removing the Desktop
If you're hard core command line and don't want the clutter and delay of thea desktop, you might consider getting rid of the desktop altogether andjust using a window manager to manage xterms and X applications started fromthe xterms. This will speed your boot time a bit and get rid of some annoyingbackground daemons.
IceWM: Although I used the venerable Motif Window Manager (MWM) for a number of years (from the motif-clients package), this version of mwm locks up whenX is started. So I switched to the ICE Window Manager,which has a few more features (like a task bar with graphical system monitoring)but is still fast and lightweight:
.xinitrc is a file that is executed when X is started. Create a .xinitrc in your home directory (/home/<username>) and type thefollowing lines. This creates a couple single terminal window, sets the 'desktop' color to pleasant shade of greenish grey blue and startsthe window manager. When you type 'startx', from the text login, it will start an xterm, in which you can type commands to start other programs. You can create additional terminal windows from a popup menu when you right-click on the desktop.
I found the full brightness to be a bit much, especially in contrast to older, dimmer LCD displays. The backlight doesn't seem to be accessible through ACPI, but the xgamma command adjusts midtones (gamma) and warms things up a bit, although this is optional.
PulseAudio is a nasty sound server that adds latency and eats up CPU. If you don't have the desktop you can ditch it.
However, you will need to deal with protections set up for ALSA that willkeep your applications from being able to access the sound devices. Add yourselfto the audio group:
Configure GRUB for terminal mode start:It is helpful to see what is goin on during boot rather than have bootmessages hidden behind the splash bitmap just in case there's a boot problem(which used to happen alot). Adding this line to the /etc/default/grubfile will cause the machine to boot in console mode:
Best Linux For Macbook Pro 2013
Then run:
After these changes, on boot you will see the system startup messagesand then be greeted with a console login prompt. After logging in, youcan use the startx command to start the graphical desktop.
6. Webcam
The webcam is /dev/video0 and you can look at yourself with:
Best Linux Distro For Macbook Pro 2015
To access the camera, you need to add yourself to the video group:
7. TrueType Fonts
The X window server supports TrueType (tm) fonts, although installing them via the command line is a bit more cumbersomethan with an installer program or package. If you've got some on a Windoze box, TrueType fonts tend to look quite a bit better than the fonts that come with the distributions. And if you're doing any web development, you need them to have at least a guess as to whatyour pages look like on a Windoze box.
Unfortunately, the FontPath configuration that specifies the directorieswhere fonts are located is compiled into the X binary and is not configurable.While 'xset +fp' can add a directory to the font path, that setting is not permanent and is lost when you reboot. xset cannot be added to a local configuration file like .xinitrc. This is not a problem for newer applications that use fontconfig,but this may represent an issue for older applications that only usethe X font paths. The kludge is to copy the fonts you want to add into one of the configured truetype font directories.
Copy the fonts into a shared font directory: You can do an 'xset -q'to find the configured Font Paths for your X configuration:
Chose one of the directories listed in 'Font Path'and copy your .ttf font files into that directory. In my case, I chose to use/usr/share/fonts/X11/misc. While you could create a new directory under /usr/share/fonts, fonts installed there would not be visible to xlsfonts or older X applications.
Then run mkfontscale to create the fonts.scale file andmkfontdir to create the fonts.dir files used by the X server. You should also change the owner of all the files to root to avoid permission problems. The mkfontscale and mkfontdir steps are critical if you want to be able to list your fonts with xlsfonts or other legacy X applications.
You can check to verify the fonts are loading by startingan X application (like gimp). The xlsfonts command lists fontsavailable directly from X and the fc-list command lists fontsavailable through fontconfig.
Best Linux For Macbook Pro Mid 2009
The listing will likely be long, but if the fonts are loadingcorrectly, you will see X font names like these (for Arial andGaramond, respectively):
Best Linux For Macbook Pro 2008
You can bitch all you want about the Yankees and greed but they spend money in a sincere effort to win it all, every year. What fan wouldn't want their teams to do that.(Curt Schilling)