Как настроить Ubuntu 13.04 для сборки Android из исходников

android · ubuntu 13.04 · настройка окружения для сборки из исходников
Для сборки Android из исходного кода потребуется производительное железо Когда мою голову посетила мысль, а почему бы не попробовать собрать Android для моего смартфона из исходного кода, я понял, что начинать нужно с настройки окружения. В качестве операционной системы я выбрал свеженькую Ubuntu 13.04. Системный блок стоит в углу (на нём я ещё параллельно добываю Litecoin) без клавиатуры, мыши и монитора, подключённый только к роутеру — я управляю им с помощью SSH. В связи с этим, вся настройка будет призводиться из командной строки.
Установку Ubuntu 13.04 и openssh-server я опущу, а вот на одной полезной мелочи заострю ваше внимание. При подключении по SSH очень удобно пользоваться утилитой screen, которая позволяет оставить какой-либо процесс выполняться на сервере при отключении от сессии или случайном обрыве соединения (например, ноутбук ушёл в сон, пока вы пили чай на кухне). Screen спасает нервы и позволяет расслабиться, а не бросаться из кухни к ноутбуку с криком "Только не в сон!!! У меня же там идёт сборка ядра!!!" Устанавливаем:
apt-get install screen
Запускать screen тоже просто:
screen
Основные горячие клавиши при работе с утилитой screen, которые я использую чаще всего, это:
  • Ctrl+A+C - создает новую сессию внутри screen
  • Ctrl+A+N - переключение между сессиями
  • Ctrl+A+D - отключение от screen, при этом все сессии продолжают выполняться в фоне
Небольшой нюанс: сначала нажимаете Ctrl+A, а потом отдельно клавишу N, C или D. Чтобы вернуться в screen после отключения, вводим следующее:
screen -x
Остальные особенности этой полезной утилиты, я надеюсь, вы найдёте сами. Приступим к настройке окружения для сборки Android из исходников. Не забываем пользоваться screen. Сначала удалим неправильную версию Java, если она установлена:
sudo apt-get purge openjdk-\* icedtea-\* icedtea6-\*
Следующим шагом будет добавление PPA-репозитория "правильной" Java:
sudo add-apt-repository ppa:webupd8team/java
Подключение репозитория даёт возможность получать обновления Java по мере их появления автоматически. Установим из репозитория необходимые пакеты:
sudo apt-get update && sudo apt-get install oracle-java6-installer
Теперь добавим в систему кучу всякого хлама, который нам позволит собирать Android:
sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev zlib1g-dev:i386 libc6-dev lib32ncurses5-dev ia32-libs x11proto-core-dev libx11-dev:i386 libreadline6-dev:i386 lib32z-dev libgl1-mesa-glx:i386 libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown libxml2-utils xsltproc readline-common libreadline6-dev libreadline6 lib32readline-gplv2-dev libncurses5-dev lib32readline5 lib32readline6 libreadline-dev libreadline6-dev:i386 libreadline6:i386 bzip2 libbz2-dev libbz2-1.0 libghc-bzlib-dev lib32bz2-dev libsdl1.2-dev libesd0-dev squashfs-tools pngcrush schedtool libwxgtk2.8-dev python
И ждём :) Можно отключиться от screen и заняться чем-то ещё. Когда процесс завершится, создаём символическую ссылку для libGL:
sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so
Для того, чтобы выкачивать исходники из Git, нужно установить утилиту repo. Создадим в домашней директории новую директорию bin, скачаем туда repo и дадим права на выполнение:
mkdir ~/bin && curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
chmod a+x ~/bin/repo
Используйте свой любимый текстовый редактор, чтобы открыть ~/.bashrc. Я предпочитаю nano:
nano ~/.bashrc
В самом конце файла вставим следущую строку:
export PATH=~/bin:$PATH
Не забудьте сохранить сделанные изменения (в nano это Ctrl+O и затем Enter). Полностью выйдите из screen, дав команду exit, а затем снова зайдите в screen. Это действие запустит новую сессию с отредактированным ~/.bashrc. Создайте директорию, в которую будут скачиваться исходники и где будет происходить сборка Android:
mkdir ~/android
В следующей статье я опишу как выкачивать исходники и собирать x-loader, u-boot, ядро и файловую систему Android для смартфона на платформе OMAP4. В моем случае это Alcatel OT-986.

Обсуждение

Никто не оставлял здесь комментариев.
Войдите на сайт, чтобы присоединиться к обсуждению.