При кросс-компиляции ядра, как я могу остановить его чистоту каждый раз, когда я просто хочу изменить один файл?
Я делаю кросс-компиляцию сборки ядра Ubuntu.
Я следую инструкциям по сборке Ubuntu для omap:
fakeroot debian/rules clean
do_tools=false skipabi=true skipmodule=true dpkg-buildpackage -B -aarmhf -uc -us
Но вышесказанное всегда делает его чистым и отнимает много времени. Я просто вносил изменения в тот же файл, поэтому мне не нужно перестраивать из чистой.
Я пытался пропустить строку fakeroot debian/rules clean
а также удалены -uc
, но он все равно делает это с чистого листа.
Затем я попробовал другой метод и сделал:
make -j3 deb-pkg
Но потом я получил новую ошибку:
dpkg-deb: building package `linux-firmware-image' in `../linux-firmware-image_3.4.27+-1_all.deb'.
dpkg-gencontrol: error: current host architecture 'armhf' does not appear in package's architecture list ()
make[1]: *** [deb-pkg] Error 255
Тогда мне нужно было ждать ~2 часа, чтобы закончить сборку...
Все, что я пытаюсь сделать, это изменить файл платы (к сожалению, я не могу сделать его модулем, насколько я понимаю).
Спасибо за любую идею.
1 ответ
При использовании упакованных ядер Ubuntu debian, я собираю ядра arm64 подобно следующему (вы должны быть в состоянии заменить arm64 на специфические флаги armhf arch, которые соответствуют вашей цели и кросс-компилятору).
export ARCH=arm64
export $(dpkg-architecture -aarm64); export CROSS_COMPILE=aarch64-linux-gnu-
fakeroot debian/rules clean
debian/rules build
fakeroot debian/rules binary
Для последующих сборок я использую:
rm debian/stamps/stamp-build*
debian/rules build
fakeroot debian/rules binary