Date: Mon, 24 Jun 2013 16:34:49 -0700 From: Artem Belevich <art@freebsd.org> To: Andy Farkas <andyf@andyit.com.au> Cc: jdc@koitsu.org, freebsd-stable <freebsd-stable@freebsd.org> Subject: Re: FreeBSD history Message-ID: <CAFqOu6iX2LtEGA20FCrv%2BbWsqS%2BsNhijqLXdURpXzsifQDWPcA@mail.gmail.com> In-Reply-To: <51BDEF40.4060001@andyit.com.au> References: <51BDEF40.4060001@andyit.com.au>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, Jun 16, 2013 at 10:00 AM, Andy Farkas <andyf@andyit.com.au> wrote: > On 16/06/13 20:30, Jeremy Chadwick wrote: > > * Output from: strings /boot/kernel/kernel | egrep ^option Thanks. > > I stumbled across this one about a week ago: > > strings /boot/kernel/kernel | head -1 > > and was wondering about the history of where it came from / what it means. > > I can see it was added to Makefile.i386 in September 1998 but the commit > comment mentions the defunct alpha port and searching SVN for things in the > Attic is a PITA. > The key in the log message is that the kernel became a dynamic executable. In order to launch typical dynamic executable kernel would actually launch dynamic linker specified in the INTERP program header in the ELF file. By default it's /libexec/ld-elf.so.1. Dynamic linker in turn would load the app and the shared libraries it requires. Kernel is, obviously, not a typical executable. My guess is that the idea behind changing dynamic linker to /red/herring was to make it obvious that the file is not a typical app and that despite being an ELF executable, it should not be executed as a regular program. It's just a guess, though. --Artem
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAFqOu6iX2LtEGA20FCrv%2BbWsqS%2BsNhijqLXdURpXzsifQDWPcA>