[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Building kFreeBSD


Jonathan Moore wrote:
> I'm new coming from FreeBSD how does one build the kFreeBSD kernel and
> install it.

A problem is that if you're not already running Debian GNU/kFreeBSD, you
likely don't have everything necessary to build or install it.  Such as:
Debian packaging tools, dpkg, some GNU utilities and scripts to automate
the GRUB2 configuration.

Typically with Debian, users run the installer and install our pre-built
binaries.  After that you can easily re-build any parts yourself from
source.  Our kernel is in the Debian source package "kfreebsd-10" and
the procedure to build it is the same as for any Debian package (see

$ apt-get source kfreebsd-10
$ sudo apt-get build-dep kfreebsd-10
$ cd kfreebsd-10-*/ && dpkg-buildpackage -g

And here is a log from a Debian build machine building that package:

But if you're coming from FreeBSD I understand your preference to build
it yourself from source.

You can actually run the Debian GNU/kFreeBSD userland in a chroot or
jail, with the original FreeBSD kernel.  It perhaps makes more sense to
start there.  But building all of that yourself is difficult without
starting from a minimal chroot with some pre-built binaries.  I could
make a tarball of this available, or perhaps a shellscript that builds
such a chroot from .deb files (we have something like that already
for Debian GNU/Linux called multistrap).

What would be ideal is if that all could be cross-built from regular
FreeBSD, or from Debian GNU/Linux, so that you don't need to trust any
binaries provided by me/us.  This is an area of ongoing research.

We also have the Reproducible Builds effort so that, multiple parties
shall soon be able to build the Debian packages from source and attest
that the binaries Debian provides are authentic and trustworthy.

> I installed the sources with synaptic but the makefile
> fails. Thanks for the help.

What OS were you trying to build it on?

Steven Chamberlain

Reply to: