Install kernel-headers on target - flexbuild Linux Debian 6.12.49

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

Install kernel-headers on target - flexbuild Linux Debian 6.12.49

跳至解决方案
296 次查看
sombreminjaben
Contributor I

Hi,

I am developing a custom out-of-tree Linux module for my IMX8MP-EVK board running Debian Linux (built using the latest version of flexbuild). Currently, to build my module, I added it to the Linux sources, modifying the corresponding Kconfig and Makefile. However, I would like to be able to build my module on-target to make the process faster but there are no kernel-headers installed and I can't seem to find how to get them on target. 

Could anyone guide me on how to build my Debian Linux with kernel-headers installed ?

Thanks.

Benjamin.

标签 (1)
0 项奖励
回复
1 解答
267 次查看
yipingwang
NXP TechSupport
NXP TechSupport

For the i.MX8MP-EVK Debian image built with Flexbuild, the practical answer is: do not rely on apt install linux-headers-$(uname -r) on the target . The retrieved NXP material shows Flexbuild builds the kernel, DTBs, modules, boot image, and rootfs, but I did not find an i.MX8MP-specific Flexbuild option that generates and preinstalls a matching linux-headers-* package into the Debian rootfs. The supported/clean workflow is to build your out-of-tree module against the same compiled kernel tree used by Flexbuild, then copy the .ko to the board.

Recommended workflow:

cd flexbuild

. setup.env

bld docker

. setup.env

bld host-dep

 

# Full image, or at least the kernel

LOG_LEVEL=0 bld -m imx8mpevk

# or:

LOG_LEVEL=0 bld linux -m imx8mpevk

The Debian SDK guide lists bld -m imx8mpevk as the full build command and bld linux -m imx8mpevk as the separate kernel build command; it also says the kernel-related source is under components_lsdk2512/linux/ , and the compiled output is under build_lsdk2512/linux/linux/arm64/IMX for the i.MX platform example.

Then build your external module on the host against that compiled/prepared kernel tree, for example:

obj-m += my_driver.o

 

KERNEL_SRC ?= /path/to/flexbuild/components_lsdk2512/linux

 

all:

              $(MAKE) -C $(KERNEL_SRC) M=$(PWD) modules

 

clean:

              $(MAKE) -C $(KERNEL_SRC) M=$(PWD) clean

For external modules, NXP’s current i.MX Linux 6.12 guide says the requirements are a compiled kernel, a board running the same kernel version, and a toolchain; it also notes that a full kernel compilation is required to generate the headers and symbol files needed for external module compilation. The same guide uses the standard external-module form:

make -C $(KERNEL_SRC) M=$(PWD) modules

and then copies the resulting .ko to the board for insmod .

If you specifically want on-target builds, you can manually install a matching prepared kernel tree on the target, but treat it as a manual workaround rather than a documented i.MX8MP Flexbuild “install headers” feature:

# on target

sudo mkdir -p /usr/src/linux-headers-$(uname -r)

sudo ln -sfn /usr/src/linux-headers-$(uname -r) /lib/modules/$(uname -r)/build

Copy the matching Flexbuild kernel source/build artifacts from the host into that directory, including the generated files and Module.symvers . Then on the target:

cd /usr/src/linux-headers-$(uname -r)

make oldconfig

make prepare

# or, for module builds:

make modules_prepare

The important points are:

  • The kernel source/build tree must match the exact kernel running on the board: check uname -r .
  • Module.symvers should be present; otherwise module versioning/dependency information may be missing.
  • make oldconfig && make prepare / make modules_prepare is the usual step to prepare the tree for external module builds.
  • Native builds on the board are usually slower; NXP guidance generally recommends host-side cross-compilation for i.MX external modules.

So the short answer is: Flexbuild can build the matching kernel, but for i.MX8MP Debian I would build the module on the host against the Flexbuild kernel tree, not try to install distro-style linux-headers on the board. If you need on-target iteration, copy the matching prepared kernel tree to /usr/src/linux-headers-$(uname -r) and point /lib/modules/$(uname -r)/build at it.

Use the Flexbuild-compiled kernel tree as your “headers” source; a packaged, apt-installable linux-headers-$(uname -r) flow is not documented for i.MX8MP Flexbuild Debian in the material retrieved.

 

在原帖中查看解决方案

0 项奖励
回复
2 回复数
257 次查看
sombreminjaben
Contributor I

