当交叉编译内核时,当我只想修改一个文件时,如何才能阻止它每次都从清理状态进行?

当交叉编译内核时,当我只想修改一个文件时,如何才能阻止它每次都从清理状态进行?

我正在进行交叉编译 Ubuntu 内核构建。

我正在遵循为 omap 构建 Ubuntu 的说明:

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 内核类似于以下内容(您应该能够用与您的目标和交叉编译器匹配的 armhf arch 特定标志替换 arm64)。

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

相关内容