skysilver

<<< Back

Кросс-компиляция ядра для Banana Pi M2U

Инструкция по настройке окружения для выполнения кросс-компиляции ядра или его модулей для Banana Pi M2U.

Очевидно, что использовать одноплатные ПК с ARM-архитектурой для сборки ядра, дело неблагодарное, т.к. их производительность в этом плане крайне низкая, и времени занимает очень много. В связи с этим широко применяется кросс-компиляция, выполняемая на обычных ПК.

Порядок по настройке окружения для выполнения кросс-компиляции ядра (или его модулей) для Banana Pi M2U получается такой.

  1. Подготавливаем виртуальную машину с 64-разрядной Ubuntu 16.04 (server или desktop). В качестве гипервизора я использовал Oracle VM VirualBox. Размер диска в настройках ВМ указываем не менее 20 Гб. Имя пользователя задаем pi, такое же, как и по умолчанию в Bananapi.

  2. Подключаемся к ВМ по SSH и ставим необходимые пакеты.
    sudo apt-get update
    sudo apt-get install bc make git gcc gcc-arm-linux-gnueabihf u-boot-tools ncurses-dev -y
    sudo dpkg --add-architecture i386
    sudo apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386 -y
  3. Клонируем официальный репозиторий с исходниками с Github.

    cd ~/
    git clone https://github.com/BPI-SINOVOIP/BPI-M2U-bsp.git
    cd BPI-M2U-bsp

    При необходимости редактируем файл build.sh, чтобы выставить предпочитаемый видео выход и его разрешение.

    nano build.sh

    По умолчанию установлено BOARD=BPI_M2U_LCD5. Для себя я ставлю BOARD=BPI_M2U_720P.

  4. Теперь все готово к кросс-компиляции. Запускаем мастер.

    sudo ./build.sh
  5. Выбираем нужные опции и ждем окончания. При первом запуске рекомендую выбрать п. 1 и прогнать всю процедуру сборки.

  6. По завершению скомпилированные файлы будут размещаться в /home/pi/BPI-M2U-bsp/SD.

Пересборка ядра мне потребовалась для того, чтобы появилась возможность пользоваться утилитой iotop, которая ни в какую не запускается на дефолтных ядрах в официальных образах для Banana Pi M2U, т. к. в них ядро собрано без трех нужных опций:

sudo iotop -ao
Could not run iotop as some of the requirements are not met:
- Linux >= 2.6.20 with
  - I/O accounting support (CONFIG_TASKSTATS, CONFIG_TASK_DELAY_ACCT, CONFIG_TASK_IO_ACCOUNTING)

Чтобы исправить этот казус, внесем изменения в конфиг ядра, выбрав опцию "4. Kernel configure."
В открывшемя редакторе конфигурации ядра включаем нужные модули:

  • General setup -> CPU/Task time and stats accounting
  • General setup -> CPU/Task time and stats accounting -> Export task/process statistics through netlink
  • General setup -> CPU/Task time and stats accounting -> Export task/process statistics through netlink -> Enable extended accounting over taskstats
  • General setup -> CPU/Task time and stats accounting -> Export task/process statistics through netlink -> Enable extended accounting over taskstats -> Enable per-task storage I/O accounting

kernel_cfg

Сохраняем изменения, выходим из конфигуратора и запускаем полную сборку "1. Build all, uboot and kernel and pack to download images."

После завершения в /home/pi/BPI-M2U-bsp/SD забираем архивы BPI-BOOT-bpi-m2u.tgz и 3.10.108-BPI-M2U-Kernel.tgz и переносим их на Banana Pi M2U.

Архив BPI-BOOT-bpi-m2u.tgz распаковываем в /dev/mmcblk0p1 (раздел загрузчика), предварительно примонтировав его куда-либо:

sudo mount /dev/mmcblk0p1 /media/BPI-BOOT
sudo tar –xvf BPI-BOOT-bpi-m2u.tgz -C /media/BPI-BOOT/

Архив 3.10.108-BPI-M2U-Kernel.tgz распаковываем в корневой раздел:
sudo tar -xvf 3.10.108-BPI-M2U-Kernel.tgz -C /

Профит!

Discuss (0) (4)

See also:
2018-08-15 Кронштейн NB F120 (North Bayou)
2018-07-18 WiFi-информер на светодиодных матрицах MAX7219 и ESP8266. Часть 3.
2018-06-20 WiFi-информер на светодиодных матрицах MAX7219 и ESP8266. Часть 2.
2018-06-15 WiFi-информер на светодиодных матрицах MAX7219 и ESP8266. Часть 1.
2018-05-14 Ссылки на ресурсы по MajorDoMo
2018-03-02 Знакомство и тестирование Banana Pi M2U
2018-02-21 Распаковка Banana Pi M2U
2018-02-14 Одноплатный ПК для MajorDoMo
2018-08-14 Заметки по железу
2018-01-23 Мой взгляд на вопрос голосового управления в MajorDoMo
2018-01-17 Обзор цен на устройства Xiaomi
2017-12-24 Гирлянда на ESP8266 и WS2812
2017-12-20 Блог им. skysilver

Киров, Россия

На форуме: skysilver

Web-site URL:
http://connect.smartliving.ru/profile/461