wiki:somiq-am37-android-ics
no way to compare when less than two revisions
Различия
Показаны различия между двумя версиями страницы.
— | wiki:somiq-am37-android-ics [2013/01/09 11:26] (текущий) – создано - внешнее изменение 127.0.0.1 | ||
---|---|---|---|
Строка 1: | Строка 1: | ||
+ | ====== Портирование Android ICS 4.0.3 на SomIQ-AM37 ====== | ||
+ | |||
+ | В качестве готовой сборки Android ICS берем дистрибутив Android IceCream Sandwich (ICS) 4.0.3 для процессоров Texas Instruments Sitara(TM) AM3715, DevKit 3.0.0. Этот дистрибутив содержит: | ||
+ | |||
+ | **Полезные ссылки** | ||
+ | |||
+ | [[http:// | ||
+ | |||
+ | [[http:// | ||
+ | |||
+ | [[http:// | ||
+ | |||
+ | [[http:// | ||
+ | |||
+ | [[http:// | ||
+ | |||
+ | [[http:// | ||
+ | |||
+ | ===== Пресобранный образ ===== | ||
+ | В данной таблице данны ссылки на файлы, компиляция которых описана ниже. | ||
+ | ^ Файл ^ Размер ^ Ссылка ^ | ||
+ | | MLO (для DDR 512M) | 20k | [[http:// | ||
+ | | u-boot.bin | 202k | [[http:// | ||
+ | | uImage | 3.1M | [[http:// | ||
+ | | Полное демо с установкой на SD (MLO, u-boot.bin, boot.scr, ядро, filesystem, benchmark tests, media files и др) | 192M | [[http:// | ||
+ | ===== Подготовка окружения ===== | ||
+ | Для разработки ПО для операционной системы Android 4.0.3 рекомендован дистрибутив Ubuntu 10.04 LTS 32bit. В общем случае может потребоваться установить следующие пакеты: | ||
+ | < | ||
+ | $ sudo add-apt-repository "deb http:// | ||
+ | $ sudo add-apt-repository " | ||
+ | $ sudo apt-get update | ||
+ | $ sudo apt-get install git-core gnupg sun-java6-jdk flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl libncurses5-dev zlib1g-dev minicom tftpd uboot-mkimage expect | ||
+ | $ sudo update-java-alternatives -s java-6-sun | ||
+ | </ | ||
+ | Если вы собираетесь скомпилировать все пакеты, | ||
+ | |||
+ | **Всего сборка занимает 11ГБ после распаковки и без компиляции.** | ||
+ | |||
+ | Исходные тексты можно скачать используя Rowboat Gitorious (долго и не всегда доступно), | ||
+ | [[http:// | ||
+ | и скачайте установочный файл (внимание: | ||
+ | [[http:// | ||
+ | |||
+ | Далее, как рекомендует руководство от TI, но вы можете установить данный пакет в любую директорию, | ||
+ | < | ||
+ | $ mkdir $HOME/ | ||
+ | $ cd $HOME/ | ||
+ | $ chmod a+x TI-Android-ICS-4.0.3_AM37x_3.0.0.bin | ||
+ | $ ./ | ||
+ | </ | ||
+ | Согласитесь с предлагаемой лицензией и наберите "I ACCEPT", | ||
+ | Будут созданы следующие директории: | ||
+ | * Android File system : $HOME/ | ||
+ | * Android Linux Kernel: $HOME/ | ||
+ | * Bootloader: $HOME/ | ||
+ | * Toolchain (компилятор) $HOME/ | ||
+ | |||
+ | Теперь самое главное - скачайте дополнения, | ||
+ | < | ||
+ | $ wget http:// | ||
+ | </ | ||
+ | Перейдите в директорию TI-Android-ICS-4.0.3_AM37x_3.0.0 | ||
+ | < | ||
+ | $ cd $HOME/ | ||
+ | </ | ||
+ | Примените дополнения (патч): | ||
+ | < | ||
+ | patch -p1 < < | ||
+ | </ | ||
+ | |||
+ | Добавьте сразу путь к компилятору в переменные окружения, | ||
+ | < | ||
+ | $ export PATH=$HOME/ | ||
+ | </ | ||
+ | |||
+ | ===== x-loader ===== | ||
+ | Перейдите в директорию с исходными текстами x-loader: | ||
+ | < | ||
+ | $ cd <android source path>/ | ||
+ | </ | ||
+ | Задаем конфигурацию для SomIQ-AM37: | ||
+ | < | ||
+ | $ make somiq_am37_config | ||
+ | </ | ||
+ | Компилируем: | ||
+ | < | ||
+ | $ make ARCH=arm CROSS_COMPILE=arm-eabi- | ||
+ | </ | ||
+ | В результате получаем файл x-load.bin, который нужно преобразовать в формат, | ||
+ | < | ||
+ | $ signGP x-load.bin | ||
+ | </ | ||
+ | Полученный файл x-load.bin.ift переименовывают в «MLO». Позже этот файл будет записан на FAT раздел карты SD. | ||
+ | < | ||
+ | $ mv x-load.bin.ift MLO | ||
+ | </ | ||
+ | ===== u-boot ===== | ||
+ | Перейдите в директорию с исходными текстами u-boot: | ||
+ | < | ||
+ | $ cd <android source path>/ | ||
+ | </ | ||
+ | Задаем конфигурацию для SomIQ-AM37: | ||
+ | < | ||
+ | $ make somiq_am37_config | ||
+ | </ | ||
+ | Компилируем: | ||
+ | < | ||
+ | $ make ARCH=arm CROSS_COMPILE=arm-eabi- | ||
+ | </ | ||
+ | В результате получаем файл u-boot.bin, который будет записан на FAT раздел карты SD. | ||
+ | ===== Ядро Android ===== | ||
+ | Перейдите в директорию с исходными текстами ядра: | ||
+ | < | ||
+ | $ cd <android source path>/ | ||
+ | </ | ||
+ | Выполните следующие команды: | ||
+ | < | ||
+ | $ make ARCH=arm CROSS_COMPILE=arm-eabi- distclean | ||
+ | $ make ARCH=arm CROSS_COMPILE=arm-eabi- somiq_am37_android_defconfig | ||
+ | $ make ARCH=arm CROSS_COMPILE=arm-eabi- uImage | ||
+ | </ | ||
+ | После завершения компиляции будет создан файл uImage в директории " | ||
+ | ===== Файловая система ===== | ||
+ | ==== Готовый образ ==== | ||
+ | В результате следующего шага вы получите образ файловой системы, | ||
+ | | Полное демо с установкой на SD (MLO, u-boot.bin, boot.scr, ядро, filesystem, benchmark tests, media files и др) | 192M | [[http:// | ||
+ | Скачайте этот архив, распакуйте и переходите к шагу " | ||
+ | ==== Редактирование файловой системы ==== | ||
+ | |||
+ | Мы не будем вручную компилировать ПО, поставляемое в данной сборке, | ||
+ | < | ||
+ | $ wget http:// | ||
+ | </ | ||
+ | Распакуем архив: | ||
+ | < | ||
+ | $ tar xzf beagleboardXM.tar.gz | ||
+ | </ | ||
+ | Получится директория " | ||
+ | Содержимое директории beagleboard: | ||
+ | < | ||
+ | beagleboard$ ls | ||
+ | Boot_Images | ||
+ | </ | ||
+ | Заменим загрузочные файлы. Перейдите в директорию " | ||
+ | |||
+ | ==== Запись образов на карту ==== | ||
+ | |||
+ | Теперь можно записать SD карту. Возьмите SD карту объемом от 2ГБ и классом не ниже 4-го (лучше 10го). Вставьте в устройство чтения карт и определите файл устройства для карты. Предположим, | ||
+ | < | ||
+ | $ sudo LANG=c ./ | ||
+ | Assuming Default Locations for Prebuilt Images | ||
+ | All data on /dev/sdc now will be destroyed! Continue? [y/n] | ||
+ | y | ||
+ | [Unmounting all existing partitions on the device ] | ||
+ | umount: /dev/sdc: not mounted | ||
+ | umount: /dev/sdc1: not mounted | ||
+ | umount: /dev/sdc2: not mounted | ||
+ | umount: /dev/sdc3: not mounted | ||
+ | [Partitioning / | ||
+ | Disk /dev/sdc doesn' | ||
+ | DISK SIZE - 4035969024 bytes | ||
+ | CYLINDERS - 490 | ||
+ | [Making filesystems...] | ||
+ | [Copying files...] | ||
+ | [Copying START_HERE floder to boot partition] | ||
+ | [Copying all clips to data partition] | ||
+ | [Done] | ||
+ | </ | ||
+ | Данный скрипт автоматически отмонтирует все разделы на карте (их было создано три), но нам необходимо изменить файл конфигурации, | ||
+ | < | ||
+ | service dhcpcd_eth0 / | ||
+ | disabled | ||
+ | oneshot | ||
+ | </ | ||
+ | Сохраните файл и отмонтируйте раздел SD карты. Теперь можно загружать Somiqboard. | ||
+ | ====== Запуск Android ====== | ||
+ | |||
+ | ===== Переменные окружения u-boot ===== | ||
+ | Для корректной загрузки Android нужны специальные параметры " | ||
+ | < | ||
+ | setenv bootargs ' | ||
+ | ip=off omap_vout.vid1_static_vrfb_alloc=y vram=12M omapfb.vram=0: | ||
+ | </ | ||
+ | Параметры, | ||
+ | * mem=256M - на модулях с ОЗУ 512М вы можете изменить значение с " | ||
+ | * ip=off | ||
+ | * omapdss.def_disp=dvi | ||
+ | * omapfb.mode=dvi: | ||
+ | ===== Загрузка ядра и старт ===== | ||
+ | Выполните последовательно следующие команды: | ||
+ | < | ||
+ | mmc init | ||
+ | run loaduimage | ||
+ | bootm ${loadaddr} | ||
+ | </ | ||
+ | ===== Настройка Ethernet ===== | ||
+ | После запуска Android вы можете вручную включить сеть Ethernet. Для этого выполните команду: | ||
+ | < | ||
+ | netcfg eth0 dhcp | ||
+ | </ | ||
+ | ===== Демонстрация ===== | ||
+ | Чтобы увидеть скорость работы и возможности новой операционной системы для процессорного модуля SomIQ-AM37 предлагаем видео: | ||
+ | [[http:// | ||
wiki/somiq-am37-android-ics.txt · Последнее изменение: 2013/01/09 11:26 — 127.0.0.1