MacBookPro 2014 13인치 (MacBookPro11,1) 우분투 14.04 LTS amd64 설치기

입질쾌감 물때표

우분투 설치후 나타나는 문제들

얼마전에 맥북을 샀는데 나는 MacOS를 사용하기 위해서 구입하지 않았다. Ubuntu를 설치해서 레티나 디스플레이로 FHD 해상도 그 이상을 사용하기 위해서 구매했다.
역시 레티나의 해상도는 그야말로 노트북에서 사용하기에는 정말 환상적이지 않을 수가 없다. 이 해상도로 Eclipse등을 열어서 활용하면 얼마나 좋을까?

물론 눈에는 너무나 작은 글씨들로 보여 피로를 느낄수 있다. 그것은 상황에 따라서 해상도를 바꿔가면서 사용하면 그만이다. 이유가 어찌되었던 우리는 ‘맥북의 배터리와 해상도’에 ‘애플빠’라는 말을 듣더라도 추종할수 밖에 없는 현실이다.
이러한 부분들을 만족시켜주는 노트북은 찾아보기 매우 힘들다.

일단 구매했으니 우분투를 설치하고 멀티 부팅으로 Ubuntu의 화면으로 들어갔다. 모든게 정상적으로 돌았으면 하는 기대와 달리 여러가지 문제들로 몇시간 가량을 구글링을 할 수 밖에 없었다. 여러 문제들을 해결했으나 전체를 해결하지는 못했다.
결론상은 Sleep모드에서 WakeUp 될때의 시간이 약 20초정도 걸린다는 문제는 해결하지 못했다. 그래도 되는 것이 어디인가. 어쨌든 난 이제 맥북에서 Ubuntu를 사용할 수 있는 준비가 되었다.

아래에 설치후 부딪혔던 문제들을 설명하고 해결방법들을 적어둔다.

설치단계

MacOS에서 파티션을 구성하는 “디스크 유틸리티”에서 우분투를 위한 파티션을 2개를 만들어야 한다. 하나는 ‘/’로 사용하는 파티션이고 다른 하나는 ‘Swap’ 파티션이다. 스왑파티션은 반드시 자신의 Ram용량보다 크게 잡아놔야 한다. 리파티션이 되면 ReFind 프로그램을 설치하고 우분투를 설치한다.
refind
refind 다운로드 받기
설치방법은 따로 구글링을 해서 안내받도록 한다.

설치완료후 문제점들

Wifi가 SleepMode에서 Wakeup되면 작동안함
$ sudo vi /etc/pm/sleep.d/99_myfix 
#!/bin/sh
case "$1" in
        resume|thaw)
                service network-manager stop
                rm /var/lib/NetworkManager/NetworkManager.state
                service network-manager start
                ;;
esac

$ chmod +x /etc/pm/sleep.d/99_myfix 

위의 파일을 만들어서 놓고 재부팅을 해보면 Wifi가 Wakeup이 되어도 잘 작동하는 것을 확인할수 있을 것이다.

SleepMode에서 키보드라이트가 계속 켜져있음
$ sudo vi /etc/rc.local
# 아래가 부분이 키보드라이트를 부팅시에 아예 꺼주는 역할을 한다. (주의) 우분투 X윈도우에 로그인을 해야 적용된다.
echo 0 > /sys/devices/platform/applesmc.768/leds/smc\:\:kbd_backlight/brightness
STA1 에러가 계속해서 콘솔에서 나옴

ALT+CTRL+FN+F1키를 눌러보면 알수 있는데 증상은 아래와 같다.

[  882.793794] ata1: exception Emask 0x10 SAct 0x0 SErr 0x10000 action 0xe frozen
[  882.793798] ata1: irq_stat 0x00400000, PHY RDY changed
[  882.793799] ata1: SError: { PHYRdyChg }
[  882.793803] ata1: hard resetting link

위의 로그가 계속해서 콘솔화면에 뿌려지는 현상을 볼수 있다. 사용하는데는 큰 불편은 없을수 있지만, 그래도 눈에 계속해서 거슬리기에 아래처럼 해결해 주자.

sudo vi /usr/lib/pm-utils/power.d/sata_alpm

#!/bin/sh

. "${PM_FUNCTIONS}"

