Linux CONFIG_PREEMPT_RT для четырехъядерного процессора ARM A53 (новичок сомневается)

Я хотел бы активировать функции PREEMPTion моего ядра Linux. Чтобы сделать это, я должен загрузить правильный патч, соответствующий версии используемого мной ядра и скомпилированной мной (как описано здесь). Версия ядра, которую я имею, - версия Linux 4.9.0 (полученная только печатанием uname -a из командной строки и дважды проверил в /proc/version,

На странице ядра Linux (где можно загрузить патч для этой цели) я не могу найти точную соответствующую версию, которую я использую. Какой я должен использовать?

Кроме того, если у вас есть предложения о том, как это сделать правильно, это будет оценено!

Другой вопрос, который у меня есть: могу ли я продолжать использовать то же приложение, которое разработал, наблюдая, когда это возможно, улучшение или снижение производительности? А как насчет драйвера, который я разрабатывал? или третьи части устройства-драйвера?

ОБНОВИТЬ:

  • Я использую Xilinx Zynq Ultrascale+, оснащенный четырехъядерным процессором ARM 53. Используемая плата - zcu102 от Xilinx.

  • Исходные файлы ядра берутся отсюда, а файловая система - Linaro.

1 ответ

Решение
  1. Вы можете проверить папку "старше" ( https://mirrors.edge.kernel.org/pub/linux/kernel/projects/rt/4.9/older/) - там вы можете найти файлы patch-4.9-rt1.patch.gz и патчи-4.9-rt1.tar.gz
  2. Обратите внимание, что текущая версия на github.com/Xilinx/linux-xlnx - 4.14. Вы уверены, что у вас есть правильный исходный код?

Вот информация о том, как установить PREEMPT_RT на ZCU102 с помощью Petalinux 2019.1:

  1. Загрузите и установите Petalinux 2019.1 с веб-сайта Xilinx

  2. Загрузите ZCU102 BSP 2019.1 с веб-сайта Xilinx

  3. Создайте проект: petalinux-create -t project -s xilinx-zcu102-v2019.1-final.bsp

  4. Разархивируйте PREEMPT_RT патч http://cdn.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patch-4.19-rt1.patch.gz на проект-спецификация / мета-пользователь / рецепты-ядро / linux / linux-xlnx / каталог

  5. Отредактируйте файл project-spec/meta-user/recipes-kernel/linux/linux-xlnx_%. Bbappend и добавьте

    SRC_URI_append = " file://patch-4.19-rt1.patch"
    
  6. Убедитесь, что приоритет уровня мета-пользователя равен 7 в файле проекта project-spec / meta-user / conf / layer.conf

  7. Настроить проект: petalinux-config

  8. Настройте ядро, включив полную превентивную поддержку: petalinux-config -c kernel

  9. Сборка: petalinux-build

  10. Создайте файл BOOT.BIN: petalinux-package --boot --fsbl images/linux/zynq_fsbl.elf --u-boot images/linux/u-boot.elf

Другие вопросы по тегам