Привет, %username%!
Не успел Google выпустил свой новый хромбук за 249$ с двухядерным 1.7 ГГц ARM процессором как тут же по сети стали появляться статьи про тесты его впечатляющей производительности под Ubuntu, про установку на него Fedora и openSUSE. Ну а я, в свою очередь, заполучив его в свои руки не смог удержаться и тоже запустил на нем GNU/Linux.
Как настроить dual-boot без потери ChromeOS читаем под хабракатом.
Работа основана на посте Andrew Wafaa.
Перед началом работы
Убедитесь что у вас есть:
- Google ARM Chromebook;
- флешка или карта памяти объемом хотя бы 8 ГБ (зависит от выбранной системы);
- компьютер под управлением Linux;
- и немного любопытства :)
Режим разработчика
Прежде всего, для возможности загрузки другой ОС на хромбуке, необходимо активировать Режим разработчика. Обращаю внимание, во время активации Режима разработчика все ваши данные будут уничтожены! Для этого на выключенном хромбуке зажимаем одновременно кнопки Esc + Refresh и включаем его нажав Power. Далее, вызываем Recovery, в нем нажимаем Ctrl + D, подтверждаем и ждем пока закончится подготовка системы. По завершению подготовки система перезагрузится с уже активированным режимом разработчика.
Создание образа для восстановления (опционально)
Для его создания понадобится еще одна флешка. Чтобы начать, откройте в хромбуке специальную страницу: «chrome://imageburner» и подтвердите создание образа.
Скачиваем систему
Далее следует определиться с предпочтениями и загрузить один из вариантов:
- Ubuntu: Linaro Nano (минимальная версия, только консоль), LXDE вариант или Stock Ubuntu Desktop;
- Fedora: Console (минимальная версия, только консоль) или XFCE;
- openSUSE: JeOS (минимальная версия, только консоль) или XFCE
⇒ Лично я выбрал Ubuntu Desctop и ставил его на SD карточку. Хотя все последующие шаги, в большинстве случаев, подходят один к одному (независимо от носителя: флешка или SD карточка) и для других дистрибутивов, либо же нуждаются в незначительных изменениях.
Подготовка загрузочной SD карточки
Далее следует создать два раздела используя parted и gdisk:
sudo parted /dev/sdX
создаем таблицу GPT
mktable gpt
подтверждаем (все данных с флешки будут утеряны)
yes
выходим
quit
Запускаем gdisk
sudo gdisk /dev/sdX
и задаем выравнивание секторов 4M
x
l
8192
m
Теперь создаем два раздела на нашей SD карточке (один для ядра и другой для корневого раздела):
n
1
<press enter>
+16M
7f00
n
2
<press enter>
<press enter>
<press enter>
w
y
Создаем ФС и монтируем ее:
sudo mkfs.ext4 /dev/sdX2
sudo mount /dev/sdX2 /mnt
Распаковываем выбранный ранее дистрибутив:
cd /mnt
sudo tar xvpf ~/Downloads/target_rootfs.tar.bz2
⇒ Внимание! Проследите чтобы после распаковки в /mnt/ был корневой каталог вашего дистирбутива.
Обеспечение поддержки хромбука
Вставляем карточку в запущенный хромбук, убеждаемся что ChromeOS увидела два раздела, и нажимаем Ctrl + Alt + T. В открывшемся окно выполняем команду shell и попадаем в консоль хромбука. Далее запускаем следующие команды:
cd /media/removable/External Drive 1
sudo cp -r /lib/firmware/* lib/firmware
sudo cp -r /lib/modules/* lib/modules
sudo vi usr/share/X11/xorg.conf.d/50-touchpad.conf
>> Section "InputClass"
>> Identifier "touchpad"
>> MatchIsTouchpad "on"
>> Option "FingerHigh" "5"
>> Option "FingerLow" "5"
>> EndSection
sudo cp -r /tmp/chromeos-rootfs/usr/share/alsa/ucm/* usr/share/alsa/ucm
Ядро и загрузчик
cd /tmp
echo "console=tty1 debug verbose root=/dev/mmcblk1p2 rootwait rw" > /tmp/config
vbutil_kernel --pack /tmp/newkern --keyblock
/usr/share/vboot/devkeys/kernel.keyblock --version 1 --signprivate
/usr/share/vboot/devkeys/kernel_data_key.vbprivk
--config=/tmp/config --vmlinuz /boot/vmlinuz-3.4.0 --arch arm
dd if=/tmp/newkern of=/dev/mmcblk1p1
Активируем возможность загрузки со сменных носителей
Для этого выполняем две следующие команды:
crossystem dev_boot_usb=1
cgpt add -i 1 -S 1 -T 5 -P 10 -l KERN-A /dev/mmcblk1
Загрузка
Теперь, проделав все вышеописанные шаги, можно загружаться во вновьподготовленную систему. Во время загрузки хромбука, когда на экране будет предупреждение о включенном Режиме разработчика, можно нажать Ctrl + U для загрузки с флешки (карточки памяти) либо Ctrl + D (или просто подождать 30 секунд) для загрузки штатной ChromeOS.
Впечатления от работы
Прежде всего стоит отметить что пока еще не все работает корретно. Например, на данный момент не реализовано аппаратное ускорение графики и есть некоторые трудности со звуком. В целом же, по моим ощущениям установка приложений и их холодный старт довольно медлительны. Но после запуска приложения работают довольно неплохо. Так были опробованы Firefox, Chromium, Libre Office. Кроме того, без сучка и задоринки установился и заработал стек приложений LAMP. Так же, помимо Unity были успешно загружены и проверены LXDE и XFCE. Последний, как по мне, куда комфортнее для работы на хромбуке.
Дополнения
По отзывам в интернете, для включения звука в загруженном дистибутиве советуют выполнить
alsaucm -c DAISY-I2S
Но будьте осторожны, были случаи когда после манипуляций со звуком сгорали динамики хромбука!
Так же вам могут быть полезны следующие ресурсы:
- ARM ChrUbuntu 12.04 Alpha 1 Now Available For New Chromebooks!
- Google Plus Olof Johansson — Hack your Chromebook
Автор: Labinskiy