SSH

Getting ssh to compile under uClinux can be quite of a pain since the tarball distribution does not include crypto libraries. You'd think all you would need to do would be to drop in the sources and that would be end to that. In practice you will encounter problems with make and config files. I'll briefly describe the hacks I made to get SSH to compile for the 20041215 distribution of uClinux. Also, for some reason my second attempt at fixing this stuff turned out to be much easier (much fewer modifications)

download the following files:

openssl-0.9.7c.tar.gz
openssl-0.9.7c.diff
user.ssh.config.h.diff
If any of the files are not avalible in original location you can get them here

Step by step instructions

tox@ilya:/.../uclinux$ tar -xvzf uClinux-dist-20041215.tar.gz
tox@ilya:/.../uclinux$ tar -xvzf openssl-0.9.7c.tar.gz
tox@ilya:/.../uclinux$ cp -R openssl-0.9.7c/ uClinux-dist/lib/libssl/
tox@ilya:/.../uclinux$ cd uClinux-dist/lib/libssl/
tox@ilya:/.../uclinux/uClinux-dist/lib/libssl$ patch -p1 < ../../../openssl-0.9.7c.diff
tox@ilya:/.../uclinux/uClinux-dist/lib/libssl$ cd ../../user/ssh/
tox@ilya:/.../uclinux/uClinux-dist/user/ssh$ patch -p0 < ../../../user.ssh.config.h.diff
tox@ilya:/.../uclinux/uClinux-dist/user/ssh$ cd ../../
tox@ilya:/.../uclinux/uClinux-dist/$ make menuconfig
Configure as you see fit. Just make sure to select ssh, sshd, ssh-keygen, scp under networking applications; and you also want to select all tinylogin stuff except for what is in the "Features" category. (If you do select password shadowing uClinux will not compile, it'll barf "undefined reference to `getspnam'". To fix this you can change '# HAS_SHADOW is not set' to 'HAS_SHADOW=y' in 'uClinux-dist/uClibc/.config'.)
tox@ilya:/.../uclinux/uClinux-dist$ make clean; make dep; make

References:

2005-08-25 18:25:47

<<prev next>>