PicoBSD diskless embedded 'where to start'

Cybertime Hostmaster hostmaster at cybertime.net
Mon Feb 9 17:13:05 PST 2004


> Hi. Eric, I wanted to make sure that the impression wasn't
> left that picobsd was a "distribution" forked off of a
> snapshot of FreeBSD.  This seemed to be implied to me by
> the sentence:
>
>  > Like the link provided
>  > by Richard for Pico shows, m0n0 is built on a more modern kernel.

True, it is not forked off.  m0n0BSD is more forked off than Pico is
because in some of their implementations they have replaced some of the
code.

Specifically I saw this in the m0n0Wall version, which is designed to turn
a single board computer into a router.

These changes were not to the Kernel, but to userland.  But FreeBSD is
really the combination of both, so any change make it non-FreeBSD, or
modified-FreeBSD, or whatever.  And that is the only reason m0n0's two
versions can be called different from FreeBSD, rather than just saying it
is a custom compile of FreeBSD.

PicoBSD, as you clearly stated, falls into that other category.  It is
simply a custom compile of FreeBSD.

It has been a few months since I looked into all the m0n0 customizations,
so digging through their site and documentation will get a much better
explanation of what changes they make.

> true. The assumption that picobsd is a distribution seems
> a fairly common assumption when people first encounter
> it, so I responded to it.

Distribution has become quite an interesting term in POSIX circles since
the spread of LINUX.  Used to be that "Software Distribution" was the guy
you called when you needed more copies of a particular program.

Now it is a whole category of software collections, ie: the Red Hat
distribution.

FreeBSD itself has no distributions, which is one of the stronger points.
m0n0BSD, especially m0n0Wall, could easily be called, a software
distribution that is based on FreeBSD.

And yes, I agree that the present PicoBSD is not a distribution.  I do not
know if the original PicoBSD was a "distribution" like deviation, such as
m0n0BSD is, or if it was just a modified build to slim it down.  I
remember reading about it once, and the origin was not important enough
for me to remember.

I think it was when I was reading about dummynet that I read up a bit on
Pico for the first time.

> It's not right to think of PicoBSD as a project either,
> which some may infer from this:

Not according to the documentation for FreeBSD.

http://www.freebsd.org/internal/developer.html

That, at least, makes the term "project" somewhat more defined.  And the
other projects they list are all basically custom compiles of FreeBSD.

> Sorry I'm being picky on this, I do see what you mean I
> think but it may not be clear on a fast reading of the
> above that picobsd is not a project and that it can work
> with any FreeBSD kernel.

You harped a lot on the term project, but it is a project, as defined by
the people that write FreeBSD.

Yes, the end result of that project is a script.  Yes, the goal of that
script is a custom compile of FreeBSD.

So since the FreeBSD people use it, can we agree to use it and just let it
drop at that?

> As I posted earlier, I built a PicoBSD system the other
> night in minutes on a FreeBSD 4.9 stable system, a present
> kernel.

Nice.  Happy to hear it works.

The project page for PicoBSD was last updated in Jan 1999.

I have not looked at the PicoBSD script to see that last time it was also
updated.

So working or not, does the latest PicoBSD script take advantage of
changes in the kernel that have been made in the last 49 months?  I do not
know.

What I do know is that if it does, those changes are not even noted on the
PicoBSD project page.

In fact, that FAQ you linked is a) Not on the PicoBSD project page, and b)
Has a HECK of a lot better information on PicoBSD than the Pico BSD
project page.  It would be nice if they adopted it, linked to it, or
whatever.

It would be nice if the web page for PicoBSD was more active and current.
I hope that 5.x updates to the script, if they are made, get documented
properly there.

> If thinking in terms of "distributions", it's probably

Yes, "distribution" and "FreeBSD" are oil and water terminology wise.

> I agree with the thrust of both your posts; If someone
> wants to get rapidly into using a FreeBSD diskless system,
> one of the available "canned" systems or some of the
> systems using scripts that copy FreeBSD contents to CF
> or CD are probably the way to go. Using "rc.diskless" and
> a few of the other tools it is not at all that hard to roll
> your own in this case.  PicoBSD does have a learning
> curve, a number of sharp edges (everything crunched, no
> loadable modules), and documentation that ages rapidly.
> A full FreeBSD system booting diskless from compact flash
> is almost always more conventient, powerful, and easy to
> work with than picobsd.

Part of why I pointed to m0n0BSD is because it is both.

They have a pre-compiled version for an assortment of hardware.  They also
have a "hackers" section for how to do your own build from FreeBSD.

> want to run XFree86?). If you need to build a quick rescue
> floppy because you can't boot your hard disk, build a
> picobsd floppy on another system, etc..

Funny side note, wifiBSD, another custom compile from FreeBSD, recently
made a bootable CD version.  Then one of the maintainers had system
issues, and he used his bootable CD as a sort of rescue disk.

> Although I've looked at the m0n0BSD and miniBSD pages a
> few times, I don't know that much about them. Did m0n0BSD
> replace the rc scripts with an alternative?

They have made some changes, most in their sub version m0n0Wall.

> miniBSD looks
> like a good set of notes and manual procedures - good
> documentation - showing one way to copy and strip-down
> FreeBSD to compact flash.

Yes.  miniBSD seems to be a way to re-invent the wheel on ones own.  But
for many custom applications, you are required to do so.

Not because your version of the wheel is better, but because your
management wants your wheel to be YOURS and not someone else's.

So the miniBSD notes can easily be part of the glue between FreeBSD,
PicoBSD, and that third choice you mentioned, the big ???, custom builds
designed for between 8 and 32 MB of disk space.

--Eric



More information about the freebsd-small mailing list