zoukankan      html  css  js  c++  java
  • 【分享】在PetaLinux里为模块创建补丁

    PetaLinux(Yocto)里包含很多软件模块。大部分模块可以直接使用。如果有特殊需求,需要修改某些模块时,可以按下列办法先修改,测试成功后,再创建补丁,集成到PetaLinux(Yocto)工程里。

    比如客户需要修改xorg.conf,可以采用下列方式完成。

    工具版本

    PetaLinux 2020.1, VCU TRD 2020.1 PetaLinux BSP 工程

    选择工具devtool

    缺省情况下,PetaLinux使用bitbake。请在“petalinux-config  → Yocto settings  → Build tool”里,选择devtool。

    hankf@XSZGS4:~/proj/zcu106/v201/vcu-trd-xv20$ petalinux-config 
    INFO: sourcing build tools
    [INFO] menuconfig project
    configuration written to /home/hankf/proj/zcu106/v201/vcu-trd-xv20/project-spec/configs/config
    
    *** End of the configuration.
    *** Execute 'make' to start the build or try 'make help'.
    
    [INFO] sourcing build environment
    [INFO] generating kconfig for Rootfs
    [INFO] silentconfig rootfs
    [INFO] generating plnxtool conf
    [INFO] generating user layers
    [INFO] generating workspace directory
    [INFO] successfully configured project
    
    hankf@XSZGS4:~/proj/zcu106/v201/vcu-trd-xv20$ petalinux-build 
    INFO: sourcing build tools
    [INFO] building project
    [INFO] sourcing build environment
    [INFO] generating user layers
    [INFO] generating workspace directory
    [INFO] devtool build-image petalinux-image-minimal
    NOTE: Starting bitbake server...
    NOTE: Reconnecting to bitbake server...
    NOTE: Retrying server connection (#1)...
    NOTE: Reconnecting to bitbake server...
    NOTE: Previous bitbake instance shutting down?, waiting to retry...
    NOTE: Retrying server connection (#2)...
    ERROR:  OE-core's config sanity checker detected a potential misconfiguration.
        Either fix the cause of this error or at your own risk disable the checker (see sanity.conf).
        Following is the list of potential problems / advisories:
    
        Error, TMPDIR has changed location. You need to either move it back to /proj/hankf/zcu106/v201/vcu-trd-xv20/build/tmp or delete it and rebuild
    Summary: There was 1 ERROR message shown, returning a non-zero exit code.
    ERROR: Failed to start bitbake environment
    ERROR: Failed to build project
    

    选择devtool,编译报告TMPDIR的错误。之前的TMPDIR设置是工程目录下的“build/tmp”。在执行petalinux-config ,把TMPDIR设置为工程绝对目录,“/proj/hankf/zcu106/v201/vcu-trd-xv20/build/tmp”。

    hankf@XSZGS4:~/proj/zcu106/v201/vcu-trd-xv20$ petalinux-config 
    
    INFO: sourcing build tools
    [INFO] menuconfig project
    configuration written to /home/hankf/proj/zcu106/v201/vcu-trd-xv20/project-spec/configs/config
    
    *** End of the configuration.
    *** Execute 'make' to start the build or try 'make help'.
    
    [INFO] sourcing build environment
    [INFO] generating kconfig for Rootfs
    [INFO] silentconfig rootfs
    [INFO] generating plnxtool conf
    [INFO] generating user layers
    [INFO] generating workspace directory
    [INFO] successfully configured project
    

    获取软件包源代码

    执行命令“petalinux-build -c -x modify”,可以把源代码下载到workspace目录。执行完成后,目录“components/yocto/workspace/sources”会增加对应的目录和文件。

    客户需要修改xorg.conf。以xorg为为软件包名,执行命令“petalinux-build -c xorg -x modify”,petalinux报告找不到软件包。

    hankf@XSZGS4:~/proj/zcu106/v201/vcu-trd-xv20$ petalinux-build -c xorg -x modify
    INFO: sourcing build tools
    [INFO] building xorg
    [INFO] sourcing build environment
    [INFO] generating user layers
    [INFO] generating workspace directory
    [INFO] devtool modify xorg
    NOTE: Starting bitbake server...
    NOTE: Reconnecting to bitbake server...
    NOTE: Retrying server connection (#1)...
    NOTE: Reconnecting to bitbake server...
    NOTE: Previous bitbake instance shutting down?, waiting to retry...
    NOTE: Retrying server connection (#2)...
    Loading cache: 100% |########################################################################################################################| Time: 0:00:00
    Loaded 4234 entries from dependency cache.
    Parsing recipes: 100% |######################################################################################################################| Time: 0:00:05
    Parsing of 2967 .bb files complete (2965 cached, 2 parsed). 4236 targets, 168 skipped, 0 masked, 0 errors.
    ERROR: Unable to find any recipe file matching "xorg"
    ERROR: Failed to build xorg
    

    搜索xorg.conf,可以看到,在目录xserver-xf86-config里有,因此执行命令“petalinux-build -c xserver-xf86-config -x modify”。

    hankf@XSZGS4:~/proj/zcu106/v201/vcu-trd-xv20$ find -name "*org.conf"
    ./project-spec/meta-user/recipes-graphics/xorg-xserver/xserver-xf86-config/zynqmp/xorg.conf
    ./components/yocto/layers/meta-xilinx/meta-xilinx-bsp/recipes-graphics/xorg-xserver/xserver-xf86-config/zynqmp/xorg.conf
    ./components/yocto/layers/core/meta/recipes-graphics/xorg-xserver/xserver-xf86-config/qemumips64/xorg.conf
    ./components/yocto/layers/core/meta/recipes-graphics/xorg-xserver/xserver-xf86-config/qemuppc/xorg.conf
    ./components/yocto/layers/core/meta/recipes-graphics/xorg-xserver/xserver-xf86-config/qemumips/xorg.conf
    ./components/yocto/layers/core/meta/recipes-graphics/xorg-xserver/xserver-xf86-config/qemuarm/xorg.conf
    ./components/yocto/layers/core/meta/recipes-graphics/xorg-xserver/xserver-xf86-config/qemux86/xorg.conf
    ./components/yocto/layers/core/meta/recipes-graphics/xorg-xserver/xserver-xf86-config/qemux86-64/xorg.conf
    ./components/yocto/layers/core/meta/recipes-graphics/xorg-xserver/xserver-xf86-config/xorg.conf
    ./components/yocto/layers/core/meta/recipes-graphics/xorg-xserver/xserver-xf86-config/qemush4/xorg.conf
    
    hankf@XSZGS4:~/proj/zcu106/v201/vcu-trd-xv20$ petalinux-build -c xserver-xf86-config -x modify
    INFO: sourcing build tools
    [INFO] building xserver-xf86-config
    [INFO] sourcing build environment
    [INFO] generating user layers
    [INFO] generating workspace directory
    [INFO] devtool modify xserver-xf86-config
    NOTE: Starting bitbake server...
    NOTE: Reconnecting to bitbake server...
    NOTE: Retrying server connection (#1)...
    NOTE: Reconnecting to bitbake server...
    NOTE: Previous bitbake instance shutting down?, waiting to retry...
    NOTE: Retrying server connection (#2)...
    Loading cache: 100% |########################################################################################################################| Time: 0:00:00
    Loaded 4234 entries from dependency cache.
    Parsing recipes: 100% |######################################################################################################################| Time: 0:00:05
    Parsing of 2967 .bb files complete (2965 cached, 2 parsed). 4236 targets, 168 skipped, 0 masked, 0 errors.
    INFO: SRC_URI contains some conditional appends/prepends - will create branches to represent these
    NOTE: Resolving any missing task queue dependencies
    Initialising tasks: 100% |###################################################################################################################| Time: 0:00:00
    Sstate summary: Wanted 0 Found 0 Missed 0 Current 0 (0% match, 0% complete)
    NOTE: No setscene tasks
    NOTE: Executing Tasks
    WARNING: No source unpacked to S - either the xserver-xf86-config recipe doesn't use any source or the correct source directory could not be determined
    NOTE: Tasks Summary: Attempted 3 tasks of which 0 didn't need to be rerun and all succeeded.
    INFO: Adding local source files to srctree...
    INFO: Source tree extracted to /home/hankf/proj/zcu106/v201/vcu-trd-xv20/components/yocto/workspace/sources/xserver-xf86-config
    WARNING: SRC_URI is conditionally overridden in this recipe, thus several devtool-override-* branches have been created, one for each override that makes changes to SRC_URI. It is recommended that you make changes to the devtool branch first, then checkout and rebase each devtool-override-* branch and update any unique patches there (duplicates on those branches will be ignored by devtool finish/update-recipe)
    INFO: Using source tree as build directory since that would be the default for this recipe
    INFO: Recipe xserver-xf86-config now set up to build from /home/hankf/proj/zcu106/v201/vcu-trd-xv20/components/yocto/workspace/sources/xserver-xf86-config
    [INFO] successfully built xserver-xf86-config
    

    执行完成后,在目录“components/yocto/workspace/sources”下增加了目录“xserver-xf86-config/“以及文件”xorg.conf“。

    hankf@XSZGS4:~/proj/zcu106/v201/vcu-trd-xv20$ ls components/yocto/workspace/sources/xserver-xf86-config/
    oe-local-files  xorg.conf
    

    修改文件

    修改相关的文件,比如”xorg.conf“。

    hankf@XSZGS4:~/proj/zcu106/v201/vcu-trd-xv20$ ls components/yocto/workspace/sources/xserver-xf86-config/
    oe-local-files  xorg.conf
    hankf@XSZGS4:~/proj/zcu106/v201/vcu-trd-xv20$ gedit components/yocto/workspace/sources/xserver-xf86-config/xorg.conf  &
    [1] 3463
    

    测试修改

    修改相关的文件,执行命令“petalinux-build -c ”,比如“petalinux-build -c xserver-xf86-config ”, 执行编译测试,也可以在单板上测试。

    hankf@XSZGS4:~/proj/zcu106/v201/vcu-trd-xv20$ petalinux-build -c xserver-xf86-config 
    
    INFO: sourcing build tools
    [INFO] building xserver-xf86-config
    [INFO] sourcing build environment
    [INFO] generating user layers
    [INFO] generating workspace directory
    [INFO] Specified component xserver-xf86-config already exists in workspace, Using the same...
    [INFO] devtool build xserver-xf86-config
    NOTE: Starting bitbake server...
    NOTE: Reconnecting to bitbake server...
    NOTE: Retrying server connection (#1)...
    NOTE: Reconnecting to bitbake server...
    NOTE: Previous bitbake instance shutting down?, waiting to retry...
    NOTE: Retrying server connection (#2)...
    Loading cache: 100% |########################################################################################################################| Time: 0:00:00
    Loaded 4234 entries from dependency cache.
    Parsing recipes: 100% |######################################################################################################################| Time: 0:00:05
    Parsing of 2967 .bb files complete (2964 cached, 3 parsed). 4236 targets, 168 skipped, 0 masked, 0 errors.
    Removing 1 recipes from the zcu106_zynqmp sysroot: 100% |####################################################################################| Time: 0:00:00
    Loading cache: 100% |########################################################################################################################| Time: 0:00:03
    Loaded 4234 entries from dependency cache.
    Parsing recipes: 100% |######################################################################################################################| Time: 0:00:05
    Parsing of 2967 .bb files complete (2964 cached, 3 parsed). 4236 targets, 168 skipped, 0 masked, 0 errors.
    NOTE: Resolving any missing task queue dependencies
    Initialising tasks: 100% |###################################################################################################################| Time: 0:00:00
    Checking sstate mirror object availability: 100% |###########################################################################################| Time: 0:00:00
    Sstate summary: Wanted 6 Found 2 Missed 4 Current 59 (33% match, 93% complete)
    NOTE: Executing Tasks
    NOTE: Setscene tasks completed
    NOTE: xserver-xf86-config: compiling from external source tree /home/hankf/proj/zcu106/v201/vcu-trd-xv20/components/yocto/workspace/sources/xserver-xf86-config
    NOTE: Tasks Summary: Attempted 459 tasks of which 450 didn't need to be rerun and all succeeded.
    INFO: copy to TFTP-boot directory is not enabled !!
    [INFO] successfully built xserver-xf86-config
    [1]+  Done                    gedit components/yocto/workspace/sources/xserver-xf86-config/xorg.conf
    
    

    提交更改

    测试通过后,进入对应软件的目录,比如“components/yocto/workspace/sources/xserver-xf86-config”,通过git命令提交更改。

    hankf@XSZGS4:~/proj/zcu106/v201/vcu-trd-xv20/components/yocto/workspace/sources/xserver-xf86-config$ git add xorg.confhankf@XSZGS4:~/proj/zcu106/v201/vcu-trd-xv20/components/yocto/workspace/sources/xserver-xf86-config$ git commit -s
    [devtool 23f4304] test
     1 file changed, 2 insertions(+)
     create mode 100644 test.txt
    

    生成patch

    命令“petalinux-build -c -x update-recipe”会生成patch。 命令“petalinux-build -c -x finish”会生成patch,并在目录workspace删除相关源代码和目录。 creates a patch for the committed changes in recipe sources directory and removes the source from workspace.

    hankf@XSZGS4:~/proj/zcu106/v201/vcu-trd-xv20$ petalinux-build -c xserver-xf86-config -x update-recipe
    INFO: sourcing build tools
    [INFO] building xserver-xf86-config
    [INFO] sourcing build environment
    [INFO] generating user layers
    [INFO] generating workspace directory
    [INFO] Specified component xserver-xf86-config already exists in workspace, Using the same...
    [INFO] devtool update-recipe xserver-xf86-config -a /home/hankf/proj/zcu106/v201/vcu-trd-xv20/project-spec/meta-user -w
    NOTE: Starting bitbake server...
    NOTE: Reconnecting to bitbake server...
    NOTE: Retrying server connection (#1)...
    NOTE: Reconnecting to bitbake server...
    NOTE: Previous bitbake instance shutting down?, waiting to retry...
    NOTE: Retrying server connection (#2)...
    Loading cache: 100% |########################################################################################################################| Time: 0:00:00
    Loaded 4234 entries from dependency cache.
    Parsing recipes: 100% |######################################################################################################################| Time: 0:00:05
    Parsing of 2967 .bb files complete (2964 cached, 3 parsed). 4236 targets, 168 skipped, 0 masked, 0 errors.
    INFO: Handling main branch (devtool)...
    INFO: No patches or local source files needed updating
    INFO: Handling branch devtool-override-pn-arm-trusted-firmware...
    INFO: No patches or local source files needed updating
    INFO: Handling branch devtool-override-pn-device-tree...
    INFO: No patches or local source files needed updating
    INFO: copy to TFTP-boot directory is not enabled !!
    [INFO] successfully built xserver-xf86-config
    
    hankf@XSZGS4:~/proj/zcu106/v201/vcu-trd-xv20$ petalinux-build -c xserver-xf86-config -x finish
    INFO: sourcing build tools
    [INFO] building xserver-xf86-config
    [INFO] sourcing build environment
    [INFO] generating user layers
    [INFO] generating workspace directory
    [INFO] Specified component xserver-xf86-config already exists in workspace, Using the same...
    [INFO] devtool finish xserver-xf86-config /home/hankf/proj/zcu106/v201/vcu-trd-xv20/project-spec/meta-user 
    NOTE: Starting bitbake server...
    NOTE: Reconnecting to bitbake server...
    NOTE: Retrying server connection (#1)...
    NOTE: Reconnecting to bitbake server...
    NOTE: Previous bitbake instance shutting down?, waiting to retry...
    NOTE: Retrying server connection (#2)...
    
    Loading cache: 100% |########################################################################################################################| Time: 0:00:00
    Loaded 4234 entries from dependency cache.
    Parsing recipes: 100% |######################################################################################################################| Time: 0:00:05
    Parsing of 2967 .bb files complete (2964 cached, 3 parsed). 4236 targets, 168 skipped, 0 masked, 0 errors.
    INFO: Handling main branch (devtool)...
    NOTE: Writing append file /home/hankf/proj/zcu106/v201/vcu-trd-xv20/project-spec/meta-user/recipes-graphics/xorg-xserver/xserver-xf86-config_%.bbappend
    NOTE: Copying xorg.conf to /home/hankf/proj/zcu106/v201/vcu-trd-xv20/project-spec/meta-user/recipes-graphics/xorg-xserver/xserver-xf86-config/xorg.conf
    INFO: Handling branch devtool-override-pn-arm-trusted-firmware...
    INFO: No patches or local source files needed updating
    INFO: Handling branch devtool-override-pn-device-tree...
    INFO: No patches or local source files needed updating
    INFO: Cleaning sysroot for recipe xserver-xf86-config...
    INFO: Leaving source tree /home/hankf/proj/zcu106/v201/vcu-trd-xv20/components/yocto/workspace/sources/xserver-xf86-config as-is; if you no longer need it then please delete it manually
    [INFO] Removing source tree from workspace: /home/hankf/proj/zcu106/v201/vcu-trd-xv20/components/yocto/workspace/sources/xserver-xf86-config
    [INFO] successfully built xserver-xf86-config
    

    执行完成后,目录“project-spec/meta-user/recipes-graphics/xorg-xserver/xserver-xf86-config”下增加了文件xorg.conf。

    hankf@XSZGS4:/proj/hankf/zcu106/v201/vcu-trd-xv20/project-spec/meta-user/recipes-graphics/xorg-xserver/xserver-xf86-config$ ls -l
    total 8
    -rw-rw-r-- 1 hankf hankf  765 Nov 27 14:43 xorg.conf
    drwxr-xr-x 2 hankf hankf 4096 Nov 27 15:10 zynqmp
    

    删除软件包

    如果测试正常,可以执行命令“petalinux-build -c xserver-xf86-config -x reset”,把软件包从目录workspace删除。ug1144建议使用“devtool reset ”。最好使用“petalinux-build -c xserver-xf86-config -x reset”

    hankf@XSZGS4:~/proj/zcu106/v201/vcu-trd-xv20$ devtool reset  xserver-xf86-config 
    devtool: command not found
    hankf@XSZGS4:~/proj/zcu106/v201/vcu-trd-xv20$ petalinux-build -c xserver-xf86-config -x reset
    
    INFO: sourcing build tools
    [INFO] building xserver-xf86-config
    [INFO] sourcing build environment
    [INFO] generating user layers
    [INFO] generating workspace directory
    [INFO] Specified component xserver-xf86-config already exists in workspace, Using the same...
    [INFO] devtool reset xserver-xf86-config
    NOTE: Starting bitbake server...
    INFO: Cleaning sysroot for recipe xserver-xf86-config...
    INFO: Leaving source tree /home/hankf/proj/zcu106/v201/vcu-trd-xv20/components/yocto/workspace/sources/xserver-xf86-config as-is; if you no longer need it then please delete it manually
    [INFO] Removing source tree from workspace: /home/hankf/proj/zcu106/v201/vcu-trd-xv20/components/yocto/workspace/sources/xserver-xf86-config
    [INFO] successfully built xserver-xf86-config
    

    其它日志

    对比下面命令“petalinux-build -c -x update-recipe”和命令“petalinux-build -c -x finish”的结果,命令“petalinux-build -c -x finish”删除了components/yocto/workspace/sources下的目录gstreamer-vcu-notebooks。

    hankf@XSZGS4:~/proj/zcu106/v201/vcu-trd-xv20/components/yocto/workspace/sources/gstreamer-vcu-notebooks$ git add test.txt
    
    hankf@XSZGS4:~/proj/zcu106/v201/vcu-trd-xv20/components/yocto/workspace/sources/gstreamer-vcu-notebooks$ git commit -s
    [devtool 23f4304] test
     1 file changed, 2 insertions(+)
     create mode 100644 test.txt
    
    hankf@XSZGS4:~/proj/zcu106/v201/vcu-trd-xv20$ petalinux-build -c gstreamer-vcu-notebooks  -x update-recipe
    
    INFO: sourcing build tools
    [INFO] building gstreamer-vcu-notebooks
    [INFO] sourcing build environment
    [INFO] generating user layers
    [INFO] generating workspace directory
    [INFO] Specified component gstreamer-vcu-notebooks already exists in workspace, Using the same...
    [INFO] devtool update-recipe gstreamer-vcu-notebooks -a /home/hankf/proj/zcu106/v201/vcu-trd-xv20/project-spec/meta-user -w
    NOTE: Starting bitbake server...
    NOTE: Reconnecting to bitbake server...
    NOTE: Retrying server connection (#1)...
    NOTE: Reconnecting to bitbake server...
    NOTE: Previous bitbake instance shutting down?, waiting to retry...
    NOTE: Retrying server connection (#2)...
    Loading cache: 100% |########################################################################################################################| Time: 0:00:00
    Loaded 4234 entries from dependency cache.
    Parsing recipes: 100% |######################################################################################################################| Time: 0:00:05
    Parsing of 2967 .bb files complete (2964 cached, 3 parsed). 4236 targets, 168 skipped, 0 masked, 0 errors.
    INFO: Handling main branch (devtool)...
    NOTE: Writing append file /home/hankf/proj/zcu106/v201/vcu-trd-xv20/project-spec/meta-user/recipes-multimedia/gstreamer/gstreamer-vcu-notebooks_%.bbappend
    NOTE: Copying 0001-test.patch to /home/hankf/proj/zcu106/v201/vcu-trd-xv20/project-spec/meta-user/recipes-multimedia/gstreamer/gstreamer-vcu-notebooks/0001-test.patch
    INFO: Handling branch devtool-override-pn-arm-trusted-firmware...
    INFO: No patches or local source files needed updating
    INFO: Handling branch devtool-override-pn-device-tree...
    INFO: No patches or local source files needed updating
    INFO: copy to TFTP-boot directory is not enabled !!
    [INFO] successfully built gstreamer-vcu-notebooks
    
    
    hankf@XSZGS4:~/proj/zcu106/v201/vcu-trd-xv20$ ls -l ./components/yocto/workspace/sources/gstreamer-vcu-notebooks/
    total 20
    lrwxrwxrwx 1 hankf hankf   24 Nov 27 16:49 common.py -> oe-local-files/common.py
    lrwxrwxrwx 1 hankf hankf   22 Nov 27 16:49 LICENSE -> oe-local-files/LICENSE
    drwxr-xr-x 3 hankf hankf 4096 Nov 27 16:30 oe-local-files
    lrwxrwxrwx 1 hankf hankf  160 Nov 27 16:36 oe-logs -> /proj/hankf/zcu106/v201/vcu-trd-xv20/build/tmp/work/zynqmpev-xilinx-linux/gstreamer-vcu-notebooks/0.1-r0/temp
    lrwxrwxrwx 1 hankf hankf  155 Nov 27 16:36 oe-workdir -> /proj/hankf/zcu106/v201/vcu-trd-xv20/build/tmp/work/zynqmpev-xilinx-linux/gstreamer-vcu-notebooks/0.1-r0
    drwxrwxr-x 2 hankf hankf 4096 Nov 27 16:49 pictures
    -rw-rw-r-- 1 hankf hankf   11 Nov 27 16:49 test.txt
    lrwxrwxrwx 1 hankf hankf   51 Nov 27 16:49 vcu-demo-camera-decode-display.ipynb -> oe-local-files/vcu-demo-camera-decode-display.ipynb
    lrwxrwxrwx 1 hankf hankf   58 Nov 27 16:49 vcu-demo-camera-encode-decode-display.ipynb -> oe-local-files/vcu-demo-camera-encode-decode-display.ipynb
    lrwxrwxrwx 1 hankf hankf   48 Nov 27 16:49 vcu-demo-camera-encode-file.ipynb -> oe-local-files/vcu-demo-camera-encode-file.ipynb
    lrwxrwxrwx 1 hankf hankf   53 Nov 27 16:49 vcu-demo-camera-encode-streamout.ipynb -> oe-local-files/vcu-demo-camera-encode-streamout.ipynb
    lrwxrwxrwx 1 hankf hankf   44 Nov 27 16:49 vcu-demo-decode-display.ipynb -> oe-local-files/vcu-demo-decode-display.ipynb
    lrwxrwxrwx 1 hankf hankf   53 Nov 27 16:49 vcu-demo-streamin-decode-display.ipynb -> oe-local-files/vcu-demo-streamin-decode-display.ipynb
    lrwxrwxrwx 1 hankf hankf   47 Nov 27 16:49 vcu-demo-transcode-to-file.ipynb -> oe-local-files/vcu-demo-transcode-to-file.ipynb
    lrwxrwxrwx 1 hankf hankf   52 Nov 27 16:49 vcu-demo-transcode-to-streamout.ipynb -> oe-local-files/vcu-demo-transcode-to-streamout.ipynb
    
    hankf@XSZGS4:~/proj/zcu106/v201/vcu-trd-xv20$ petalinux-build -c gstreamer-vcu-notebooks  -x finish
    INFO: sourcing build tools
    [INFO] building gstreamer-vcu-notebooks
    [INFO] sourcing build environment
    [INFO] generating user layers
    [INFO] generating workspace directory
    [INFO] Specified component gstreamer-vcu-notebooks already exists in workspace, Using the same...
    [INFO] devtool finish gstreamer-vcu-notebooks /home/hankf/proj/zcu106/v201/vcu-trd-xv20/project-spec/meta-user 
    NOTE: Starting bitbake server...
    NOTE: Reconnecting to bitbake server...
    NOTE: Retrying server connection (#1)...
    NOTE: Reconnecting to bitbake server...
    NOTE: Previous bitbake instance shutting down?, waiting to retry...
    NOTE: Retrying server connection (#2)...
    Loading cache: 100% |########################################################################################################################| Time: 0:00:00
    Loaded 4234 entries from dependency cache.
    Parsing recipes: 100% |######################################################################################################################| Time: 0:00:05
    Parsing of 2967 .bb files complete (2964 cached, 3 parsed). 4236 targets, 168 skipped, 0 masked, 0 errors.
    INFO: Handling main branch (devtool)...
    NOTE: Writing append file /home/hankf/proj/zcu106/v201/vcu-trd-xv20/project-spec/meta-user/recipes-multimedia/gstreamer/gstreamer-vcu-notebooks_%.bbappend
    NOTE: Copying 0001-test.patch to /home/hankf/proj/zcu106/v201/vcu-trd-xv20/project-spec/meta-user/recipes-multimedia/gstreamer/gstreamer-vcu-notebooks/0001-test.patch
    INFO: Handling branch devtool-override-pn-arm-trusted-firmware...
    INFO: No patches or local source files needed updating
    INFO: Handling branch devtool-override-pn-device-tree...
    INFO: No patches or local source files needed updating
    INFO: Cleaning sysroot for recipe gstreamer-vcu-notebooks...
    INFO: Leaving source tree /home/hankf/proj/zcu106/v201/vcu-trd-xv20/components/yocto/workspace/sources/gstreamer-vcu-notebooks as-is; if you no longer need it then please delete it manually
    [INFO] Removing source tree from workspace: /home/hankf/proj/zcu106/v201/vcu-trd-xv20/components/yocto/workspace/sources/gstreamer-vcu-notebooks
    [INFO] successfully built gstreamer-vcu-notebooks
    
    hankf@XSZGS4:~/proj/zcu106/v201/vcu-trd-xv20$ ls -l ./components/yocto/workspace/sources/gstreamer-vcu-notebooks/
    ls: cannot access '/home/hankf/proj/zcu106/v201/vcu-trd-xv20/components/yocto/workspace/sources/gstreamer-vcu-notebooks/': No such file or directory
    

    另外也可以发现,命令自动创建了文件project-spec/meta-user/recipes-multimedia/gstreamer/gstreamer-vcu-notebooks_%.bbappend,自动复制了文件0001-test.patch到目录project-spec/meta-user/recipes-multimedia/gstreamer/gstreamer-vcu-notebooks。

    hankf@XSZGS4:~/proj/zcu106/v201/vcu-trd-xv20$ ls -l  project-spec/meta-user/recipes-multimedia/gstreamer/gstreamer-vcu-notebooks
    total 4
    -rw-rw-r-- 1 hankf hankf 440 Nov 27 16:53 0001-test.patch
    hankf@XSZGS4:~/proj/zcu106/v201/vcu-trd-xv20$ cat  project-spec/meta-user/recipes-multimedia/gstreamer/gstreamer-vcu-notebooks_%.bbappend 
    FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
    
    SRC_URI += "file://0001-test.patch"
    
    hankf@XSZGS4:~/proj/zcu106/v201/vcu-trd-xv20$ cat  project-spec/meta-user/recipes-multimedia/gstreamer/gstreamer-vcu-notebooks/0001-test.patch 
    From 23f430438ac6cb1e2e712916f0136fe8a0c8075e Mon Sep 17 00:00:00 2001
    From: Hank Hanjie Fu <hankf@xilinx.com>
    Date: Fri, 27 Nov 2020 16:47:50 +0800
    Subject: [PATCH] test
    
    Signed-off-by: Hank Hanjie Fu <hankf@xilinx.com>
    ---
     test.txt | 2 ++
     1 file changed, 2 insertions(+)
     create mode 100644 test.txt
    
    diff --git a/test.txt b/test.txt
    new file mode 100644
    index 0000000..a8a04d9
    --- /dev/null
    +++ b/test.txt
    @@ -0,0 +1,2 @@
    +
    

    额外说明

    /recipes-graphics/xorg-xserver/xserver-xf86-config/zynqmp和/recipes-graphics/xorg-xserver/xserver-xf86-config/都有xorg.conf。 生效的是文件 ./recipes-graphics/xorg-xserver/xserver-xf86-config/zynqmp/xorg.conf。 文件./recipes-graphics/xorg-xserver/xserver-xf86-config/xorg.conf没有生效。

    参考文档

    来源

    https://www.yoctoproject.org/software-item/devtool/

    原文

    The cornerstone of the extensible SDK is a command-line tool called devtool. This tool provides a number of features that help you build, test and package software within the extensible SDK, and optionally integrate it into an image built by the OpenEmbedded build system.

    The devtool command line is organized similarly to Git in that it has a number of sub-commands for each function. You can run devtool –help to see all the commands.

    Three devtool subcommands that provide entry-points into development are:

    devtool add: Assists in adding new software to be built. devtool modify: Sets up an environment to enable you to modify the source of an existing component. devtool upgrade: Updates an existing recipe so that you can build it for an updated set of source files. As with the OpenEmbedded build system, “recipes” represent software packages within devtool. When you use devtool add, a recipe is automatically created. When you use devtool modify, the specified existing recipe is used in order to determine where to get the source code and how to patch it. In both cases, an environment is set up so that when you build the recipe a source tree that is under your control is used in order to allow you to make changes to the source as desired. By default, both new recipes and the source go into a “workspace” directory under the SDK.

    google翻译

    可扩展SDK的基础是称为devtool的命令行工具。该工具提供了许多功能,可帮助您在可扩展的SDK中构建,测试和打包软件,还可以选择将其集成到OpenEmbedded构建系统构建的映像中。

    devtool命令行的组织方式与Git相似,因为每个功能都有许多子命令。您可以运行devtool –help来查看所有命令。

    提供开发入口点的三个devtool子命令是:

    devtool add:协助添加要构建的新软件。 devtool Modify:设置环境以使您能够修改现有组件的源。 devtool升级:更新现有配方,以便您可以为一组更新的源文件构建它。 与OpenEmbedded构建系统一样,“配方”代表devtool中的软件包。使用devtool add时,将自动创建一个配方。使用devtool Modify时,将使用指定的现有配方来确定从何处获取源代码以及如何对其进行修补。在这两种情况下,都将建立一个环境,以便在构建配方时使用位于您控制之下的源树,以允许您根据需要对源进行更改。默认情况下,新配方和源都进入SDK下的“工作区”目录。

  • 相关阅读:
    A 开场白 快速幂
    矩阵快速幂
    围棋棋盘有多少正方形 19*19
    matlab
    汉诺塔问题
    error C2504 base class undefined
    查看标准的FM以及描述等的一个数据…
    报表整合数据的时候,常见的模式:
    SQL执行顺序
    LIST&nbsp;BOX&nbsp;联动的实现
  • 原文地址:https://www.cnblogs.com/hankfu/p/14049130.html
Copyright © 2011-2022 走看看