Dropbear is a relatively small SSH 2 server and client. Dropbear has a small memory footprint suitable for memory-constrained environments, while still having the same features as OpenSSH. It does not depend on OpenSSL and it has a MIT style license. Optionally it can even be made smaller.
Dropbear incorrectly calls ld instead of gcc for linking, so fix it:
cp Makefile.in{,.orig}
sed -e s/@LD@/@CC@/ Makefile.in.orig > Makefile.in
Configure dropbear:
CC="${CC} -Os" ./configure --prefix=/usr --host=${CLFS_TARGET}
Now we will utilize /dev/urandom instead of /dev/random. To allow this to be utilized we use the following sed:
cp -v options.h options.h.backup sed -e "s@/dev/random@/dev/urandom@" options.h.backup > options.h
We are just telling dropbear to use the default configuration. For those for more adventureous, edit options.h to further configure dropbear.
Compile the package:
make MULTI=1 PROGRAMS="dropbear dbclient dropbearkey dropbearconvert scp"
Install the package:
make MULTI=1 PROGRAMS="dropbear dbclient dropbearkey dropbearconvert scp" \
install DESTDIR=${CLFS}
ln -svf /usr/bin/dropbearmulti ${CLFS}/usr/sbin/dropbear
ln -svf /usr/bin/dropbearmulti ${CLFS}/usr/bin/dbclient
ln -svf /usr/bin/dropbearmulti ${CLFS}/usr/bin/dropbearkey
ln -svf /usr/bin/dropbearmulti ${CLFS}/usr/bin/dropbearconvert
ln -svf /usr/bin/dropbearmulti ${CLFS}/usr/bin/scp
Create the directory for the dropbear key files:
install -dv ${CLFS}/etc/dropbear
Install the bootscripts from the clfs-bootscripts package:
make install-sshd DESTDIR=${CLFS}