SATA_ALPM_ENABLE=${SATA_ALPM_ENABLE:-false}

help() {
cat <<EOF
$0: SATA link power management

This hook tries to save power by allowing SATA controllers to
reduce power usage when the SATA subsystem is otherwise idle.

This adds a little bit of latency to drive accesses in
exchange for moderate power savings if you are not using the drive.

This hook has 1 parameter:
SATA_ALPM_ENABLE = whether to use SATA ALPM on battery.
Defaults to "false".

EOF
}

set_sata_alpm() {
    # see kernel commit 6013efd8860bf15c1f86f365332642cfe557152f
    kv="$(uname -r)"
    [ "$kv" ] || exit $NA  #for paranoia's sake
    [ "${kv%-*}" \< "2.6.33" ] && exit $NA  # avoid fs corruption
    for f in /sys/class/scsi_host/host*; do
    [ -w "$f/link_power_management_policy" ] || continue
    printf "Setting SATA ALPM on %s to %s..." "${f##*/}" "$1"
    echo "$1" > "$f/link_power_management_policy" && echo Done. || \
        echo Failed.
    done
}

case $1 in
    true) [ "$SATA_ALPM_ENABLE" = true ] && set_sata_alpm min_power;;
    # 이부분을 아래처럼 수정해줘야 한다.
    #false) set_sata_alpm max_performance;;
    false) set_sata_alpm min_power;;
    help) help;;
    *) exit $NA;;
esac

exit 0
$ sudo vi /etc/rc.local
echo N > /sys/module/drm_kms_helper/parameters/poll
echo disable > /sys/firmware/acpi/interrupts/gpe66
kworker 프로세스가 CPU점유율을 90% 사용하는 문제

이것은 3.1x 버전의 Ubuntu 커널에 있는 심각한 버그라고 알려져 있다. 맥북에 설치하면 이러한 현상이 생겨 배터리가 광탈하게 되는 ‘맛’을 느낄수 있는데 이문제를 해결하기 위해서는 아래처럼 해줘야 한다.

ei8yk

$ sudo vi /etc/rc.local
# Fn키를 비활성화 시키는 것
echo 0 > /sys/module/hid_apple/parameters/fnmode
# 아래가 부분이 키보드라이트를 부팅시에 아예 꺼주는 역할을 한다. (주의) 우분투 X윈도우에 로그인을 해야 적용된다.
echo 0 &gt; /sys/devices/platform/applesmc.768/leds/smc\:\:kbd_backlight/brightness
# 아래가 kworker 프로세스 점유를 없애주는 방법이다.
echo N &gt; /sys/module/drm_kms_helper/parameters/poll
echo disable &gt; /sys/firmware/acpi/interrupts/gpe66
위의 문제들를 처리하면 커널 옵션에 아래처럼 넣어준다.
$ vi /etc/default/grub

# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
#   info -f grub -n 'Simple configuration'

GRUB_DEFAULT=0
GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=10
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash drm_kms_helper.poll=0 libata.force=ata1:udma133"
GRUB_CMDLINE_LINUX=""

Grub을 업데이트 해주자.

$ sudo update-grub

fixing text scaling for the retina display

$ gsettings set org.gnome.desktop.interface scaling-factor 0
$ gsettings set org.gnome.desktop.interface text-scaling-factor 1

fixing connecting to new wireless networks

$ sudo apt-get install -d –reinstall network-manager network-manager-gnome
$ sudo apt-get purge network-manager-gnome network-manager
$ sudo apt-get install network-manager-gnome

위의 사항들을 적용해 두면 일단 심각한 문제들은 해결된다. 단지 앞에서 언급했던 것 처럼 Wakeup 딜레이되는 현상이 약간 불만스러울 뿐이다. 그러나 노트북을 덮고 다시 열면 화면은 계속해서 블랙스크린만 보일것이다. 그래서 필자는 노트북을 열고 CTRL+ALT+FN+F1, CTRL+ALT+FN+F7을 번갈아 눌러주고 있다.
이렇게 해주면 한 두번 깜박거리다가 다시 우분투 로그인 화면으로 돌아올 것이다.

이제 2014 레티나 맥북에서 우분투를 즐기자~!

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다