The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Раздел полезных советов: Создание сборки Android 10 для Raspberry Pi 4"
Отправлено auto_tips, 10-Авг-20 09:41 
Инструкция по созданию своей сборки Android 10 для Raspberry Pi 4 в Ubuntu/Debian.

Загружаем [[http://source.android.com/source/downloading.html исходные тексты]] Android:

   repo init -u https://android.googlesource.com/platform/manifest -b andoid-10.0.0_r41
   git clone https://github.com/android-rpi/local_manifests .repo/local_manifests -b arpi-10
   repo sync


Собираем ядро Linux

   sudo apt install gcc-arm-linux-gnueabihf libssl-dev
   cd kernel/arpi
   ARCH=arm scripts/kconfig/merge_config.sh arch/arm/configs/bcm2711_defconfig kernel/configs/android-base.config kernel/configs/android-recommended.config
   ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- make zImage
   ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- make dtbs

Устанавливаем python-модуль mako:

  sudo apt install python-mako

[[https://github.com/android-rpi/device_arpi_rpi4/wiki/Android... Вносим]] несколько исправлений в файлы:

Настраиваем использование GuidedActionEditText для ввода пароля в TvSettings

   Settings/res/layout/setup_password_item.xml
   @@ line 35
   -   <EditText
   +   <androidx.leanback.widget.GuidedActionEditText
           android:id="@+id/guidedactions_item_title"
           style="@style/Setup.Action.TextInput"
           android:layout_width="match_parent"
           android:layout_height="match_parent"
           android:focusable="true"
           android:gravity="center_vertical"
           android:imeOptions="actionNext|flagNoExtractUi"
   +       android:inputType="text" />
   -       android:inputType="text">
   -   </EditText>

Включаем программный декодировщик видео

   media/libstagefright/colorconversion/SoftwareRenderer.cpp
   @@ line 128 @@ void SoftwareRenderer::resetFormatIfChanged(
        case OMX_COLOR_FormatYUV420Planar:
   +        {
   +            halFormat = HAL_PIXEL_FORMAT_RGBA_8888;
   +            bufWidth = (mCropWidth + 1) & ~1;
   +            bufHeight = (mCropHeight + 1) & ~1;
   +            break;
   +        }
        case OMX_COLOR_FormatYUV420SemiPlanar:
   @@ line 182
            CHECK(mConverter->isValid());
   +    } else if (halFormat == HAL_PIXEL_FORMAT_RGBA_8888 &&
   +            mColorFormat == OMX_COLOR_FormatYUV420Planar) {
   +        mConverter = new ColorConverter(
   +                mColorFormat, OMX_COLOR_Format32BitRGBA8888);
   +        CHECK(mConverter->isValid());
        }

   media/codec2/vndk/C2Store.cpp
   @@ line 851 @@ C2PlatformComponentStore::C2PlatformComponentStore()
        //emplace("libcodec2_soft_av1dec_aom.so"); // deprecated for the gav1 implementation
   -    emplace("libcodec2_soft_av1dec_gav1.so");
   -    emplace("libcodec2_soft_avcdec.so");
        emplace("libcodec2_soft_avcenc.so");
   @@ line 873
        emplace("libcodec2_soft_vp8enc.so");
   -    emplace("libcodec2_soft_vp9dec.so");
        emplace("libcodec2_soft_vp9enc.so");

[[http://source.android.com/source/building.html Собираем]] код Android:


   source build/envsetup.sh
   lunch rpi4-eng
   make ramdisk systemimage vendorimage

Подготавливаем SD-карту для записи собранного образа. Разбивка разделов должна выглядеть примерно так:

p1 128MB для /boot: в fdisk выбираем раздел с типом W95 FAT32(LBA) и делаем его загрузочным, далее запускаем mkfs.vfat

p2 768MB для /system: в fdisk создаём новый первичный раздел

p3 128MB для /vendor: в fdisk создаём новый первичный раздел

p4 оставшееся место выделяем для /data: в fdisk создаём новый первичный раздел и запускаем mkfs.ext4. Устанавливаем метку userdata на раздел /data, используя опцию "-L" при выполнении mkfs.ext4.

Записываем подготовленные образы в разделы /system и /vendor (вместо <p2> и <p3> подставляем созданные имена устройств разделов):

    cd out/target/product/rpi4
    sudo dd if=system.img of=/dev/<p2> bs=1M
    sudo dd if=vendor.img of=/dev/<p3> bs=1M

Копируем ядро и образ ram-диска на загрузочный раздел.
Содержимое device/arpi/rpi4/boot/ копируем в корень раздела <p1>, туда же копируем файлы kernel/arpi/arch/arm/boot/zImage, out/target/product/rpi4/ramdisk.im и   kernel/arpi/arch/arm/boot/dts/bcm2711-rpi-4-b.dtb. Файл kernel/arpi/arch/arm/boot/dts/overlays/vc4-kms-v3d-pi4.dtbo  копируем в каталог /overlays/

URL: https://github.com/android-rpi/device_arpi_rpi4
Обсуждается: https://www.opennet.ru/tips/info/3157.shtml

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру