public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: Rafal Jaworowski <raj@semihalf.com>
To: u-boot@lists.denx.de
Subject: [U-Boot-Users] Pull request: u-boot-freebsd
Date: Wed, 19 Dec 2007 00:00:09 +0100	[thread overview]
Message-ID: <476850F9.5070005@semihalf.com> (raw)
In-Reply-To: <20071217191948.7ac4fa6c@dhcp-252-066.norway.atmel.com>

Haavard Skinnemoen wrote:
>> I fully realize that for developers who's focus is U-Boot, anything
>> that runs on top of U-Boot and that wants something from U-Boot is
>> a burden at times, but it is important to realize that U-Boot is
>> most of the time nothing more than the first step towards a useful
>> machine and that there can be more than 2 steps in getting on OS
>> to run. The ability to make use of the (hardware) knowledge that
>> U-Boot has, and at the same time its ability to abstract it for
>> the next steps, is in my opinion just as important as having its
>> own prompt.
> 
> I agree, but I thought exporting u-boot's hardware knowledge was the
> whole point of the Device Tree (libfdt) stuff?
> 

Well, not all U-Boot platforms use the device tree abstraction: it's only
PowerPC+Linux combination. MIPS, ARM and other archs don't use it, operating
systems other than Linux, to name only *BSD and VxWorks, similar.

> It's not that I'm really objecting to the new interface -- it does seem
> to be more well-designed than the old jumptable stuff -- but it's just
> that I don't understand why you need this functionality in the first
> place, just to be able to boot an OS. When you have a kernel image as
> well as possibly other related images loaded into memory, along with a
> device tree providing detailed information about the hardware, why do
> you need a syscall interface on top of everything?
> 

Let me try to summarize the FreeBSD booting approach:

1. FreeBSD has it's own last stage loader(8)

- it prepares the booting environment for kernel boostrap (the so called
metadata, which mainly inlude kernel env vars, boot flags like single user,
verbose mode and so on)

- it allows to load and unload dynamic kernel modules at this early stage
(even the kernel ELF is treated equally as a big dynamic module itself), set
certain tunables before bootup

- it lets you have menus, startup scripts and similar facilities

- it knows filesystems (UFS, ISO9660 etc.) to retrieve kernel and its modules from

- it's mainly architecture independent and relies on the underlying firmware
to do elementary operations on the console, networking (send and receive
frame), disk (read, write block) etc. In i386 world this is BIOS, on ia64 EFI,
on embedded PowerPC (us :) it is U-Boot and so on

- it provides uniform UI, behaviour and those above features accross all
architectures which FreeBSD supports


2. In order to provide full featured FreeBSD port we brought the loader(8) for
the embedded PowerPC: it runs as a standalone app on U-Boot, and in turn kicks
off the kernel, giving it all native FreeBSD environment described in p.1

Hope that helped explain the scenario a bit.

Rafal

  parent reply	other threads:[~2007-12-18 23:00 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-12-17 12:06 [U-Boot-Users] Pull request: u-boot-freebsd Rafal Jaworowski
2007-12-17 12:39 ` Haavard Skinnemoen
2007-12-17 17:17   ` Rafal Jaworowski
2007-12-17 18:03     ` Haavard Skinnemoen
2007-12-18 22:40       ` Rafal Jaworowski
2007-12-18 23:08         ` Wolfgang Denk
2007-12-19  9:32         ` Haavard Skinnemoen
2007-12-17 18:06     ` Marcel Moolenaar
2007-12-17 18:19       ` Haavard Skinnemoen
2007-12-17 19:10         ` Marcel Moolenaar
2007-12-19  9:08           ` Haavard Skinnemoen
2007-12-18 23:00         ` Rafal Jaworowski [this message]
2007-12-19  9:15           ` Haavard Skinnemoen
2007-12-27  0:05 ` Wolfgang Denk
2007-12-27 11:56   ` Rafal Jaworowski
2007-12-27 16:27     ` Ben Warren
2007-12-27 17:19       ` Rafal Jaworowski
2007-12-27 17:06     ` Wolfgang Denk
2007-12-27 17:29       ` Rafal Jaworowski
2007-12-27 19:59         ` Ben Warren
2007-12-27 20:06         ` Wolfgang Denk
  -- strict thread matches above, loose matches on Subject: below --
2008-02-21 11:06 Rafal Jaworowski
2008-02-22 12:01 ` Wolfgang Denk
2008-01-29 16:28 Rafal Jaworowski
2008-02-11 23:51 ` Wolfgang Denk
2008-01-09 19:04 Rafal Jaworowski
2008-01-09 22:08 ` Wolfgang Denk
2007-10-14 10:51 Rafal Jaworowski
2007-10-14 12:50 ` Wolfgang Denk

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=476850F9.5070005@semihalf.com \
    --to=raj@semihalf.com \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox