From: Rob Landley <rob@landley.net>
To: celinux-dev@tree.celinuxforum.org
Cc: Matt Hsu <matt@0xlab.org>,
linux-embedded@vger.kernel.org, Andy Green <andy@warmcat.com>
Subject: Re: [Celinux-dev] CELF Project Proposal- Refactoring Qi, lightweight bootloader
Date: Sun, 20 Dec 2009 20:45:36 -0600 [thread overview]
Message-ID: <200912202045.37159.rob@landley.net> (raw)
In-Reply-To: <4B29EC68.1040109@0xlab.org>
On Thursday 17 December 2009 02:31:36 Matt Hsu wrote:
> Summary: Refactoring Qi, lightweight bootloader.
>
> Proposer: Matt Hsu
>
>
> Description:
>
> Qi (named by Alan Cox on Openmoko kernel list) is a minimal bootloader that
> "breathes life" into Linux. Its goal is to stay close to the minimum
> needed
Which bits does it do?
Every piece of software needs something to initialize the DRAM controller.
After that, they could presumably just jump to a known location in flash that
the kernel lives at, and the kernel can decompress itself and so on. Doing
just that much can probably be done in 4k pretty easily. (I gloss over the
kernel command line and root filesystem location, which can be hardwired into
the image if you really don't care about providing the developer with a UI.)
However, if that's your minimum then you can't use the bootloader to re-flash
the device, which is kind of handy. (It gives you an un-bricking fallback
short of pulling out a jtag.) But doing that requires things like a network
driver, TCP/IP stack, tftp implementation, serial driver, command line
interpreter, and so on. And of course code to erase and write flash blocks for
your flash chip du jour, plus knowledge of the flash layout. (In theory, said
knowledge comes from parsing a device tree.)
I still live in hope that somebody will split the first part (coreboot) out
from the second part (grub) in embedded bootloaders. It's sad that the PC has
a tradition of orthogonality here but the embedded world treats it as a single
opaque lump.
> http://wiki.openmoko.org/wiki/Qi
Looking at the screen shot there, you've got code to parse ext2 filesystems.
What is your definition of "minimal"?
Rationale for not providing a boot menu is you don't want to mess with video
init. I don't think I've actually seen an embedded bootloader that messes
with video, they do serial console instead, and you have a screen shot of
serial console messages so apparently the serial driver part is there...
Confused,
Rob
--
Latency is more important than throughput. It's that simple. - Linus Torvalds
next prev parent reply other threads:[~2009-12-21 2:45 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-12-17 8:31 CELF Project Proposal- Refactoring Qi, lightweight bootloader Matt Hsu
2009-12-17 9:21 ` Andy Green
2009-12-21 19:30 ` [Celinux-dev] " Wolfgang Denk
2009-12-21 19:32 ` Mike Frysinger
2009-12-21 20:17 ` Andy Green
2009-12-21 21:38 ` Wolfgang Denk
2009-12-21 22:38 ` Andy Green
2009-12-21 23:17 ` Wookey
2009-12-21 23:19 ` Robert Schwebel
2009-12-22 8:22 ` Andy Green
2009-12-22 11:12 ` Robert Schwebel
2009-12-22 22:23 ` Andy Green
2009-12-22 23:28 ` Robert Schwebel
2009-12-23 8:38 ` Andy Green
2009-12-23 8:56 ` Robert Schwebel
2009-12-23 9:29 ` Andy Green
2009-12-23 9:43 ` Robert Schwebel
2009-12-27 7:27 ` Rob Landley
2009-12-27 10:09 ` Andy Green
2009-12-28 0:21 ` Rob Landley
2009-12-28 11:33 ` Andy Green
2009-12-27 7:17 ` Rob Landley
2009-12-27 9:54 ` Andy Green
2009-12-27 23:15 ` Rob Landley
2009-12-28 10:27 ` Andy Green
2009-12-28 19:57 ` Peter Korsgaard
2009-12-28 20:20 ` Andy Green
2009-12-29 4:25 ` Rob Landley
2009-12-29 11:11 ` Andy Green
2009-12-17 23:13 ` Tim Bird
2009-12-21 2:45 ` Rob Landley [this message]
2009-12-21 5:51 ` [Celinux-dev] " Matt Hsu
2009-12-21 8:00 ` Rob Landley
2009-12-21 9:54 ` Andy Green
2009-12-21 20:49 ` Wookey
2009-12-23 2:28 ` Jamie Lokier
2009-12-23 8:48 ` Andy Green
2009-12-29 13:13 ` Jamie Lokier
2009-12-29 13:36 ` Andy Green
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=200912202045.37159.rob@landley.net \
--to=rob@landley.net \
--cc=andy@warmcat.com \
--cc=celinux-dev@tree.celinuxforum.org \
--cc=linux-embedded@vger.kernel.org \
--cc=matt@0xlab.org \
/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;
as well as URLs for NNTP newsgroup(s).