前言
在使用 petalinux 修改并生成最新的.ko驱动模块时,发现并没有生成当前时间下的最新.ko文件。如下图:
zzz@ubuntu-GCP1820-SS:xilinx$ sptl #设置环境变量
PetaLinux environment set to '/home/zzz/opt/pkg/petalinux/2019.2'
WARNING: /bin/sh is not bash!
bash is PetaLinux recommended shell. Please set your default shell to bash.
INFO: Checking free disk space
INFO: Checking installed tools
INFO: Checking installed development libraries
INFO: Checking network and other services
WARNING: No tftp server found - please refer to "PetaLinux SDK Installation Guide" for its impact and solution
zzz@ubuntu-GCP1820-SS:xilinx$
zzz@ubuntu-GCP1820-SS:xilinx$
zzz@ubuntu-GCP1820-SS:xilinx$ petalinux-build #编译整个 Petalinux 工程
[INFO] building project
[INFO] sourcing bitbake
[INFO] generating user layers
[INFO] generating workspace directory
INFO: bitbake petalinux-user-image
Loading cache: 100% |################################################################################################################################| Time: 0:00:00
Loaded 3987 entries from dependency cache.
Parsing recipes: 100% |##############################################################################################################################| Time: 0:00:04
Parsing of 2901 .bb files complete (2899 cached, 2 parsed). 3988 targets, 155 skipped, 0 masked, 0 errors.
NOTE: Resolving any missing task queue dependencies
Initialising tasks: 100% |################################################################################################################################| Time: 0:00:02
Checking sstate mirror object availability: 100% |########################################################################################################| Time: 0:00:00
Sstate summary: Wanted 124 Found 22 Missed 204 Current 862 (17% match, 89% complete)
NOTE: Executing SetScene Tasks
NOTE: Executing RunQueue Tasks
NOTE: Tasks Summary: Attempted 3478 tasks of which 3470 didn't need to be rerun and all succeeded.
INFO: Copying Images from deploy to images
[Errno 13] Permission denied: '/tftpboot/Image'
NOTE: Successfully copied built images to tftp dir: /tftpboot
[INFO] successfully built project
zzz@ubuntu-GCP1820-SS:xilinx$
zzz@ubuntu-GCP1820-SS:xilinx$
zzz@ubuntu-GCP1820-SS:xilinx$ find . -name "one-wire.ko" # 查找自定义的.ko文件,查找不到
zzz@ubuntu-GCP1820-SS:xilinx$
zzz@ubuntu-GCP1820-SS:xilinx$ petalinux-package --boot --format BIN --fsbl --pmufw --fpga --u-boot --output boot.bin --force #打包生成 BOOT 文件
INFO: File in BOOT BIN: "/home/zzz/petalinux/xilinx/images/linux/zynqmp_fsbl.elf"
INFO: File in BOOT BIN: "/home/zzz/petalinux/xilinx/images/linux/pmufw.elf"
INFO: File in BOOT BIN: "/home/zzz/petalinux/xilinx/project-spec/hw-description/evt2_shireA_V11_000017.bit"
INFO: File in BOOT BIN: "/home/zzz/petalinux/xilinx/images/linux/bl31.elf"
INFO: File in BOOT BIN: "/home/zzz/petalinux/xilinx/images/linux/u-boot.elf"
INFO: Generating zynqmp binary package boot.bin...
****** Xilinx Bootgen v2019.2
**** Build date : Oct 23 2019-22:59:42
** Copyright 1986-2019 Xilinx, Inc. All Rights Reserved.
INFO: Binary is ready.
zzz@ubuntu-GCP1820-SS:xilinx$
zzz@ubuntu-GCP1820-SS:xilinx$ ls images/linux/ -lhtr
total 754M
-rw-r--r-- 1 zzz zzz 49M 4月 3 11:37 rootfs.cpio
-rw-r--r-- 1 zzz zzz 6.9M 4月 3 11:37 rootfs.cpio.gz
-rw-r--r-- 1 zzz zzz 6.9M 4月 3 11:37 rootfs.cpio.gz.u-boot
-rw-r--r-- 1 zzz zzz 12M 4月 3 11:37 rootfs.jffs2
-rw-r--r-- 1 zzz zzz 66M 4月 3 11:39 Image
-rw-r--r-- 1 zzz zzz 303M 4月 3 11:39 vmlinux
-rw-r--r-- 1 zzz zzz 3.3M 4月 3 11:39 System.map.linux
-rw-r--r-- 1 zzz zzz 25M 4月 3 11:39 image.ub
-rw-rw-r-- 1 zzz zzz 21M 4月 3 11:50 boot.bin
zzz@ubuntu-GCP1820-SS:xilinx$
zzz@ubuntu-GCP1820-SS:xilinx$
zzz@ubuntu-GCP1820-SS:xilinx$ find . -name "one-wire.ko" # 查找自定义的.ko文件,查找不到
zzz@ubuntu-GCP1820-SS:xilinx$ find . -name "*one-wire*"
./project-spec/meta-user/recipes-modules/one-wire
./project-spec/meta-user/recipes-modules/one-wire/one-wire.bb
./project-spec/meta-user/recipes-modules/one-wire/files/one-wire.c-original
./project-spec/meta-user/recipes-modules/one-wire/files/one-wire.c
...
./build/tmp/work/plnx_zynqmp-xilinx-linux/one-wire/1.0-r0/.tmp_versions/one-wire.mod
./build/tmp/stamps/plnx_zynqmp-xilinx-linux/one-wire
./images/linux/rootfs/usr/share/licenses/one-wire
zzz@ubuntu-GCP1820-SS:xilinx$
zzz@ubuntu-GCP1820-SS:xilinx$
zzz@ubuntu-GCP1820-SS:xilinx$ ls ./images/linux/rootfs/lib/modules/4.19.0-xilinx-v2019.2/extra/ -lhtr # 查找自定义的.ko文件,查找不到
total 128K
-rw-r--r-- 1 zzz zzz 14K 3月 22 15:08 reserved-driver.ko
-rw-r--r-- 1 zzz zzz 25K 3月 22 15:08 multichan-axidma.ko
-rw-r--r-- 1 zzz zzz 15K 3月 22 15:08 ib-fwup.ko
-rw-r--r-- 1 zzz zzz 47K 3月 22 15:08 u-dma-buf.ko
-rw-r--r-- 1 zzz zzz 18K 3月 22 15:08 oob-fwup.ko
可以看到, build 目录下有相关的one-wire文件。可能是旧的文件导致make没有生成当前时间下最新的.ko文件。
一、删除旧的 build 目录
zzz@ubuntu-GCP1820-SS:xilinx$ rm build/ -rf
zzz@ubuntu-GCP1820-SS:xilinx$
二、编译内核模块
zzz@ubuntu-GCP1820-SS:xilinx$ petalinux-build -c one-wire #only for one-wire moudule
[INFO] building one-wire
[INFO] generating Kconfig for project
[INFO] silentconfig project
[INFO] sourcing bitbake
[INFO] generating plnxtool conf
[INFO] generating meta-plnx-generated layer
[INFO] generating machine configuration
[INFO] generating bbappends for project . This may take time !
[INFO] generating u-boot configuration files
[INFO] generating kernel configuration files
[INFO] generating user layers
[INFO] generating workspace directory
[INFO] generating kconfig for Rootfs
[INFO] silentconfig rootfs
[INFO] generating petalinux-user-image.bb
INFO: bitbake one-wire
Parsing recipes: 100% |####################################################################################################################################| Time: 0:01:11
Parsing of 2901 .bb files complete (0 cached, 2901 parsed). 3988 targets, 155 skipped, 0 masked, 0 errors.
NOTE: Resolving any missing task queue dependencies
Initialising tasks: 100% |#################################################################################################################################| Time: 0:00:04
Checking sstate mirror object availability: 100% |#########################################################################################################| Time: 0:00:03
Sstate summary: Wanted 923 Found 678 Missed 490 Current 0 (73% match, 0% complete)
NOTE: Executing SetScene Tasks
NOTE: Executing RunQueue Tasks
NOTE: Tasks Summary: Attempted 2759 tasks of which 2338 didn't need to be rerun and all succeeded.
INFO: Copying Images from deploy to images
[Errno 13] Permission denied: '/tftpboot/Image'
NOTE: Successfully copied built images to tftp dir: /tftpboot
[INFO] successfully built one-wire
zzz@ubuntu-GCP1820-SS:xilinx$
zzz@ubuntu-GCP1820-SS:xilinx$
zzz@ubuntu-GCP1820-SS:xilinx$ find . -name "one-wire.ko"
./build/tmp/sysroots-components/plnx_zynqmp/one-wire/lib/modules/4.19.0-xilinx-v2019.2/extra/one-wire.ko
zzz@ubuntu-GCP1820-SS:xilinx$
zzz@ubuntu-GCP1820-SS:xilinx$
zzz@ubuntu-GCP1820-SS:xilinx$ ll ./build/tmp/sysroots-components/plnx_zynqmp/one-wire/lib/modules/4.19.0-xilinx-v2019.2/extra/one-wire.ko
-rw-r--r-- 1 zzz zzz 12880 4月 3 12:16 ./build/tmp/sysroots-components/plnx_zynqmp/one-wire/lib/modules/4.19.0-xilinx-v2019.2/extra/one-wire.ko
zzz@ubuntu-GCP1820-SS:xilinx$
zzz@ubuntu-GCP1820-SS:xilinx$
三、编译设备树和整个工程
zzz@ubuntu-GCP1820-SS:xilinx$ petalinux-build -c device-tree #only for device-tree
[INFO] building device-tree
[INFO] sourcing bitbake
[INFO] generating user layers
[INFO] generating workspace directory
INFO: bitbake virtual/dtb
Loading cache: 100% |###########################################################################################################################################| Time: 0:00:00
Loaded 3987 entries from dependency cache.
Parsing recipes: 100% |#########################################################################################################################################| Time: 0:00:04
Parsing of 2901 .bb files complete (2899 cached, 2 parsed). 3988 targets, 155 skipped, 0 masked, 0 errors.
NOTE: Resolving any missing task queue dependencies
Initialising tasks: 100% |######################################################################################################################################| Time: 0:00:02
Checking sstate mirror object availability: 100% |##############################################################################################################| Time: 0:00:00
Sstate summary: Wanted 168 Found 65 Missed 206 Current 754 (38% match, 88% complete)
NOTE: Executing SetScene Tasks
NOTE: Executing RunQueue Tasks
NOTE: Tasks Summary: Attempted 2762 tasks of which 2752 didn't need to be rerun and all succeeded.
INFO: Copying Images from deploy to images
[Errno 13] Permission denied: '/tftpboot/Image'
NOTE: Successfully copied built images to tftp dir: /tftpboot
[INFO] successfully built device-tree
zzz@ubuntu-GCP1820-SS:xilinx$
zzz@ubuntu-GCP1820-SS:xilinx$
zzz@ubuntu-GCP1820-SS:xilinx$
zzz@ubuntu-GCP1820-SS:xilinx$ petalinux-build #for all
[INFO] building project
[INFO] sourcing bitbake
[INFO] generating user layers
[INFO] generating workspace directory
INFO: bitbake petalinux-user-image
Loading cache: 100% |###########################################################################################################################################| Time: 0:00:00
Loaded 3987 entries from dependency cache.
Parsing recipes: 100% |#########################################################################################################################################| Time: 0:00:04
Parsing of 2901 .bb files complete (2899 cached, 2 parsed). 3988 targets, 155 skipped, 0 masked, 0 errors.
NOTE: Resolving any missing task queue dependencies
Initialising tasks: 100% |######################################################################################################################################| Time: 0:00:03
Checking sstate mirror object availability: 100% |##############################################################################################################| Time: 0:00:00
Sstate summary: Wanted 233 Found 107 Missed 252 Current 753 (45% match, 87% complete)
NOTE: Executing SetScene Tasks
NOTE: Executing RunQueue Tasks
NOTE: Tasks Summary: Attempted 3478 tasks of which 2800 didn't need to be rerun and all succeeded.
INFO: Copying Images from deploy to images
[Errno 13] Permission denied: '/tftpboot/Image'
NOTE: Successfully copied built images to tftp dir: /tftpboot
[INFO] successfully built project
zzz@ubuntu-GCP1820-SS:xilinx$
zzz@ubuntu-GCP1820-SS:xilinx$
参考链接:https://blog.csdn.net/weixin_43873379/article/details/102625054?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522164895674016782094821803%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=164895674016782094821803&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allbaidu_landing_v2~default-1-102625054.142v5pc_search_result_control_group,157v4control&utm_term=petalinux+%E7%BC%96%E8%AF%91%E9%A9%B1%E5%8A%A8%E6%A8%A1%E5%9D%97&spm=1018.2226.3001.4187