[РЕШЕНО] Установка Arch Linux на MacBook Air Mid-2013

Апгрейд заметки на 2017-03-27
Вводная - чем не угодила мак-ось? многим, уже обсуждалось -
http://forum.ubuntu.ru/index.php?topic=188198.msg1616627#msg1616627
http://forum.ubuntu.ru/index.php?topic=186509.msg1390332#msg1390332
http://debianforum.ru/index.php?topic=5837.0

По итогам полуторалетней эксплуатации мнение не изменилось - хваленые мультитач-жесты они, конечно, бесценны, но вцелом нет разницы два пальца разводить (для масшт. картинки) или их же вести вверх или вниз, вращение? - за многие годы мне приходилось поворачивать картинки на кратные 90 углы, но не непрерывно (если и непрерывно, то где-то в фотошопе или гимпе). Впрочем, благодаря touchegg (http://archlinux.org.ru/forum/topic/12570/) от тачпада можно добиться даже и большего (апгр - начиная с Гном-шелл 3.16 не работает). Других преимуществ нет - шифрование хуже, долгожительство от батарейки не лучше, интерфейс менее настраиваемый (мне бы шрифты 14) и т.д.

Итак, для установки нужны дрова вай-фай. Рассказ об этом http://archlinux.org.ru/forum/topic/12484/?page=1#post-121047
upd - в репозитории Aur есть, оказывается, дрова уже собранные и готовые к использованию без dkms. Имеет смысл их скачать и использовать.
upd - о загрузчиках
upd - в 2017 вернулся к теме и на этот момент все изменилось. В итоге таки купил на всех один юсб-адаптер за 350р. и необходимость выкачивать заранее нужные пакеты и читать бред отпала

За базу брал инструкцию https://wiki.archlinux.org/index.php/%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE_%D0%B4%D0%BB%D1%8F_%D0%BD%D0%BE%D0%B2%D0%B8%D1%87%D0%BA%D0%BE%D0%B2. Однако она частично устарела и местами рискованна для Мак.

Рискованность - дело в том, что не все понимают гнусность Мака с его загрузчиком. В 2013г. он как-то сменился и те твики, что работали в 2011, не работают. Например, была команда в терминале, уменьшающая время висени белого экрана перед загрузкой альтернативной оси (если нет мак-оси) с 45 до 15с. В 2013г. она приводит к убийству загрузчика и необходимости поднимать мак-ось из рекавери, что приводит к сносу /home (ведь мак-оси для системы 9-10гб, отводимых обычно мною под /home не обойдешься). Так что соторожность и еще раз осторожность.
В 2017 вопрос загрузчика уже как-то утрясся и можно смело ставить систему. Т.е. если ранее реально удавалось накатить Арч по следам установленного Дебиана (не убунты, не федоры, а именно Деб), то сегодня можно обойтись свежим установочным диском Арча. В этой связи неактуальны переживания (Исторически сложилось так, что хоть меня Убунта и допекла, я все же не планировал миграцию даже на Дебиан, не то, что на Arch. Впрочем, с моей страстью выносить из установленной системы "все лишнее" мне изначально была дорога под Арч или Паппи (пользовался и им на Vaio G11).На память приходят попытки "облегчить" редхат в 98г. с многократными падениями системы. Но поскольку на мид-2013г. ничего другого не ставилось с поднятием вай-фая, поставил Дебиан. Отмечу, что http://forum.ubuntu.ru/index.php?topic=225418.0
Дебиан-то мне и ставит корректно загрузчик. Сам. Он сам решилт, куда и что прописать и его методы сработали.ОТмечу, что это был grub 1.9. Его я и буду сохранять, поскольку он не ломался. Т.е. при установленном и даже ненастроенном дебе скопировать в надежное место /boot/grub, он пригодится. Учтите п.3 (ниже). Если у вас всего один этот ноутбук, то откуда-то надо взять дрова (http://archlinux.org.ru/forum/post/121047/), нарезать болванку с Арчем. Идете из-под мак-оси и скачиваете, нарезаете (да, нарезка Арча из-под мак может порадовать неожиданностями)

Актуально на 2017-03 - Макбук грузится с компакт-диска при зажатой кнопке С. Что любопытно - диск, система с СД может грузиться в двух режимах - как uefi или как НЕ uefi. Это имеет существенное значение для установки загрузчика grub. Первая загрузка идет с СД как НЕ уефи, если же в загруженной с диска системе дать команду reboot и не зажимать никакие кнопки, то произойдет повторная загрузка в режме uefi - повторюсь, это важно для правильной установки загрузчика.

Далее вцелом все по инструкции -

1. русский язык на стадии установки не нужен
2. поднимаем вай-фай, воткнув свисток (юсб-донгл), -
сразу после этого

wifi-menu

и мы в сети

3. разбираемся с разделами. У нас, соотв., их два-четыре, т.е. efi (sda1), корень (sda2) и, возможно, home (sda3), и своп (sda4). На 2017 вследствие всемирного увлечения моментальными снимками не только в Инстаграмме, но и в btrfs, тем, кто привык к старым реальностям типа корень, там все, не просто привыкнуть к другой иерархии, я таки в 2017г. на / поставил ext4. Что будет поставлено на sda1 - там всего до 10 метров файлов, т.е. большого раздела не надо. Файловая система fat, метка - загрузочный, тип раздела efi. С остальным разделами дополнительных описаний не требуется - все, как обычно.

В чем тут м.б. сложность (в 2017 не проверял, ведь рефинд у меня стоит с 2013) - в Маке есть загрузчик Мак (какая-то модификация uefi), которая гадит пользователю при отсутствии на машине мак-раздела. Т.е. Мак-загрузчик грузит Рефинд, который был поставлен еще под мак-осью, конфиги рефинда не содержат никаких параметров, указывающих на пути к файлам, в нем можно только отрегулировать тайм-аут загрузчика. Мак-загрузчик грузит рефинд, рефинд сканирует efi раздел на предмет наличия в нем директориев с экзешниками *.efi, один из которых является просто файлом grub.


mkfs.ext4 /dev/sda2
mount /dev/sda2 /mnt
pacstrap /mnt base base-devel
mkdir /mnt/boot/efi
mount /dev/sda1 /mnt/boot/efi
genfstab -p /mnt > /mnt/etc/fstab

Обратите внимание на монтирование в boot/efi ефи-раздела - нужно для установки загрузчика.


arch-chroot /mnt

локализация по -
https://wiki.archlinux.org/index.php/%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE_%D0%B4%D0%BB%D1%8F_%D0%BD%D0%BE%D0%B2%D0%B8%D1%87%D0%BA%D0%BE%D0%B2#.D0.9B.D0.BE.D0.BA.D0.B0.D0.BB.D0.B8.D0.B7.D0.B0.D1.86.D0.B8.D1.8F

сетевое имя машины, ядро, и пр. -

echo myhostname > /etc/hostname
Итак, этап первый -

pacman -S  grub iw wpa_supplicant dialog netctl wpa_actiond

Все, теперь все, что нужно, уже стоит. После решения вопроса с загрузчиком грузимся уже в новую систему. И она загрузится. Но для этого нужно порешать вопросы с загрузчиком. Напомню, у нас есть маковский загрузчик, под ним refit, он уже грузит grub.
nano /etc/mkinitcpio.conf - указываем в модулях нашу видеокарту
MODULES="i915"

делаем конфиг загрузчика -

grub-mkconfig -o /boot/grub/grub.cfg
mkinitcpio -p linux

Теперь ставим загрузчик - если компакт-диск загрузился в режиме uefi, то достаточно просто -

grub-install

Как понять. в каком режиме загрузились? - по простецки, по первым экранам загрузки видно. В НЕ уефи режиме буквы крупыне, а-ля ДОС. В Уефи сразу мелкие, как-бы в иксах. Если так и остались в режиме НЕ уефи, то загрузчик ставится командой -

grub-install --target=x86_64-efi --removable
Теперь перезагружаемся. Без дурацкого "белого экрана", так что можно и спящий режим прикрутить.
Локализация -
https://wiki.archlinux.org/index.php/%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE_%D0%B4%D0%BB%D1%8F_%D0%BD%D0%BE%D0%B2%D0%B8%D1%87%D0%BA%D0%BE%D0%B2#.D0.9B.D0.BE.D0.BA.D0.B0.D0.BB.D0.B8.D0.B7.D0.B0.D1.86.D0.B8.D1.8F

пароли и пользователи -

https://wiki.archlinux.org/index.php/%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE_%D0%B4%D0%BB%D1%8F_%D0%BD%D0%BE%D0%B2%D0%B8%D1%87%D0%BA%D0%BE%D0%B2#.D0.A3.D1.81.D1.82.D0.B0.D0.BD.D0.BE.D0.B2.D0.BA.D0.B0_.D0.BF.D0.B0.D1.80.D0.BE.D0.BB.D1.8F_.D1.81.D1.83.D0.BF.D0.B5.D1.80.D0.BF.D0.BE.D0.BB.D1.8C.D0.B7.D0.BE.D0.B2.D0.B0.D1.82.D0.B5.D0.BB.D1.8F_.D0.B8_.D0.B4.D0.BE.D0.B1.D0.B0.D0.B2.D0.BB.D0.B5.D0.BD.D0.B8.D0.B5_.D0.BF.D0.BE.D0.BB.D1.8C.D0.B7.D0.BE.D0.B2.D0.B0.D1.82.D0.B5.D0.BB.D1.8F

ВАЖНО - ни создание юзера, ни запуск gdm НЕ создают директория пользователя, потому если в Вашем home не будет директория пользователя, то ждм запросто может не вывести окна логина и не пустит в аккаунт. Потому если такого директория нет ("чистая" установка), то его следует создать и указать владельца (применимо в случае накатывания поверх уже имеющегося каталога, поскольку в создаваемой и более ранеей системе id пользователя могут различаться, что особо часто случается в системах, где пользователей не один штук) -


mkdir /home/user
chown -R user /home/user

а если у нас уже был /home, то надо дополнить фстаб (пример с бтрфс)-


echo '/dev/sdaНАШ /home    btrfs rw,noatime,compress=lzo,space_cache,ssd,discard 0  0' >> /etc/fstab
Теперь прописываем сервисы (например, сам по себе после установки ждм запускаться не будет, его надо прописать в сервисы).

Родные броадкомовы дрова, регулировка подсветки, дрова веб-камеры ставятся из AUR, для этого надо установить yaourt - ситуация все время меняется, в этот раз пришлось использовать доп. репозиторий, для этого

nano /etc/pacman.conf и вставляем в него,

[archlinuxfr]
Server = http://repo.archlinux.fr/$arch

кроме того закомментить SigLevel = и дописать в конец файла

pacman-key --init
pacman-key --populate archlinux

(после установки вернуть обратно - раскомментировать первое и закомментировать вставленное)
О регулировке подсветки - без нее после выхода из ждущего режима подсветка не регулируется. (источник - https://github.com/patjak/mba6x_bl), а также дрова веб-камеры и вай-фай карты -


yaourt -S mba6x_bl-dkms bcwc-pcie-dkms broadcom-wl
Если не желаете пользоваться гномовским Нетворкманагером, просто не запускайте его как сервис, а в терминале пользуйтесь wifi-menu

ОТносительно выбора способа ввода (клавиатура) - в среде Гном3.10 можно (было) этим не заниматься, гноме-твикере можно выбрать способ переключения клавы и жить счастливо - так было до обновления Гнома числа 10-окт-13.
При этом в том же гном-твикере можно будет указать клавиатурным индикаторам - я, например, предпочитаю видеть горящей лампочку КапсЛук как индикатор смены раскладки и нахожу это более информативным, чем маленький значек клавы вверху в углу. Раскладку клавиатуры (язык-способы ввода) можно выбрать как просто Русский (по умолчанию), а можно как русский (Макбук) - тогда точка и пр. будет там, где нарисовано на клавиатуре, а не справа от Ю. Если же в способах Ввода добавить вторую клаву Англ (хотя она итак была), с одной стороны
+ появится значек языка справа в паннели
+ при нажатии CMD+пробел на экране, по центру будет показывать смена раскладки и при этом установленные в ГномТвикере клавиши смнеы раскладки тоже будут работать
- поломается работа лампочки-индикатора раскладки

Что в итоге получили?

если в Дебе на ядре 3.11 при загрузке до запроса пароля на шифрованный диск проходило не менее 8,5сек., то на Arch 4,5 при том, что это уже в процессе поднятия сетевого соединения вай-фай (это даже пароль мешает ввести). А время работы от батарейки едва ли не раза в 1.5 больше. Во всяком случае в сетке вайфай, пассивном браузеринге (без флэш), отключен БТ, притушен экран (ползунок на 10%) и клавиатура, через два часа работы от батарейки батарейки пишет, что еще оставлось часов 10-12 (в 2017 тот же ноутбук живет в хорошем случае часов 5-8, но ведь и сайты стали другими, и нагрузки). Это вот объективное сопоставление двух систем на одной машинке с одинаковым софтом.

ЕСЛИ:

а) хочется настроить тачпад по аналогии с http://support.apple.com/kb/HT4721?viewlocale=ru_RU&locale=ru_RU
то вам сюда - http://archlinux.org.ru/forum/topic/12570/?page=1#post-122385
второй вариант - https://aur.archlinux.org/packages/xf86-input-mtrack-git/
Во втором варианте настраивается глобальное поведение тачпада, одинаковое во всех программах, Точчегом можно настраивать индивидуально для каждой программы (при этом Точчег иногда приводит к перезагрузке иксов). Кому что нравится, при всех недостатках я предпочитаю Точчег.

б) если будет залипать система (ругаться на винчестер - распространенный баг, не связанный с МАКами, описывать не буду, выражается в залипании системы секунд на 20 и более), то надо переходить на btrfs http://archlinux.org.ru/forum/topic/12602/?page=1, и (или) запускать ядро с параметром libata.force=noncq, http://archlinux.org.ru/forum/post/123505/
в) если захочется сделать авторегулировку подсветки клавиатуры (по датчику освещенности), то вот пожалуйста - https://wiki.archlinux.org/index.php/MacBook#Light_sensor
может в блоги перенести?
такие дела.
cucullus
может в блоги перенести?

Я блогов не веду, если моежете перенести, то пожалуйста.
было бы неплохо если бы команды обрамлялись тегом code, так текст станет более восприимчивым

p.s.
возможно я всё же придираюсь, но не вредности ради
небольшой апдейт, опечатки, оформление. А фрагменыт кода я все же без # - по себе знаю удобство копировать\вставить\исполнить, которому # мешает.

Попутно для проверки инструкции сегодня еще разок накатил систему. Надо же, работает.
wau, символы "#" и "$" помогают понять, какие команды выполняются с правами root-а ("#"), а какие должны быть выполнены от простого пользователя ("$").
Но если у вас в инструкции все выполняется только с рутовыми правами, то, по моему мнению, можно указывать только команду.
Как-то так.
vadik
wau, символы "#" и "$" помогают понять, какие команды выполняются с правами root-а ("#"), а какие должны быть выполнены от простого пользователя ("$").
Но если у вас в инструкции все выполняется только с рутовыми правами, то, по моему мнению, можно указывать только команду.
Как-то так.
Если совсем просто, эти символы НЕ НАДО НАБИРАТЬ, это приглашение консоли :)
Если совсем просто, эти символы НЕ НАДО НАБИРАТЬ, это приглашение консоли :)
Так я и не писал, что их надо набирать! Я писал, что они помогают визуально различить, какие команды, от какого пользователя должны выполняться.
Какая-то порнография
Ну вот, и виндузятники не сумели пока решить вопрос работы встроенной камеры, а вот со временем работы от батарейки просто лузеры - какие-то несчастные 8 часов против моих ощутимо больше 10.
http://habrahabr.ru/post/213223/

Однако можно позавидовать им в том, что загрузка пролетает без нелюбимого Белого экрана, без Тадама, и, возможно, без описанного бага с подсветкой экрана (после Ждущего режима работает только максимальный уровень подсветки).
 
Зарегистрироваться или войдите чтобы оставить сообщение.