我的交叉编译安装提示代码块临时


需要文件

zlib、openssl、openssh

参阅:

https://blog.csdn.net/ctbinzi/article/details/5929800

https://blog.csdn.net/v6543210/article/details/83420034

 

说明代码

arm-linux-gnueabihf-gcc



mkdir /work/
mkdir /work/lib
mkdir /work/ssh
cd  /work/ssh
mkdir compressed install source

cd /work/ssh/compressed/
tar xvf zlib-1.2.11.tar.gz  -C  ../source
cd ../source/zlib-1.2.11
./configure --prefix=/work/ssh/install/zlib-1.2.11
vim Makefile
CC=arm-gcc
AR=arm-ar 
CPP =arm-gcc -E
LDSHARED=arm-gcc
make && make install


cd /work/ssh/compressed/
tar zxvf openssl-1.1.1f.tar.gz  -C  ../source
cd ../source/openssl-1.1.1f/
setarch i386 ./config no-asm shared --prefix=/work/ssh/install/openssl --cross-compile-prefix=arm-linux-gnueabihf-gcc
去掉Makefile的-m32 make && make install cd /work/ssh/compressed/ tar -zxvf openssh-8.2p1.tar.gz -C ../source/ cd ../source/openssh-8.2p1/ ./configure --host=arm-linux-gnueabihf --with-libs --with-zlib=/work/ssh/install/zlib-1.2.11 --with-ssl-dir=/work/ssh/install/openssl/ --disable-etc-default-login CC=arm-linux-gnueabihf-gcc AR=arm-linux-gnueabihf-ar make chmod 0600 ssh_host_key ssh_host_key ssh_host_rsa_key chmod 0644 *

大部分步骤按照第一篇参阅文档、ssh登录选项等参考第二篇文档。首先是要保证sshd能够在目标板运行。

 

configure:error:*** working libcrypto not found,check config.log

可能不是说openssl的问题,原来从windows拷贝的openssl目标文件,重新交叉编译了一遍openssl竟然通过,可能是说,文件的标记(文件属性)在虚拟机和windows相互传送时候丢失了。

 

其它说明

openssh启动以后,psftp测试,可能是要修改sshd_config文件中override查找字段,设定正确的sftp-server路径。

sshd对配置文件的权限有要求,应该是600的权限合适。尝试。

 

mosquitto交叉编译

编译前应该阅读compiling.txt和config.mk,注意openssl的编译是前提。如果提示了undefined reference to '__ctype_b'等,找一个最新版本的openssl编译,把libcrypto等库文件放到mosquitto所在的文件夹lib下即可。

然后更改config.mk中的prefix路径,作为最后安装路径。然后执行以下代码,即可。

make  WITH_SRV=no CC=mipsel-openwrt-linux-gcc CXX=mipsel-openwrt-linux-gcc  LDFLAGS="-L/root/mosquitto-1.6.12/lib -lssl -lcrypto"
make install

  


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM