Không có mô tả

Andrew Swistak ce2e2652ea Add microcode upates to kernel options 11 năm trước cách đây
compton da54705e9f Add inital setup info 11 năm trước cách đây
xorg.conf.d 01d397cec4 Re-add MatchDevicePath to synaptics 11 năm trước cách đây
README.md ce2e2652ea Add microcode upates to kernel options 11 năm trước cách đây

README.md

ArchLinux on MacBook Pro Retina 13" (Model A1502)

Resources

Much of this has been adapted from https://gist.github.com/terlar/6143325. Other parts are mostly from countless Google searches and manic arch wiki scouring.

Pre-install on Mac

This needs revisiting. I already had a partition available from a previous install after the Yosemite update. If all else fails diskutil corestorage revert UUID will remove Apple's logical volume update and allow diskutil to resize a partition normally.

diskutil corestorage list # Need the bottom-most logical volume UUID
diskutil corestorage resizeStack <UUID> <size>

# If that doesn't work, some tinkering may be required along the lines of:
diskutil corestorage resizeVolume UUID <size>
diskutil corestorage resizeDisk UUID <size>

# Once you've got a free partition, you need to
# format an JHFS+ partition for booting via rEFInd
diskutil list # Need free space partition
diskutil partionDisk 2 /dev/diskXsY JHFS+ 'rEFInd' 100M HSF+ 'doesntmatter' R
```

##### rEFInd
First, download rEFInd

/install /Volumes/rEFInd --ownhfs /dev/diskXsY # 'rEFInd' parition

- Edit /Volumes/rEFInd/System/Library/CoreServices/refind.conf
  - scan_delay 1
  - dont_scan_volumes "Recovery HD"
  - timeout 5
- Theme rEFInd (currently https://github.com/EvanPurkhiser/rEFInd-minimal)

#### Installing Arch
Download a pre-built Broadcom wireless driver here: https://drive.google.com/file/d/0B_MBK5kv4gmxOTdvMXNwMU9EOGc/view?usp=sharing or USB tether from a phone to install Arch.

**If using the pre-built package:**

````
mkdir /mnt/usb
mount /dev/sdaY /mnt/usb
cp /mnt/usb/PATH/TO/broadcom-wl-6.30.223.248-2-x86_64.pkg.tar.xz ~
pacman -U ~/broadcom-wl-6.30.223.248-2-x86_64.pkg.tar.xz
modprobe -r wl
modprobe wl
umount /mnt/usb
rmdir /mnt/usb
wifi-menu -o wlp3s0

If tethering from a phone:

ip link # get device name for USB tether
dhclient # dhcp didn't work for my phone
```

##### Bootstrapping

gdisk /dev/sda

mkfs.ext4 /dev/sdaY

and any other partitions

mkswap /dev/sdaZ

mount /dev/sdaY /mnt

if using a seperate home partition

mkdir /mnt/home && mount /dev/sdaY /mnt/home

pacstrap /mnt base base-devel wpa_actiond wpa_supplicant dialog linux-headers sudo genfstab -p /mnt >> /mnt/etc/fstab

SSD optimize /etc/fstab

'defaults,noatime,discard,data=writeback' are generally alright options

if using the pre-built wireless driver method

cp ~/broadcom-wl-6.30.223.248-2-x86_64.pkg.tar.xz /mnt/root

arch-chroot /mnt /bin/bash echo name > /etc/hostname ln -s /usr/share/zoneinfo/America/Chicago /etc/localtime

echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen locale-gen echo LANG=en_US.UTF-8 > /etc/locale.conf export LANG=en_US.UTF-8

vi /etc/mkinitcpio.conf

Add resume after block and lvm2, but before filesystems

mkinitcpio -p linux

rEFInd

echo '"Arch Linux" "root=/dev/sda5 resume=/dev/sda6 rw splash loglevel=3 rootflags=data=writeback libata.force=noncq acpi_osi=Linux acpi_osi='!Windows 2012' acpi=force acpi_enforce_resources=lax i915.i915_modeset=1 i915.i915_enable_rc6=1 i915.i915_enable_fbc=1 i915.lvds_downclock=1 initrd=boot/intel-ucode.img initrd=boot/initramfs-linux.img"' > /boot/refind_linux.conf

NOTE: For intel microcode updates, you'll need to install the intel-ucode package

The initrd option must also be placed early in the boot process

NB: I'm not sure about all the ACPI options, but we'll see how they turn out

useradd -m -g users -G wheel -s /bin/bash username

If you're using the pre-built wireless driver, you can reboot. If not, you may want to see the Yaourt section, and ```yaourt -S broadcom-wl-dkms``` before exiting the live USB.