Hi,

Yes I quickly figured that trying apt install linux-headers-$(uname -r) would not give me the right headers.

Thank you for your quick response, I should be able to adopt a workflow that works for me.

0 项奖励
回复
268 次查看
yipingwang
NXP TechSupport
NXP TechSupport

For the i.MX8MP-EVK Debian image built with Flexbuild, the practical answer is: do not rely on apt install linux-headers-$(uname -r) on the target . The retrieved NXP material shows Flexbuild builds the kernel, DTBs, modules, boot image, and rootfs, but I did not find an i.MX8MP-specific Flexbuild option that generates and preinstalls a matching linux-headers-* package into the Debian rootfs. The supported/clean workflow is to build your out-of-tree module against the same compiled kernel tree used by Flexbuild, then copy the .ko to the board.

Recommended workflow:

cd flexbuild

. setup.env

bld docker

. setup.env

bld host-dep

 

# Full image, or at least the kernel

LOG_LEVEL=0 bld -m imx8mpevk

# or:

LOG_LEVEL=0 bld linux -m imx8mpevk

The Debian SDK guide lists bld -m imx8mpevk as the full build command and bld linux -m imx8mpevk as the separate kernel build command; it also says the kernel-related source is under components_lsdk2512/linux/ , and the compiled output is under build_lsdk2512/linux/linux/arm64/IMX for the i.MX platform example.

Then build your external module on the host against that compiled/prepared kernel tree, for example:

obj-m += my_driver.o

 

KERNEL_SRC ?= /path/to/flexbuild/components_lsdk2512/linux

 

all:

              $(MAKE) -C $(KERNEL_SRC) M=$(PWD) modules

 

clean:

              $(MAKE) -C $(KERNEL_SRC) M=$(PWD) clean

For external modules, NXP’s current i.MX Linux 6.12 guide says the requirements are a compiled kernel, a board running the same kernel version, and a toolchain; it also notes that a full kernel compilation is required to generate the headers and symbol files needed for external module compilation. The same guide uses the standard external-module form:

make -C $(KERNEL_SRC) M=$(PWD) modules

and then copies the resulting .ko to the board for insmod .

If you specifically want on-target builds, you can manually install a matching prepared kernel tree on the target, but treat it as a manual workaround rather than a documented i.MX8MP Flexbuild “install headers” feature:

# on target

sudo mkdir -p /usr/src/linux-headers-$(uname -r)

sudo ln -sfn /usr/src/linux-headers-$(uname -r) /lib/modules/$(uname -r)/build

Copy the matching Flexbuild kernel source/build artifacts from the host into that directory, including the generated files and Module.symvers . Then on the target:

cd /usr/src/linux-headers-$(uname -r)

make oldconfig

make prepare

# or, for module builds:

make modules_prepare

The important points are:

  • The kernel source/build tree must match the exact kernel running on the board: check uname -r .
  • Module.symvers should be present; otherwise module versioning/dependency information may be missing.
  • make oldconfig && make prepare / make modules_prepare is the usual step to prepare the tree for external module builds.
  • Native builds on the board are usually slower; NXP guidance generally recommends host-side cross-compilation for i.MX external modules.

So the short answer is: Flexbuild can build the matching kernel, but for i.MX8MP Debian I would build the module on the host against the Flexbuild kernel tree, not try to install distro-style linux-headers on the board. If you need on-target iteration, copy the matching prepared kernel tree to /usr/src/linux-headers-$(uname -r) and point /lib/modules/$(uname -r)/build at it.

Use the Flexbuild-compiled kernel tree as your “headers” source; a packaged, apt-installable linux-headers-$(uname -r) flow is not documented for i.MX8MP Flexbuild Debian in the material retrieved.

 

