From owner-freebsd-arch@FreeBSD.ORG Thu Apr 1 11:36:36 2010 Return-Path: Delivered-To: freebsd-arch@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id AD1A3106564A; Thu, 1 Apr 2010 11:36:36 +0000 (UTC) (envelope-from gary.jennejohn@freenet.de) Received: from mout0.freenet.de (mout0.freenet.de [IPv6:2001:748:100:40::2:2]) by mx1.freebsd.org (Postfix) with ESMTP id 427A28FC0A; Thu, 1 Apr 2010 11:36:36 +0000 (UTC) Received: from [195.4.92.25] (helo=15.mx.freenet.de) by mout0.freenet.de with esmtpa (ID gary.jennejohn@freenet.de) (port 25) (Exim 4.72 #3) id 1NxIhP-0001O0-2b; Thu, 01 Apr 2010 13:36:35 +0200 Received: from p57ae1282.dip0.t-ipconnect.de ([87.174.18.130]:44475 helo=ernst.jennejohn.org) by 15.mx.freenet.de with esmtpa (ID gary.jennejohn@freenet.de) (port 25) (Exim 4.72 #3) id 1NxIhO-00050d-R9; Thu, 01 Apr 2010 13:36:35 +0200 Date: Thu, 1 Apr 2010 13:36:33 +0200 From: Gary Jennejohn To: Daniel Rodrick Message-ID: <20100401133633.23c7b1fd@ernst.jennejohn.org> In-Reply-To: References: X-Mailer: Claws Mail 3.7.5 (GTK+ 2.18.7; amd64-portbld-freebsd9.0) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Cc: freebsd-hackers@freebsd.org, freebsd-drivers@freebsd.org, freebsd-arch@freebsd.org Subject: Re: Newbie question: kernel image a dynamically linked binary? X-BeenThere: freebsd-arch@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: gary.jennejohn@freenet.de List-Id: Discussion related to FreeBSD architecture List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 01 Apr 2010 11:36:36 -0000 On Thu, 1 Apr 2010 15:53:50 +0530 Daniel Rodrick wrote: > Hello List, > > I'm a newbie and coming from Linux background, and am trying to learn > FreeBSD now. The first thing I find a little confusing is that the > final FreeBSD kernel image is shown as a DYNAMICALLY LINKED binary: > > $ > $ pwd > /boot/kernel > $ > $ file kernel > kernel: ELF 32-bit LSB executable, Intel 80386, version 1 (FreeBSD), > dynamically linked (uses shared libs), not stripped > $ > > How can the kernel image use shared libraries? And which ones does it > use, if any? > > Also, I cannot find out the libraries the image uses using the > traditional ldd command: > > $ ldd kernel > kernel: > kernel: signal 6 > $ > > Can some please throw some light? > file is confused. FreeBSD uses a monolithic kernel and no shared libraries are involved. However, it is possible to dynamically load modules using kldload. See the appropriate man page. -- Gary Jennejohn