These notes are quite dated. Keep in mind that many things have changed since they were created. In particular, Kea does not require python3 or SQLite. It can also use either OpenSSL or Botan, so Botan is no longer a strict dependency.

I installed BIND 10 on my Raspberry Pi running Raspbian, a Debian-based OS optimized for the hardware. These system notes describe the whole process.

1. Install necessary dependencies.

All of the required dependencies are available as packages, so their installation is easy:

$ sudo apt-get install g++ python3 python3-dev libbotan1.8-dev libbz2-dev libgmp3-dev bzip2 make libboost-dev pkg-config libsqlite3-dev sqlite3 liblog4cplus-dev
  • On debian wheezy stable you need the libbotan1.10-dev package.

Since we're doing a git install, we need git and a few autotools:

$ sudo apt-get install git automake libtool

I also installed ccache, because compiling is so slow. This doesn't speed up the initial build, but can make things a lot faster when installing subsequent versions. Note this takes up space - about 550 Mbyte after a complete build on my system, so make sure you have enough space on your SD card if you want to do this. It is optional.

$ sudo apt-get ccache

2. Clone BIND 10 source and prepare the configure scripts.

We use the public repository:

$ git clone git://
$ cd bind10
$ autoreconf -i

3. Build BIND 10.

The configure step takes a while. Here it is if you want to use ccache:

$ CC="ccache gcc" CXX="ccache g++" ./configure --prefix=/opt/bind10

If you don't want ccache, just leave off the CC= and CXX= variables, like this:

$ ./configure --prefix=/opt/bind10

Next step is to compile. This took about 8.5 hours on my Raspberry Pi. I used "-j2" because I noticed that if I had a single job that it would spend between 0 and 20 percent of the time waiting for I/O. That dropped to basically 0 with "-j2", and with the 512 MB Raspberry Pi it did not cause swapping.

$ nice make -j2
[ ...9 hours later... ]
$ sudo make install

4. Run BIND10!

Congratulations, you are now ready to run BIND10!

Run BIND10 boss in one console:

$ sudo /opt/bind10/sbin/bind10

And start configuring it from the other console:

$ /opt/bind10/bin/bindctl
Last modified 5 years ago Last modified on Dec 3, 2014, 5:58:57 PM