Mercurial > dropbear
comparison INSTALL @ 389:5ff8218bcee9
propagate from branch 'au.asn.ucc.matt.ltm.dropbear' (head 2af95f00ebd5bb7a28b3817db1218442c935388e)
to branch 'au.asn.ucc.matt.dropbear' (head ecd779509ef23a8cdf64888904fc9b31d78aa933)
author | Matt Johnston <matt@ucc.asn.au> |
---|---|
date | Thu, 11 Jan 2007 03:14:55 +0000 |
parents | b24730e11c83 |
children | 2d943453cecf |
comparison
equal
deleted
inserted
replaced
388:fb54020f78e1 | 389:5ff8218bcee9 |
---|---|
1 Basic Dropbear build instructions: | |
2 | |
3 - Edit options.h to set which features you want. | |
4 - Edit debug.h if you want any debug options (not usually required). | |
5 | |
6 (If using a non-tarball copy, "autoconf; autoheader") | |
7 | |
8 ./configure (optionally with --disable-zlib or --disable-syslog, | |
9 or --help for other options) | |
10 | |
11 Now compile: | |
12 | |
13 make PROGRAMS="dropbear dbclient dropbearkey dropbearconvert scp" | |
14 | |
15 And install (/usr/local/bin is usual default): | |
16 | |
17 make PROGRAMS="dropbear dbclient dropbearkey dropbearconvert scp" install | |
18 | |
19 (you can leave items out of the PROGRAMS list to avoid compiling them. If you | |
20 recompile after changing the PROGRAMS list, you *MUST* "make clean" before | |
21 recompiling - bad things will happen otherwise) | |
22 | |
23 See MULTI for instructions on making all-in-one binaries. | |
24 | |
25 If you want to compile statically, add "STATIC=1" to the make command-line. | |
26 | |
27 Binaries can be strippd with "make strip" | |
28 | |
29 ============================================================================ | |
30 | |
31 If you're compiling for a 386-class CPU, you will probably need to add | |
32 CFLAGS=-DLTC_NO_BSWAP so that libtomcrypt doesn't use 486+ instructions. | |
33 | |
34 ============================================================================ | |
35 | |
36 Compiling with uClibc: | |
37 | |
38 Firstly, make sure you have at least uclibc 0.9.17, as getusershell() in prior | |
39 versions is broken. Also note that you may get strange issues if your uClibc | |
40 headers don't match the library you are running with, ie the headers might | |
41 say that shadow password support exists, but the libraries don't have it. | |
42 | |
43 Compiling for uClibc should be the same as normal, just set CC to the magic | |
44 uClibc toolchain compiler (ie export CC=i386-uclibc-gcc or whatever). | |
45 You can use "make STATIC=1" to make statically linked binaries, and it is | |
46 advisable to strip the binaries too. If you're looking to make a small binary, | |
47 you should remove unneeded ciphers and MD5, by editing options.h | |
48 | |
49 It is possible to compile zlib in, by copying zlib.h and zconf.h into a | |
50 subdirectory (ie zlibincludes), and | |
51 | |
52 export CFLAGS="-Izlibincludes -I../zlibincludes" | |
53 export LDFLAGS=/usr/lib/libz.a | |
54 | |
55 before ./configure and make. | |
56 | |
57 If you disable zlib, you must explicitly disable compression for the client - | |
58 OpenSSH is possibly buggy in this regard, it seems you need to disable it | |
59 globally in ~/.ssh/config, not just in the host entry in that file. | |
60 | |
61 You may want to manually disable lastlog recording when using uClibc, configure | |
62 with --disable-lastlog. | |
63 | |
64 One common problem is pty allocation. There are a number of types of pty | |
65 allocation which can be used -- if they work properly, the end result is the | |
66 same for each type. Running configure should detect the best type to use | |
67 automatically, however for some systems, this may be incorrect. Some | |
68 things to note: | |
69 | |
70 If your system expects /dev/pts to be mounted (this is a uClibc option), | |
71 make sure that it is. | |
72 | |
73 Make sure that your libc headers match the library version you are using. | |
74 | |
75 If openpty() is being used (HAVE_OPENPTY defined in config.h) and it fails, | |
76 you can try compiling with --disable-openpty. You will probably then need | |
77 to create all the /dev/pty?? and /dev/tty?? devices, which can be | |
78 problematic for devfs. In general, openpty() is the best way to allocate | |
79 PTYs, so it's best to try and get it working. |