##### Wi-Fi Setup

```sh
pacman -U /root/broadcom-wl-6.30.223.141-8-x86_64.pkg.tar.xz

sudo wifi-menu -o wlp3s0
sudo systemctl enable netctl-auto@wlp3s0.service
Basic Tools
sudo pacman -S alsa-utils powertop dnsutils net-tools acpi openssh unzip unrar cronie git
sudo systemctl enable sshd cronie
Yaourt (AUR)
sudo pacman -Syy

curl -O https://aur.archlinux.org/packages/pa/package-query/package-query.tar.gz
tar -xzf package-query.tar.gz && cd package-query
makepkg -s
sudo pacman -U package-query-*.pkg.tar.xz

curl -O https://aur.archlinux.org/packages/ya/yaourt/yaourt.tar.gz
tar -xzf yaourt.tar.gz && cd yaourt
makepkg -s
sudo pacman -U yaourt*.pkg.tar.xz

yaourt -S powerpill
Drivers
yaourt -S acpid xf86-video-intel broadcom-wl-dkms xf86-input-mtrack-git macfanctld-git
sudo cp /this/repo/xorg.conf.d/50-synaptics.conf /etc/X11/xorg.conf.d/
sudo systemctl enable acpid macfanctld

yaourt -S pacman -S bluez bluez-libs bluez-utils

Disable that annoying red headphone jack light

amixer -c 0 sset IEC958 off
echo "options snd-hda-intel model=mbp111" >> /etc/modprobe.d/alsa-base.conf

If that didn't work (it probably won't)

yaourt -S hda-verb
# As root
crontab -l | { cat; echo "@reboot /usr/bin/hda-verb /dev/snd/hwC1D0 0x0e SET_POWER_STATE 0x03"; } | crontab -

Make sure to have a cron demon running.

To get sound working, add this to /etc/asound.conf:

defaults.pcm.card 1
defaults.pcm.device 0
defaults.ctl.card 1
Tools
yaourt -S kbdlight xorg-xbacklight
yaourt -S zsh zsh-completions zsh-syntax-highlighting
yaourt -S gvim-pythonsix
gem install gist
Printer
sudo pacman -S cups
User
chsh -s /usr/bin/zsh
usermod -a -G audio,video,network,power,disk,storage,optical,lp,systemd-journal username

GUI

Xorg
sudo pacman -S xorg-server xorg-xrdb xfce4-notifyd
sudo cp /this/repo/xorg.conf.d/10-monitor.conf /etc/X11/xorg.conf.d/
Fonts
yaourt -S ttf-dejavu ttf-symbola ttf-droid adobe-source-code-pro-fonts ttf-linux-libertine ttf-ubuntu-font-family ttf-freefont wqy-zenhei ttf-mac-fonts ttf-envy-code-r ttf-opensans
yaourt -S otf-ipafont ttf-tw ttf-baekmuk ttf-mathtype
Login Manager
yaourt -S slim slim-theme-arch-triforce
sudo systemctl enable slim.service
  • Edit /etc/slim.conf, change theme to slim-theme-arch-triforce
Openbox
yaourt -S openbox tint2-svn compton-git
sudo cp /this/repo/compton/compton_openbox /usr/local/bin/
Apps
yaourt -S scrot feh chromium flashplugin gimp inkscape conky-lua pidgin-mini

# For skype
yaourt -S skype-restricted xorg-xhost
# May want to edit PKGBUILD and remove gksu for something else.
# Note, if you do this, need to also edit /usr/bin/skype wrapper script
echo "user ALL=(_skype) /var/skype/skype" >> /etc/sudoers

Media
yaourt -S mplayer google-talkplugin
Development
yaourt -S postgres mongodb redis heroku-client
\curl -sSL https://get.rvm.io | bash -s stable

Performance

Power
sudo pacman -S laptop-mode-tools cpupower pm-utils upower profile-sync-daemon anything-sync-daemon
sudo systemctl enable laptop-mode cpupower psd psd-resync asd asd-resync

laptop-mode

  • Edit /etc/laptop-mode/laptop-mode.conf with value LM_BATT_MAX_LOST_WORK_SECONDS=15
  • Edit /etc/laptop-mode/conf.d/usb-autosuspend.conf with value AUTOSUSPEND_TIMEOUT=1
  • Edit /etc/laptop-mode/conf.d/intel-hda-powersave.conf with value INTEL_HDA_DEVICE_TIMEOUT=1

cpupower

  • Edit /etc/defaults/cpupower with value governer='powersave'