我正在尝试编译叠加层并将其用于研究目的,但我无法编译叠加层。 例如,我从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位。 这有什么不对?
答案 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
现在编译,这个错误应该消失了。