0 项奖励
回复
%3CLINGO-SUB%20id%3D%22lingo-sub-2410357%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%E5%9C%A8%E7%9B%AE%E6%A0%87%E7%B3%BB%E7%BB%9F%E4%B8%8A%E5%AE%89%E8%A3%85%E5%86%85%E6%A0%B8%E5%A4%B4%E6%96%87%E4%BB%B6%20-%20flexbuild%20Linux%20Debian%206.12.49%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2410357%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E6%82%A8%E5%A5%BD%EF%BC%8C%3C%2FP%3E%3CP%3E%E6%88%91%E6%AD%A3%E5%9C%A8%E4%B8%BA%E6%88%91%E7%9A%84%20IMX8MP-EVK%20%E6%9D%BF%E5%BC%80%E5%8F%91%E4%B8%80%E4%B8%AA%E8%87%AA%E5%AE%9A%E4%B9%89%E7%9A%84%E5%A4%96%E9%83%A8%20Linux%20%E6%A8%A1%E5%9D%97%EF%BC%8C%E8%AF%A5%E6%9D%BF%E8%BF%90%E8%A1%8C%20Debian%20Linux%EF%BC%88%E4%BD%BF%E7%94%A8%E6%9C%80%E6%96%B0%E7%89%88%E6%9C%AC%E7%9A%84%20flexbuild%20%E6%9E%84%E5%BB%BA%EF%BC%89%E3%80%82%E7%9B%AE%E5%89%8D%EF%BC%8C%E4%B8%BA%E4%BA%86%E6%9E%84%E5%BB%BA%E6%88%91%E7%9A%84%E6%A8%A1%E5%9D%97%EF%BC%8C%E6%88%91%E5%B0%86%E5%85%B6%E6%B7%BB%E5%8A%A0%E5%88%B0%20Linux%20%E6%BA%90%E4%BB%A3%E7%A0%81%E4%B8%AD%EF%BC%8C%E5%B9%B6%E4%BF%AE%E6%94%B9%E4%BA%86%E7%9B%B8%E5%BA%94%E7%9A%84%20Kconfig%20%E5%92%8C%20Makefile%E3%80%82%E4%BD%86%E6%98%AF%EF%BC%8C%E6%88%91%E5%B8%8C%E6%9C%9B%E8%83%BD%E5%A4%9F%E5%9C%A8%E7%9B%AE%E6%A0%87%E7%B3%BB%E7%BB%9F%E4%B8%8A%E7%9B%B4%E6%8E%A5%E6%9E%84%E5%BB%BA%E6%88%91%E7%9A%84%E6%A8%A1%E5%9D%97%E4%BB%A5%E5%8A%A0%E5%BF%AB%E9%80%9F%E5%BA%A6%EF%BC%8C%E4%BD%86%E7%9B%AE%E6%A0%87%E7%B3%BB%E7%BB%9F%E4%B8%8A%E6%B2%A1%E6%9C%89%E5%AE%89%E8%A3%85%E5%86%85%E6%A0%B8%E5%A4%B4%E6%96%87%E4%BB%B6%EF%BC%8C%E6%88%91%E4%B9%9F%E6%89%BE%E4%B8%8D%E5%88%B0%E5%AE%89%E8%A3%85%E5%AE%83%E4%BB%AC%E7%9A%84%E6%96%B9%E6%B3%95%E3%80%82%3C%2FP%3E%3CP%3E%E8%AF%B7%E9%97%AE%E6%9C%89%E4%BA%BA%E5%8F%AF%E4%BB%A5%E6%8C%87%E5%AF%BC%E6%88%91%E5%A6%82%E4%BD%95%E6%9E%84%E5%BB%BA%E5%AE%89%E8%A3%85%E4%BA%86%E5%86%85%E6%A0%B8%E5%A4%B4%E6%96%87%E4%BB%B6%E7%9A%84%20Debian%20Linux%20%E7%B3%BB%E7%BB%9F%E5%90%97%EF%BC%9F%3C%2FP%3E%3CP%3E%E8%B0%A2%E8%B0%A2%E3%80%82%3C%2FP%3E%3CP%3E%E6%9C%AC%E6%9D%B0%E6%98%8E%E3%80%82%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-LABS%20id%3D%22lingo-labs-2410357%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CLINGO-LABEL%3Ei.MX%208M%20%7C%20i.MX%208M%20Mini%20%7C%20i.MX%208M%20Nano%3C%2FLINGO-LABEL%3E%3C%2FLINGO-LABS%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2410566%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20Install%20kernel-headers%20on%20target%20-%20flexbuild%20Linux%20Debian%206.12.49%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2410566%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E6%82%A8%E5%A5%BD%EF%BC%8C%3C%2FP%3E%3CP%3E%E6%98%AF%E7%9A%84%EF%BC%8C%E6%88%91%E5%BE%88%E5%BF%AB%E5%B0%B1%E6%84%8F%E8%AF%86%E5%88%B0%E5%B0%9D%E8%AF%95%3CSTRONG%3E%E4%BD%BF%E7%94%A8%20apt%20install%20linux-headers-%24(uname%20-r)%3C%2FSTRONG%3E%E6%97%A0%E6%B3%95%E8%8E%B7%E5%BE%97%E6%AD%A3%E7%A1%AE%E7%9A%84%E5%A4%B4%E6%96%87%E4%BB%B6%E3%80%82%3C%2FP%3E%3CP%3E%E6%84%9F%E8%B0%A2%E6%82%A8%E7%9A%84%E5%BF%AB%E9%80%9F%E5%9B%9E%E5%A4%8D%EF%BC%8C%E6%88%91%E5%BA%94%E8%AF%A5%E8%83%BD%E5%A4%9F%E6%89%BE%E5%88%B0%E9%80%82%E5%90%88%E8%87%AA%E5%B7%B1%E7%9A%84%E5%B7%A5%E4%BD%9C%E6%B5%81%E7%A8%8B%E3%80%82%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2410476%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20Install%20kernel-headers%20on%20target%20-%20flexbuild%20Linux%20Debian%206.12.49%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2410476%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E5%AF%B9%E4%BA%8E%E4%BD%BF%E7%94%A8%20Flexbuild%20%E6%9E%84%E5%BB%BA%E7%9A%84%20i.MX8MP-EVK%20Debian%20%E9%95%9C%E5%83%8F%EF%BC%8C%E5%AE%9E%E9%99%85%E7%9A%84%E8%A7%A3%E5%86%B3%E6%96%B9%E6%B3%95%E6%98%AF%EF%BC%9A%3CSTRONG%3E%E4%B8%8D%E8%A6%81%E4%BE%9D%E8%B5%96%E7%9B%AE%E6%A0%87%E4%B8%8A%E7%9A%84%20apt%20install%20linux-headers-%24(uname%20-r)%20%E5%91%BD%E4%BB%A4%3C%2FSTRONG%3E%E3%80%82%E6%A3%80%E7%B4%A2%E5%88%B0%E7%9A%84%20NXP%20%E8%B5%84%E6%96%99%E6%98%BE%E7%A4%BA%20Flexbuild%20%E6%9E%84%E5%BB%BA%E5%86%85%E6%A0%B8%E3%80%81DTB%E3%80%81%E6%A8%A1%E5%9D%97%E3%80%81%E5%90%AF%E5%8A%A8%E6%98%A0%E5%83%8F%E5%92%8C%E6%A0%B9%E6%96%87%E4%BB%B6%E7%B3%BB%E7%BB%9F%EF%BC%8C%E4%BD%86%E6%88%91%E6%B2%A1%E6%9C%89%E6%89%BE%E5%88%B0%20i.MX8MP%20%E7%89%B9%E6%9C%89%E7%9A%84%20Flexbuild%20%E9%80%89%E9%A1%B9%EF%BC%8C%E8%AF%A5%E9%80%89%E9%A1%B9%E5%8F%AF%E4%BB%A5%E7%94%9F%E6%88%90%E5%8C%B9%E9%85%8D%E7%9A%84%20linux-headers-*%20%E8%BD%AF%E4%BB%B6%E5%8C%85%E5%B9%B6%E5%B0%86%E5%85%B6%E9%A2%84%E5%AE%89%E8%A3%85%E5%88%B0%20Debian%20%E6%A0%B9%E6%96%87%E4%BB%B6%E7%B3%BB%E7%BB%9F%E4%B8%AD%E3%80%82%E6%94%AF%E6%8C%81%E7%9A%84%2F%E5%B9%B2%E5%87%80%E7%9A%84%E5%B7%A5%E4%BD%9C%E6%B5%81%E7%A8%8B%E6%98%AF%EF%BC%9A%E4%BD%BF%E7%94%A8%20Flexbuild%20%E4%BD%BF%E7%94%A8%E7%9A%84%3CSTRONG%3E%E7%9B%B8%E5%90%8C%E7%BC%96%E8%AF%91%E5%86%85%E6%A0%B8%E6%A0%91%3C%2FSTRONG%3E%E6%9E%84%E5%BB%BA%E6%A0%91%E5%A4%96%E6%A8%A1%E5%9D%97%EF%BC%8C%E7%84%B6%E5%90%8E%E5%B0%86%20.ko%20%E6%96%87%E4%BB%B6%E5%A4%8D%E5%88%B6%E5%88%B0%E5%BC%80%E5%8F%91%E6%9D%BF%E3%80%82%3C%2FP%3E%0A%3CP%3E%E6%8E%A8%E8%8D%90%E5%B7%A5%E4%BD%9C%E6%B5%81%E7%A8%8B%EF%BC%9A%3C%2FP%3E%0A%3CP%3Ecd%20flexbuild%3C%2FP%3E%0A%3CP%3Esetup.env%3C%2FP%3E%0A%3CP%3Ebld%20%E5%AE%B9%E5%99%A8%3C%2FP%3E%0A%3CP%3Esetup.env%3C%2FP%3E%0A%3CP%3Ebld%20%E4%B8%BB%E6%9C%BA%E4%BE%9D%E8%B5%96%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3CP%3E%23%20%E5%AE%8C%E6%95%B4%E9%95%9C%E5%83%8F%EF%BC%8C%E6%88%96%E8%80%85%E8%87%B3%E5%B0%91%E6%98%AF%E5%86%85%E6%A0%B8%E3%80%82%3C%2FP%3E%0A%3CP%3ELOG_LEVEL%3D0%20bld%20-m%20imx8mpevk%3C%2FP%3E%0A%3CP%3E%EF%BC%83%20%E6%88%96%E8%80%85%EF%BC%9A%3C%2FP%3E%0A%3CP%3ELOG_LEVEL%3D0%20bld%20linux%20-m%20imx8mpevk%3C%2FP%3E%0A%3CP%3EDebian%20SDK%20%E6%8C%87%E5%8D%97%E5%B0%86%20bld%20-m%20imx8mpevk%20%E5%88%97%E4%B8%BA%E5%AE%8C%E6%95%B4%E7%9A%84%E6%9E%84%E5%BB%BA%E5%91%BD%E4%BB%A4%EF%BC%8C%E5%B0%86%20bld%20linux%20-m%20imx8mpevk%20%E5%88%97%E4%B8%BA%E5%8D%95%E7%8B%AC%E7%9A%84%E5%86%85%E6%A0%B8%E6%9E%84%E5%BB%BA%E5%91%BD%E4%BB%A4%EF%BC%9B%E5%AE%83%E8%BF%98%E6%8C%87%E5%87%BA%EF%BC%8C%E5%86%85%E6%A0%B8%E7%9B%B8%E5%85%B3%E7%9A%84%E6%BA%90%E4%BB%A3%E7%A0%81%E4%BD%8D%E4%BA%8E%20components_lsdk2512%2Flinux%2F%20%E4%B8%8B%EF%BC%8C%E7%BC%96%E8%AF%91%E5%90%8E%E7%9A%84%E8%BE%93%E5%87%BA%E4%BD%8D%E4%BA%8E%20build_lsdk2512%2Flinux%2Flinux%2Farm64%2FIMX%20%E4%B8%8B%EF%BC%88%E9%92%88%E5%AF%B9%20i.MX%20%E5%B9%B3%E5%8F%B0%E7%A4%BA%E4%BE%8B%EF%BC%89%E3%80%82%3C%2FP%3E%0A%3CP%3E%E7%84%B6%E5%90%8E%EF%BC%8C%E5%9C%A8%E4%B8%BB%E6%9C%BA%E4%B8%8A%E5%9F%BA%E4%BA%8E%E5%B7%B2%E7%BC%96%E8%AF%91%2F%E5%87%86%E5%A4%87%E5%A5%BD%E7%9A%84%E5%86%85%E6%A0%B8%E6%A0%91%E6%9E%84%E5%BB%BA%E5%A4%96%E9%83%A8%E6%A8%A1%E5%9D%97%EF%BC%8C%E4%BE%8B%E5%A6%82%EF%BC%9A%3C%2FP%3E%0A%3CP%3Eobj-m%20%2B%3D%20my_driver.o%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3CP%3EKERNEL_SRC%20%3F%3D%20%2Fpath%2Fto%2Fflexbuild%2Fcomponents_lsdk2512%2Flinux%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3CP%3E%E5%85%A8%E9%83%A8%EF%BC%9A%3C%2FP%3E%0A%3CP%3E%24(MAKE)%20-C%20%24(KERNEL_SRC)%20M%3D%24(PWD)%20%E6%A8%A1%E5%9D%97%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3CP%3E%E5%B9%B2%E5%87%80%E7%9A%84%EF%BC%9A%3C%2FP%3E%0A%3CP%3E%24(MAKE)%20-C%20%24(KERNEL_SRC)%20M%3D%24(PWD)%20clean%3C%2FP%3E%0A%3CP%3E%E5%AF%B9%E4%BA%8E%E5%A4%96%E9%83%A8%E6%A8%A1%E5%9D%97%EF%BC%8CNXP%20%E5%BD%93%E5%89%8D%E7%9A%84%20i.MX%20Linux%206.12%20%E6%8C%87%E5%8D%97%E6%8C%87%E5%87%BA%EF%BC%8C%E5%85%B6%E8%A6%81%E6%B1%82%E5%8C%85%E6%8B%AC%E5%B7%B2%E7%BC%96%E8%AF%91%E7%9A%84%E5%86%85%E6%A0%B8%E3%80%81%E8%BF%90%E8%A1%8C%E7%9B%B8%E5%90%8C%E5%86%85%E6%A0%B8%E7%89%88%E6%9C%AC%E7%9A%84%E6%9D%BF%E4%BB%A5%E5%8F%8A%E5%B7%A5%E5%85%B7%E9%93%BE%EF%BC%9B%E6%8C%87%E5%8D%97%E8%BF%98%E6%8C%87%E5%87%BA%EF%BC%8C%E9%9C%80%E8%A6%81%E5%AE%8C%E6%95%B4%E7%BC%96%E8%AF%91%E5%86%85%E6%A0%B8%E6%89%8D%E8%83%BD%E7%94%9F%E6%88%90%E5%A4%96%E9%83%A8%E6%A8%A1%E5%9D%97%E7%BC%96%E8%AF%91%E6%89%80%E9%9C%80%E7%9A%84%E5%A4%B4%E6%96%87%E4%BB%B6%E5%92%8C%E7%AC%A6%E5%8F%B7%E6%96%87%E4%BB%B6%E3%80%82%E8%AF%A5%E6%8C%87%E5%8D%97%E4%BD%BF%E7%94%A8%E4%BA%86%E6%A0%87%E5%87%86%E7%9A%84%E5%A4%96%E9%83%A8%E6%A8%A1%E5%9D%97%E5%BD%A2%E5%BC%8F%EF%BC%9A%3C%2FP%3E%0A%3CP%3Emake%20-C%20%24(KERNEL_SRC)%20M%3D%24(PWD)%20modules%3C%2FP%3E%0A%3CP%3E%E7%84%B6%E5%90%8E%E5%B0%86%E7%94%9F%E6%88%90%E7%9A%84%20.ko%20%E6%96%87%E4%BB%B6%E5%A4%8D%E5%88%B6%E5%88%B0%E6%9D%BF%E5%AD%90%E4%B8%8A%E4%BE%9B%20insmod%20%E4%BD%BF%E7%94%A8%E3%80%82%3C%2FP%3E%0A%3CP%3E%E5%A6%82%E6%9E%9C%E6%82%A8%E7%89%B9%E5%88%AB%E6%83%B3%E8%A6%81%3CSTRONG%3E%E7%9B%AE%E6%A0%87%E5%B9%B3%E5%8F%B0%E4%B8%8A%E7%9A%84%3C%2FSTRONG%3E%E7%89%88%E6%9C%AC%EF%BC%8C%E6%82%A8%E5%8F%AF%E4%BB%A5%E6%89%8B%E5%8A%A8%E5%9C%A8%E7%9B%AE%E6%A0%87%E5%B9%B3%E5%8F%B0%E4%B8%8A%E5%AE%89%E8%A3%85%E5%8C%B9%E9%85%8D%E7%9A%84%E9%A2%84%E7%BC%96%E8%AF%91%E5%86%85%E6%A0%B8%E6%A0%91%EF%BC%8C%E4%BD%86%E8%AF%B7%E5%B0%86%E5%85%B6%E8%A7%86%E4%B8%BA%E4%B8%80%E7%A7%8D%E6%89%8B%E5%8A%A8%E5%8F%98%E9%80%9A%E6%96%B9%E6%B3%95%EF%BC%8C%E8%80%8C%E4%B8%8D%E6%98%AF%20i.MX8MP%20Flexbuild%20%E6%96%87%E6%A1%A3%E4%B8%AD%E8%AE%B0%E5%BD%95%E7%9A%84%E2%80%9C%E5%AE%89%E8%A3%85%E5%A4%B4%E6%96%87%E4%BB%B6%E2%80%9D%E5%8A%9F%E8%83%BD%EF%BC%9A%3C%2FP%3E%0A%3CP%3E%23%20%E7%9B%AE%E6%A0%87%3C%2FP%3E%0A%3CP%3Esudo%20mkdir%20-p%20%2Fusr%2Fsrc%2Flinux-headers-%24(uname%20-r)%3C%2FP%3E%0A%3CP%3Esudo%20ln%20-sfn%20%2Fusr%2Fsrc%2Flinux-headers-%24(uname%20-r)%20%2Flib%2Fmodules%2F%24(uname%20-r)%2Fbuild%3C%2FP%3E%0A%3CP%3E%E5%B0%86%E4%B8%BB%E6%9C%BA%E4%B8%8A%E5%8C%B9%E9%85%8D%E7%9A%84%20Flexbuild%20%E5%86%85%E6%A0%B8%E6%BA%90%E4%BB%A3%E7%A0%81%2F%E7%89%88%E6%9C%AC%E5%B7%A5%E4%BB%B6%E5%A4%8D%E5%88%B6%E5%88%B0%E8%AF%A5%E7%9B%AE%E5%BD%95%E4%B8%AD%EF%BC%8C%E5%8C%85%E6%8B%AC%E7%94%9F%E6%88%90%E7%9A%84%E6%96%87%E4%BB%B6%E5%92%8C%20Module.symvers%E3%80%82%E7%84%B6%E5%90%8E%E7%9E%84%E5%87%86%E7%9B%AE%E6%A0%87%EF%BC%9A%3C%2FP%3E%0A%3CP%3Ecd%20%2Fusr%2Fsrc%2Flinux-headers-%24(uname%20-r)%3C%2FP%3E%0A%3CP%3E%E6%89%A7%E8%A1%8C%E6%97%A7%E9%85%8D%E7%BD%AE%3C%2FP%3E%0A%3CP%3E%E5%87%86%E5%A4%87%3C%2FP%3E%0A%3CP%3E%23%20%E6%88%96%E8%80%85%EF%BC%8C%E5%AF%B9%E4%BA%8E%E6%A8%A1%E5%9D%97%E7%89%88%E6%9C%AC%EF%BC%9A%3C%2FP%3E%0A%3CP%3E%E5%87%86%E5%A4%87%E6%A8%A1%E5%9D%97%3C%2FP%3E%0A%3CP%3E%E8%A6%81%E7%82%B9%E5%A6%82%E4%B8%8B%EF%BC%9A%3C%2FP%3E%0A%3CUL%3E%0A%3CLI%3E%E5%86%85%E6%A0%B8%E6%BA%90%E4%BB%A3%E7%A0%81%2F%E6%9E%84%E5%BB%BA%E6%A0%91%E5%BF%85%E9%A1%BB%E4%B8%8E%E6%9D%BF%E4%B8%8A%E8%BF%90%E8%A1%8C%E7%9A%84%E5%86%85%E6%A0%B8%E5%AE%8C%E5%85%A8%E5%8C%B9%E9%85%8D%EF%BC%9A%E6%A3%80%E6%9F%A5%20uname%20-r%E3%80%82%3C%2FLI%3E%0A%3CLI%3EModule.symvers%20%E6%96%87%E4%BB%B6%E5%BF%85%E9%A1%BB%E5%AD%98%E5%9C%A8%EF%BC%9B%E5%90%A6%E5%88%99%EF%BC%8C%E6%A8%A1%E5%9D%97%E7%89%88%E6%9C%AC%E6%8E%A7%E5%88%B6%2F%E4%BE%9D%E8%B5%96%E5%85%B3%E7%B3%BB%E4%BF%A1%E6%81%AF%E5%8F%AF%E8%83%BD%E7%BC%BA%E5%A4%B1%E3%80%82%3C%2FLI%3E%0A%3CLI%3Emake%20oldconfig%20%26amp%3B%26amp%3B%20make%20prepare%20%2F%20make%20modules_prepare%20%E6%98%AF%E4%B8%BA%E5%A4%96%E9%83%A8%E6%A8%A1%E5%9D%97%E6%9E%84%E5%BB%BA%E5%87%86%E5%A4%87%E6%A0%91%E7%9A%84%E5%B8%B8%E7%94%A8%E6%AD%A5%E9%AA%A4%E3%80%82%3C%2FLI%3E%0A%3CLI%3E%E5%9C%A8%E6%9D%BF%E4%B8%8A%E8%BF%9B%E8%A1%8C%E6%9C%AC%E5%9C%B0%E6%9E%84%E5%BB%BA%E9%80%9A%E5%B8%B8%E9%80%9F%E5%BA%A6%E8%BE%83%E6%85%A2%EF%BC%9BNXP%20%E6%8C%87%E5%8D%97%E9%80%9A%E5%B8%B8%E5%BB%BA%E8%AE%AE%E5%AF%B9%20i.MX%20%E5%A4%96%E9%83%A8%E6%A8%A1%E5%9D%97%E8%BF%9B%E8%A1%8C%E4%B8%BB%E6%9C%BA%E7%AB%AF%E4%BA%A4%E5%8F%89%E7%BC%96%E8%AF%91%E3%80%82%3C%2FLI%3E%0A%3C%2FUL%3E%0A%3CP%3E%E7%AE%80%E8%80%8C%E8%A8%80%E4%B9%8B%EF%BC%9A%20%3CSTRONG%3EFlexbuild%20%E5%8F%AF%E4%BB%A5%E6%9E%84%E5%BB%BA%E5%8C%B9%E9%85%8D%E7%9A%84%E5%86%85%E6%A0%B8%EF%BC%8C%E4%BD%86%E5%AF%B9%E4%BA%8E%20i.MX8MP%20Debian%EF%BC%8C%E6%88%91%E4%BC%9A%E5%9C%A8%E4%B8%BB%E6%9C%BA%E4%B8%8A%E9%92%88%E5%AF%B9%20Flexbuild%20%E5%86%85%E6%A0%B8%E6%A0%91%E6%9E%84%E5%BB%BA%E6%A8%A1%E5%9D%97%EF%BC%8C%E8%80%8C%E4%B8%8D%E6%98%AF%E5%B0%9D%E8%AF%95%E5%9C%A8%E6%9D%BF%E4%B8%8A%E5%AE%89%E8%A3%85%E5%8F%91%E8%A1%8C%E7%89%88%E9%A3%8E%E6%A0%BC%E7%9A%84%20linux-headers%E3%80%82%3C%2FSTRONG%3E%E5%A6%82%E6%9E%9C%E9%9C%80%E8%A6%81%E7%9B%AE%E6%A0%87%E8%BF%AD%E4%BB%A3%EF%BC%8C%E8%AF%B7%E5%B0%86%E5%8C%B9%E9%85%8D%E7%9A%84%E5%B7%B2%E5%87%86%E5%A4%87%E5%A5%BD%E7%9A%84%E5%86%85%E6%A0%B8%E6%A0%91%E5%A4%8D%E5%88%B6%E5%88%B0%20%2Fusr%2Fsrc%2Flinux-headers-%24(uname%20-r)%20%E5%B9%B6%E5%B0%86%20%2Flib%2Fmodules%2F%24(uname%20-r)%2Fbuild%20%E6%8C%87%E5%90%91%E5%AE%83%E3%80%82%3C%2FP%3E%0A%3CP%3E%E4%BD%BF%E7%94%A8%20Flexbuild%20%E7%BC%96%E8%AF%91%E7%9A%84%E5%86%85%E6%A0%B8%E6%A0%91%E4%BD%9C%E4%B8%BA%E2%80%9Cheaders%E2%80%9D%E6%BA%90%EF%BC%9B%E5%9C%A8%E6%A3%80%E7%B4%A2%E5%88%B0%E7%9A%84%E8%B5%84%E6%96%99%E4%B8%AD%EF%BC%8C%E6%B2%A1%E6%9C%89%E5%85%B3%E4%BA%8E%20i.MX8MP%20Flexbuild%20Debian%20%E7%9A%84%E6%89%93%E5%8C%85%E7%9A%84%E3%80%81apt%20%E5%AE%89%E8%A3%85%E7%9A%84%20linux-headers-%24(uname%20-r)%20%E6%B5%81%E7%A8%8B%E7%9A%84%E6%96%87%E6%A1%A3%E3%80%82%3C%2FP%3E%0A%3CBR%20%2F%3E%3C%2FLINGO-BODY%3E