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 ответ
- Вы можете проверить папку "старше" ( https://mirrors.edge.kernel.org/pub/linux/kernel/projects/rt/4.9/older/) - там вы можете найти файлы patch-4.9-rt1.patch.gz и патчи-4.9-rt1.tar.gz
- Обратите внимание, что текущая версия на github.com/Xilinx/linux-xlnx - 4.14. Вы уверены, что у вас есть правильный исходный код?
Вот информация о том, как установить PREEMPT_RT на ZCU102 с помощью Petalinux 2019.1:
Загрузите и установите Petalinux 2019.1 с веб-сайта Xilinx
Загрузите ZCU102 BSP 2019.1 с веб-сайта Xilinx
Создайте проект:
petalinux-create -t project -s xilinx-zcu102-v2019.1-final.bsp
Разархивируйте PREEMPT_RT патч http://cdn.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patch-4.19-rt1.patch.gz на проект-спецификация / мета-пользователь / рецепты-ядро / linux / linux-xlnx / каталог
Отредактируйте файл project-spec/meta-user/recipes-kernel/linux/linux-xlnx_%. Bbappend и добавьте
SRC_URI_append = " file://patch-4.19-rt1.patch"
Убедитесь, что приоритет уровня мета-пользователя равен 7 в файле проекта project-spec / meta-user / conf / layer.conf
Настроить проект:
petalinux-config
Настройте ядро, включив полную превентивную поддержку:
petalinux-config -c kernel
Сборка:
petalinux-build
Создайте файл BOOT.BIN:
petalinux-package --boot --fsbl images/linux/zynq_fsbl.elf --u-boot images/linux/u-boot.elf