之前打包了一个精简的linuxos,本身想基于这个os进行简单的调试,以便更充分的了解内核的原理。然后再调试内存子系统时,发现无法从外部访问该os,没有ssh,没有adb,也无法用串口,所以这部分是为了将ssh移植打包到我们的os当中,以满足访问虚拟机或者开发板进行调试。后期也会考虑移植adb,并在开发板上使用串口调试。
一、下载相关工具源码并解压zlib:Index of /fossils
OpenSSL:https://www.openssl.org/source/
OpenSSH:Index of /pub/OpenBSD/OpenSSH/portable/
二、 编译zlib三、编译openssl./configure --prefix=~/workspace/01_code/06_ssh/02_install/zlib
make
make install
四、编译openssh./config --prefix=/root/workspace/01_code/06_ssh/02_install/ssl/opt/openssl --openssldir=/root/workspace/01_code/06_ssh/02_install/ssl/usr/local/ssl
make
make install
./configure --with-libs --with-zlib=/root/workspace/01_code/06_ssh/02_install/zlib --with-ssl-dir=/root/workspace/01_code/06_ssh/02_install/ssl/opt/openssl --disable-etc-default-login --prefix=/root/workspace/01_code/06_ssh/02_install/ssh/opt --sysconfdir=/root/workspace/01_code/06_ssh/02_install/ssh/etc/ssh
make
make install
编译结果如下:
注意1:
如果要移植到arm的开发板上,需要配置编译器arm-none-linux-eabi等。
注意2:
三个工具之间虽然没有版本上的依赖,但是在配置过程中遇到了"error: Your OpenSSL headers do not match your library.",后来更新到最新的ssh才规避了这个问题。我的工具版本分别是:
- zlib-1.2.11
- openssl-1.1.1n
- openssh-9.0p1



