在陆佳华《嵌入式系统软硬件协同设计实战指南 第2版》一书的第13章节 编译U-boot时会遇到2个错误。原因很简单,就从一开始的错误提示着手: fatal error: openssl/evp.h: 没有那个文件或目录。当然在网上也可以搜索到相关的解决方法。在此仅作为记录:如果你在编译时遇到这个错误,这可能是下面的原因:你尝试编译的程序使用OpenSSL,但是需要和OpenSSL链接的文件(库和头文件)在你Linux平台上缺少。因为原书貌似用的是Ubuntu12.04而我用的是14.04.所以要自己安装相关的文件。
要在Debian、Ubuntu或者其他衍生版上安装OpenSSL:
- $ sudo apt-get install libssl-dev
要在Fedora、CentOS或者RHEL上安装OpenSSL开发包:
- $ sudo yum install openssl-devel
安装完后,尝试重新编译程序。
编译后出现
MKIMAGE u-boot.img
./tools/zynq-boot-bin.py -o boot.bin -u spl/u-boot-spl.bin
Input file is: spl/u-boot-spl.bin
Output file is: boot.bin
Using /root/build/u-boot-xlnx/spl/u-boot-spl.bin to get image length - it is 49136 (0xbff0) bytes
After checksum waddr= 0x13 byte addr= 0x4c
Number of registers to initialize 0
Generating binary output /root/build/u-boot-xlnx/boot.bin
OK!