设备树编译器抛出错误dtc:invalid选项 - '@'

时间:2017-10-05 06:26:01

标签: linux-kernel beagleboneblack device-tree

我正在尝试编译叠加层并将其用于研究目的,但我无法编译叠加层。 例如,我从derek molloy博客中获取了一个示例设备树覆盖图

git clone git://github.com/derekmolloy/boneDeviceTree.git

现在我有一个名称覆盖的目录。在那里,脚本构建就有了这个叠加层的编译命令。 这是构建内部的命令

#!/bin/bash

echo "Compiling the overlay from .dts to .dtbo"

dtc -O dtb -o DM-GPIO-Test-00A0.dtbo -b 0 -@ DM-GPIO-Test.dts

DM-GPIO-Test.dts 文件是源覆盖文件, DM-GPIO-Test-00A0.dtbo 是输出。

现在,如果我运行此脚本,我会收到此消息

./build 
Compiling the overlay from .dts to .dtbo
dtc: invalid option -- '@'
Usage: dtc [options] <input file>

Options: -[qI:O:o:V:d:R:S:p:fb:i:H:sW:E:hv]
  -q, --quiet                
    Quiet: -q suppress warnings, -qq errors, -qqq all
  -I, --in-format <arg>      
    Input formats are:
        dts - device tree source text
        dtb - device tree blob
        fs  - /proc/device-tree style directory
  -o, --out <arg>            
    Output file
  -O, --out-format <arg>     
    Output formats are:
        dts - device tree source text
        dtb - device tree blob
        asm - assembler source
  -V, --out-version <arg>    
    Blob version to produce, defaults to %d (for dtb and asm output)
  -d, --out-dependency <arg> 
    Output dependency file
  -R, --reserve <arg>        
    tMake space for <number> reserve map entries (for dtb and asm output)
  -S, --space <arg>          
    Make the blob at least <bytes> long (extra space)
  -p, --pad <arg>            
    Add padding to the blob of <bytes> long (extra space)
  -b, --boot-cpu <arg>       
    Set the physical boot cpu
  -f, --force                
    Try to produce output even if the input tree has errors
  -i, --include <arg>        
    Add a path to search for include files
  -s, --sort                 
    Sort nodes and properties before outputting (useful for comparing trees)
  -H, --phandle <arg>        
    Valid phandle formats are:
        legacy - "linux,phandle" properties only
        epapr  - "phandle" properties only
        both   - Both "linux,phandle" and "phandle" properties
  -W, --warning <arg>        
    Enable/disable warnings (prefix with "no-")
  -E, --error <arg>          
    Enable/disable errors (prefix with "no-")
  -h, --help                 
    Print this help and exit
  -v, --version              
    Print version and exit

Error: unknown option

我在发出此命令之前安装了device-tree-compiler。我的系统是ubuntu 14.04,64位。 这有什么不对?

1 个答案:

答案 0 :(得分:1)

在ubuntu 14.04上获取内核3.8的正确dtc 这样做,

wget https://raw.githubusercontent.com/RobertCNelson/boot-scripts/master/tools/dtc/dtc-3.8.x.sh
chmod +x dtc-3.8.x.sh
./dtc-3.8.x.sh

现在编译,这个错误应该消失了。