Установка на Nexus 7
SDK
Установите пакет android-tools[1]. Проверка[2]:
host# adb devices * daemon not running. starting it now on port 5037 * * daemon started successfully * List of devices attached xxxxxxxxxxxxxxxx recovery host$ adb shell #
Разблокировка
- запустите загрузчик (bootloader) Android. Для этого выключите устройство, затем зажмите кнопку уменьшения громкости и нажмите кнопку питания. Держите обе кнопки, пока не увидите интерфейс загрузчика.
- подключите устройство к компьютеру с помощью USB-кабеля.
- проверьте[3] список устройств с помощью утилиты fastboot:
$ sudo fastboot devices 1234567891234567 fastboot
- разлочьте устройство — на его экране появится предупреждение о последствиях разблокировки и инструкция по её произведению. Внимание: данная операция удалит все персональные данные с устройства!
$ sudo fastboot oem unlock (bootloader) erasing userdata... (bootloader) Bootloader is unlocked now.
- перезагрузите устройство:
$ sudo fastboot reboot-bootloader rebooting into bootloader...
...или просто нажмите на кнопку питания.
Поддержка множественной загрузки
NB: опытным пользователям обычного Linux предстоит некоторый культурный шок от процедуры скачивания zip с файлообменника по ссылкам с форума и просмотра документации на youtube... YHBW
Дальнейшие действия предполагают выполнение в каталоге, где будут сохраняться загруженные файлы, которые могут пригодиться в будущем -- наверное, стоит создать отдельный каталог и перейти в него.
- скачайте по ссылкам из этого сообщения:
- MultiROM (например, multirom_v10_n7-signed.zip)
- Modified recovery TWRP (например, TWRP_multirom_n7_20130416.img)
- Kernel w/ kexec-hardboot patch (например, kernel_kexec_422.zip для Android 4.2.2 или kernel_kexec_42-2.zip для Android 4.2.1)
- сверьте контрольные суммы с указанными в сообщении:
$ md5sum multirom_v*_n7-signed.zip TWRP_multirom_n7_*.img bc79ae7e5e4f1543375e7870a1d9b909 multirom_v10_n7-signed.zip fafa2d33f2d967b9c7eebc759c4e0462 TWRP_multirom_n7_20130416.img
- прошейте TWRP_multirom_n7_дата.img:
$ sudo fastboot flash recovery TWRP_multirom_n7_дата.img
- скопируйте multirom_vX_n7-signed.zip и kernel_kexec_4Y.zip на устройство:
$ sudo adb push multirom_vX_n7-signed.zip /data/media/0/Download/ $ sudo adb push kernel_kexec_4Y.zip /data/media/0/Download/
- снова запустите на планшете загрузчик (bootloader), как описано выше
- при помощи кнопок громкости и питания выберите Recovery и загрузите его
- прошейте[4] multirom_vX_n7-signed.zip с помощью раздела Install меню TWRP — файл будет находиться в /data/media/0/Download/:
- выбираем раздел Install
- переходим из /sdcard в корень файловой системы при помощи пункта "Up a level"
- идём в data ▷ media ▷ 0 ▷ Download
- выбираем multirom_vX_n7-signed.zip
- подтверждаем прошивание
- аналогично прошейте новое ядро kernel_kexec_4Y.zip из того же каталога
Подготовка ROM info
Сохраните следующий текст в файл rom_info.txt, он подойдёт для всех образов ALT Linux для Nexus 7 и нужен для того, чтобы мультизагрузчик нашёл образ ОС:
type="kexec" root_dir="%m/root" kernel_path="%r/boot/vmlinuz" initrd_path="%r/boot/initrd.img" base_cmdline="%b root=%d rootflags=data=writeback,discard ro console=tty1 fbcon=map:0 fbcon=vc:1-4 fbcon=rotate:1" dir_cmdline="rootsubdir=%s"
Установка образов
- Скачайте отсюда, если хотите обновляться далее из Sisyphus, или здесь, если предпочитаете стабильный бранч p7, тарбол с подходящей вам средой окружения. Например (и далее), для образа с kde4 Sisyphus:
$ wget -c http://nightly.altlinux.org/sisyphus-arm/current/regular-arm-kde4-latest-armh.tar.gz
- Залейте тарбол на устройство.
$ adb push regular-arm-kde4-latest-armh.tar.gz /data/media/0/multirom/roms/
- Создайте каталог для инсталляции образа. Например, так:
$ adb shell mkdir -p /data/media/0/multirom/roms/kde4-latest/root
- Распакуйте тарбол в только что созданный каталог:
$ adb shell tar -C /data/media/0/multirom/roms/kde4-latest/root -xf /data/media/0/multirom/roms/regular-arm-kde4-latest-armh.tar.gz
- Залейте файл rom_info.txt:
$ adb push rom_info.txt /data/media/0/multirom/roms/kde4-latest/
Возможно держать несколько корней параллельно в разных каталогах.
Загрузка ALT Linux
После перезагрузки должно появиться меню MultiROM, где возможно выбрать раздел Internal и в нём, например. kde4-latest (имена пунктов совпадают с именами каталогов, в которых расположены развёрнутые чруты). Остаётся нажать Boot :)
Устранение неисправностей
Ядро загружается, при проверке корневой ФС происходит сбой
К сожалению, на разных устройствах нужный раздел может оказаться /dev/mmcblk0p9 либо /dev/mmcblk0p10; в регулярных сборках за апрель-май 2013 предполагается первый вариант, если при загрузке образа наблюдается подобное сообщение:
*** An error occurred during the file system check. *** Dropping you to a shell; the system will reboot *** when you leave the shell.
— придётся скорректировать /etc/fstab в чруте. Для этого:
- принудительно выключите устройство десятисекундным удержанием кнопки питания
- загрузитесь в Recovery
- подключите USB-шнур к компьютеру
- выполните команду:
$ sudo adb shell sed -i 's/blk0p9/blk0p10/' /data/media/0/multirom/roms/kde4-latest/root/etc/fstab
- ...и можно загружаться.
Включение USB Debugging
http://www.youtube.com/watch?v=mp07dPusJNA
Примечания
- ↑ ...либо скачайте и разверните ADT bundle
- ↑ если adb "задумывается" и сообщает "no permissions", запустите его один раз с правами root, после запуска фонового процесса с ним можно работать с пользовательскими правами
- ↑ Здесь и далее вывод утилит может приводиться в сокращённом виде
- ↑ эти две операции производятся на самом Nexus