Discussion:
Smallest/fastest x86 6.0
Robert Krten
2006-05-16 16:29:25 UTC
Permalink
Can anyone give me a ballpark idea on what size the smallest
image would be, and how fast it could boot, for a 6.0 (or 6.1)
bare bones x86 kernel with a serial driver, filesystem (suitable
for a 32MB flash device; even a DOS filesystem is fine) and
enough guts to load a "hello world"-sized C program, on a 500
MHz PIII class of machine? I'm hoping for something along the
lines of 2-4MB and <10s ...

I know it's kind of a vague question, but I'm trying to
get a handle on just how "embeddable" FreeBSD is. PHK gave
a talk at BSDCan 2006 last weekend, and I believe the number
he guessed at was around 9MB but that was using nanoBSD; he
then went on to say that picoBSD would be the way to go, but
that perhaps there needed to be some more development on that
front...

Comments?

Thanks in advance,
-RK

--
Robert Krten, PARSE Software Devices
Realtime Systems Architecture, Consulting, Books and Training at www.parse.com
Looking for Digital Equipment Corp. PDP-1 through PDP-15 minicomputers!
Larry Baird
2006-05-16 17:36:10 UTC
Permalink
Post by Robert Krten
Can anyone give me a ballpark idea on what size the smallest
image would be, and how fast it could boot, for a 6.0 (or 6.1)
bare bones x86 kernel with a serial driver, filesystem (suitable
for a 32MB flash device; even a DOS filesystem is fine) and
enough guts to load a "hello world"-sized C program, on a 500
MHz PIII class of machine? I'm hoping for something along the
lines of 2-4MB and <10s ...
I know it's kind of a vague question, but I'm trying to
get a handle on just how "embeddable" FreeBSD is. PHK gave
a talk at BSDCan 2006 last weekend, and I believe the number
he guessed at was around 9MB but that was using nanoBSD; he
then went on to say that picoBSD would be the way to go, but
that perhaps there needed to be some more development on that
front...
Comments?
I have created very small embedded FreeBSD using as small as 1.6MB.
For this I replaced init with my own init and basically kernel, new
init and a few services. I agree with PKH that picoBSD is a good
place to start. As far as time to boot, the limiting factor is often
the BIOS. Just checked on an embedded development box I have and saw
a boot time of ten seconds after BIOS finished. This box is really just
a standard PC with a standard BIOS. The BIOS takes about 15 seconds to
complete. On "real embedded" hardware I am seeing a BIOS time of about
4 seconds.

Hope this helps.

Larry
--
------------------------------------------------------------------------
Larry Baird | http://www.gta.com
Global Technology Associates, Inc. | Orlando, FL
Email: ***@gta.com | TEL 407-380-0220, FAX 407-380-6080
Warner Losh
2006-05-23 00:01:39 UTC
Permalink
Post by Robert Krten
Can anyone give me a ballpark idea on what size the smallest
image would be, and how fast it could boot, for a 6.0 (or 6.1)
bare bones x86 kernel with a serial driver, filesystem (suitable
for a 32MB flash device; even a DOS filesystem is fine) and
enough guts to load a "hello world"-sized C program, on a 500
MHz PIII class of machine? I'm hoping for something along the
lines of 2-4MB and <10s ...
I've scaled FreeBSD booting to a multi-user prompt down to about a 8MB
system. FreeBSD booting a custom application should be doable in the
2MB range. FreeBSD on a soekris can boot in < 10s to login prompt
using the standard rc files, with the 'unused' ones removed. It took
about 3s to get to the start of rc on the soekris box.

Warner
Simon L. Nielsen
2006-05-23 10:49:05 UTC
Permalink
On 2006.05.22 18:01:39 -0600, Warner Losh wrote:

[...]
Post by Warner Losh
2MB range. FreeBSD on a soekris can boot in < 10s to login prompt
using the standard rc files, with the 'unused' ones removed. It took
about 3s to get to the start of rc on the soekris box.
How did you determine which rc scripts were required and which
weren't? Entirely manually or did you some way to semi automate this?
--
Simon L. Nielsen
Marcin Jessa
2006-05-23 11:25:10 UTC
Permalink
On Tue, 23 May 2006 12:49:05 +0200
Post by Simon L. Nielsen
[...]
Post by Warner Losh
2MB range. FreeBSD on a soekris can boot in < 10s to login prompt
using the standard rc files, with the 'unused' ones removed. It
took about 3s to get to the start of rc on the soekris box.
How did you determine which rc scripts were required and which
weren't? Entirely manually or did you some way to semi automate this?
The required startup script is /etc/rc , which is what the
standard /sbin/init reads. After that the rest is pretty much up to you.


Marcin.
Warner Losh
2006-05-23 12:35:54 UTC
Permalink
Post by Simon L. Nielsen
[...]
Post by Warner Losh
2MB range. FreeBSD on a soekris can boot in < 10s to login prompt
using the standard rc files, with the 'unused' ones removed. It took
about 3s to get to the start of rc on the soekris box.
How did you determine which rc scripts were required and which
weren't? Entirely manually or did you some way to semi automate this?
Mostly by hand.

Warner

Loading...