我正在进行交叉编译 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