Я уже два дня пытаюсь собрать ядро для Ubuntu 18.04 на Raspberry Pi 3B +, и я застрял. Мне нужно собрать его из исходного кода, потому что я хочу патч RT_PREEMPT, но сейчас я просто пытаюсь создать чистую версию.
Я пытался скомпилировать версию 4.19.72 из https://mirrors.edge.kernel.org/pub/linux/kernel/v4.x/linux-4.19.8.tar.xz следуя официальному руководству по Raspbian и этому посту :
Для этапа настройки я попытался:
wget -O .config https://raw.githubusercontent.com/raspberrypi/linux/rpi-4.19.y/arch/arm/configs/bcm2709_defconfig
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- olddefconfig
и попытался использовать .config из / proc / config.gz на пи работает официальный 18.04 образ сервера.
Затем для компиляции я использовал:
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- zImage modules dtbs
И для установки:
sudo env PATH=$PATH make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- INSTALL_MOD_PATH="root partition" modules_install
sudo cp arch/arm/boot/zImage "boot partition"/vmlinuz_test
sudo cp arch/arm/boot/dts/*.dtb "boot partition"/fat32/
Так как наложений не было, я пропустил этот шаг.
Наконец, я отредактировал config.txt
в «загрузочном разделе», чтобы использовать загрузчик Pi:
kernel=vmlinuz_test
initramfs initrd.img followkernel
#device_tree_address=0x02000000
После этого пи больше не загружается, и я не могу отладить проблему поскольку у меня нет монитора, и я не могу найти какие-либо изменяющиеся журналы на карте.
Можно ли использовать то же initrd.img
, что и в исходном ядре? Я не могу найти ничего в папке компиляции, поэтому я сохранил то же самое, но это может быть проблемой.
Я действительно надеюсь, что кто-то может помочь, в любом случае, спасибо за чтение этого довольно большого поста.