summaryrefslogtreecommitdiffstats
path: root/release/picobsd/doc/src/intro.html
blob: f1156976ef8aabc53537ab5d4076faecaaa0b60d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
<HTML>
<! $FreeBSD$ >
<HEAD>
   <TITLE>PicoBSD</TITLE>
</HEAD>
<BODY>

<CENTER><h1><B>PicoBSD</B></h1>
<HR shade align="center" size="8" width="25%"></CENTER>


<p><b>Contents:</b></p>
<ul>
<li>
<A HREF="#what">What is it</a>, and
<A HREF="#hardware">what hardware is supported?</a>
</li>
<li>
<A HREF="#where"><b>Where can I get it?</b></a>
</li>
<li>
<A HREF="#how">How can I use it?</a>
</li>
<li>
<A HREF="#create">Create your own, custom version of PicoBSD!</a>
<p>Get the full PicoBSD Development Kit as well as full CVS repository of
the project.</p>
</li>
<li>
<A HREF="#info">Where can I get more info?</a>
</li>
<li>
<A HREF="bugs.html">Release history and bugs parade...</a>
<li>
<A HREF="#future">Plans for the future.</a>
</li>
<li>
<A HREF="#credits">Credits</a>
</li>
<li>
<A HREF="#license">Licensing issues</a>
</li>
<li>
<A HREF="faq.html">FAQ</a>
</li>
</ul>

<HR shade align="center">
<HR shade align="center">

<A NAME="what"><h3>What is it?</h3>
<p>If you ever dreamed about having really small, tiny, minimal system that
would offer you benefits of Unix, while still fitting in reasonable space -
here it is!</p>

<p>PicoBSD is a one floppy version of 
<A HREF="http://www.freebsd.org/">FreeBSD</a>, which in its
different variations allows you to have secure dialup access, small diskless
router or even a dial-in server. And all this on only one standard 1.44MB
floppy - no need to sacrifice over 100MB of your precious HDD space.</p>

<p>PicoBSD is... well, pico-sized :-) , and the minimal hardware that
is required to run it is 386SX CPU with 8MB of RAM (no HDD!).
</p>

<A NAME="hardware">
<p>Here you can find detailed <A HREF="hardware.html">list of supported
hardware and features</a>.

<p>Current version of PicoBSD is @VER@, and this means that I consider it
still immature, while on the other hand being somewhat tested and improved
over previous versions. Does it tell you something? Well, at least you can
try it - I cannot guarantee that it doesn't burn your house or blow up your
machine, though the former is unlikely... :-)</p>

<HR shade align="center">
<A NAME="where"><h3>Where can I get it?</h3>

<p>There are two language editions of PicoBSD - English and Polish one. You'll
be probably more interested in the former :-) The only difference is in
the set of fonts included, C locale, and the language of messages.</p>
<p>You can download them from www.freebsd.org or one of its mirrors:</p>
<ul>
<li>Dialup version: <A HREF="http://www.freebsd.org/~picobsd/picobsd/pb_en-D.bin">English</a>
(<A HREF="http://www.freebsd.org/~picobsd/picobsd/doc_dial/README.en">README</a>) or 
<A HREF="http://www.freebsd.org/~picobsd/picobsd/pb_pl-D.bin">Polish</a>
(<A HREF="http://www.freebsd.org/~picobsd/picobsd/doc_dial/README.pl">README</a>)
</li>
<li>Networking (formerly known as 'router-like') version: <A HREF="http://www.freebsd.org/~picobsd/picobsd/pb_en-N.bin">English</a>
(<A HREF="http://www.freebsd.org/~picobsd/picobsd/doc_net/README.en">README</a>)
 or <A HREF="http://www.freebsd.org/~picobsd/picobsd/pb_pl-N.bin">Polish</a>
(<A HREF="http://www.freebsd.org/~picobsd/picobsd/doc_net/README.pl">README</a>)
</li>
<li>Router version: <A HREF="http://www.freebsd.org/~picobsd/picobsd/pb_en-R.bin">English</a>
(<A HREF="http://www.freebsd.org/~picobsd/picobsd/doc_router/README.en">README</a>)
 or <A HREF="http://www.freebsd.org/~picobsd/picobsd/pb_pl-R.bin">Polish</a>
(<A HREF="http://www.freebsd.org/~picobsd/picobsd/doc_router/README.pl">README</a>)
</li>
<li>Dial-in server version: waiting for 
<A HREF="http://www.freebsd.org/~picobsd/beta.html">beta testers</a> ... :-)
</ul>

<p><i>(See the <A HREF="hardware.html">feature list</a> for more
details)</i></p>

<p>The above floppies were built from FreeBSD sources.
You can find floppies built from 2.2.5 sources 
<A HREF="http://www.freebsd.org/~picobsd/picobsd225/">here</a> or 
<A HREF="http://info.net-gw.com/picoBSD/">here</a>.</p>

<HR shade align="center">
<A NAME="how"><h3>How can I use it?</h3>
<p>Previous versions were packed with a PKZIP(tm) compatible program - now they
are simply the raw binary floppy images, so you just need to grab the
appropriate version of the file.</p>

<p>I assume you will use 1.44MB floppy to boot the system - other sizes
(bigger) are not tested.</p>

<p>The file 'pb_xx-X.bin' must be written onto a blank floppy. It does NOT
mean that it can be copied using e.g. DOS 'copy' command. You must use a 
program like 
<A HREF="ftp://ftp.freebsd.org/pub/FreeBSD/tools/rawrite.exe">rawrite.exe</a>
or
<A HREF="ftp://ftp.freebsd.org/pub/FreeBSD/tools/fdimage.exe">fdimage.exe</a>
 to write this file directly on the raw floppy.</p>

<p>Under DOS you would do something like this:</p>
<pre>
	C:\> fdimage.exe pb_xx-X.bin a:
</pre>

<p>while under Unix you would use something like:</p>
<pre>
	dd if=pb_xx-X.bin of=/dev/rfd0
</pre>

<p>Then boot off this floppy and enjoy!</p>

<p>If you feel lost, try the 'help' command (it's available only on "dialup"
floppies)</p>

<HR shade align="center">
<A NAME="create">
<h3>Create your own, custom version of PicoBSD!</h3>

<p>I made available also the set of tools
(a.k.a the PicoBSD Development Kit) I used to create the floppies (see also the 
 <A HREF="how2build.html">detailed instructions</a>)</p>

<p>You can also access the full CVS repository of PicoBSD - beginning with
version 0.4 it's a part of official FreeBSD CVS and lives in
<code>src/release/picobsd</code>. I also create the snapshots of this source
tree - keep in mind that they are not so up-to-date as the tree
in FreeBSD CVS. You can get the snapshot I made on 
Sun Nov  1 11:48:32 PST 1998
<A HREF="http://www.freebsd.org/~picobsd/picobsd/picobsd.tgz">here</a>.</p>

<p> Now, if you don't like the setup of PicoBSD, or you miss
some program, or (better yet) you want to improve PicoBSD - you can grab the
copy of exactly the same tools I used and build your own, customized
 version! </p>

<p>Think of it: if your're an ISP, you can build the dialup version for
 your customers, including some scripts to automatically connect them to 
your site. You can also create a demo disk for your friend (or your boss! :-)).
You can also build a firewall/router for your office, etc, etc...
 possibilities are really endless and limited only by your imagination.</p>

<p>You will need at least 10MB of free disk space for building, and of course
the full system sources installed. I also assume that the sources are
quite -current. There is also a back-ported version of the scripts prepared by
<A HREF="mailto:dinesh@alphaque.com">Dinesh Nair</a> which builds ok on
2.2.6-R systems.</p>

<p>Version 0.31 was packed with pax(1) - newer versions are packed again
with tar and gzip to avoid confusion... :-)</p>

<p>I'm very interested in hearing from you about your experiences - if you
come up with a setup you think is interesting, please let me know!</p>

<HR shade align="center">
<A NAME="info"><h3>Where can I get more info?</h3>

<p>Almost all of the programs included on the floppies are exactly the
same versions as in normal FreeBSD installation, so that the normal
manual pages apply. However, I didn't include the manpages themselves - 
they would take over 200kB!</p>

<p> For the total newbies, which would use (I assume)
the 'dialup' version, there is a short README on the floppy which gives
step by step instructions on how to get a dialup connection. There is also
a script called 'dialup' which attempts to configure PPP to allow for automatic
log in to your provider, and for background operation.
There is also a small help system ('help' command)</p>

<p> There are some system utilities which are unique to PicoBSD, and at this
 moment they are documented in detail only in source and READMEs :-(.</p>


<p>As for the new releases which will (hopefully) be prepared in the future:
just keep an eye on this page. I'll also send announcements to FreeBSD mailing
lists.</p>

<HR shade align="center">
<A NAME="future"><h3>Plans for the future</h3>

<p>Well, I hope that thanks to your comments I'll be able to continuously
improve the setup and contents of PicoBSD. I also have specific dreams (if
dreams can be specific..) - here they are, as an incentive to your
imagination and coding skills:</p>
<ul>
<li>
To write a command line tool patterned after Cisco IOS, which could configure
various aspects of router-like version of PicoBSD.
<p>Well, currently you can read very preliminary draft of proposed
architecture, called the <A HREF="UCI.html">Unified Configuration Interface.</a></p>
</li>
<li>
To put an XWindow-like GUI on the 'dialup' floppy. (Update: you can look at
<A HREF="http://www.freebsd.org/~picobsd/preview/preview2.tgz">preview
version</a> and send me your comments. <b>I need some help in porting newer
version of W</b>).
</li>
<li>
To gain some experience with solid state disks, and prepare standard images
for e.g. 4MB versions of SSD, with Cisco 25xx-like contents... I also hope
 to achieve this goal in the nearest
future, thanks to involvement of some PicoBSD enthusiast :-)</p>
(Update: I'm experimenting with an M-System's 16MB flash right now, and
there is also ongoing development for a driver for their DiskOnChip)
</li>
<li>
To be able to boot from more primitive filesystem than FFS - DOS or Minix
would be just fine, as they don't waste so much space for their internals.
</li>
<li>
To have an alternative to current MFS - it wastes a lot of space just
because it mimicks the normal FFS on top of memory blocks...
</li>
<li>
To further minimize the memory footprint of router-like setup. I'd like it
to be able to run truely effortlessly on 4MB machines... This would
probably include rewriting oinit(8) to run multithreaded.
</li>
<li>
And many others... You can find a complete list
<A HREF="TODO.html">here</a>.
</li>
</ul>

<A NAME="credits"><h3>Credits</h3>

<p>The following people are either responsible for the very existence of this
project, or significantly eased my pains in gaining necessary knowledge:</p>
<ul>
<li>
the whole FreeBSD team for this magnificent OS, and their hard work of
continuous development,
</li>
<li>
Dinesh Nair, for co-development and preparing of the version which compiled
on 2.2.5-RELEASE,
</li>
<li>
Joe Greco, for his encouraging example of XKERNEL (some parts of the scripts
still bear his fingerprints :-) (you can get it
 <A HREF="../../../xkernel.tgz">here</a>).
</li>
<li>Goran Hasse of <A HREF="http://www.raditex.se">Raditex AB, Sweden</a>, for
sending me M-Systems' and SanDisk flash disks to experiment with.
</li>
<li>
Mike Smith for various tips and encouragement.
</li>
<li>
freebsd-* mailing lists participants, which helped me with some other
pieces.
</li>
<li>
and many other people who keep encouraging me to continue this work. Thanks,
guys!
</li>
</ul>

<A NAME="license"><h3>Licensing issues</h3>

<p>PicoBSD is distributed under BSD copyright,
which allows you to use it in various ways, including commercial
applications. So grab it and enjoy! And if you feel that you want to help
with this project, either by donating some time to write code, or by
some other donation, just <A HREF="mailto:abial@freebsd.org">contact me</a>.</p>

<h5>Last modified: 
@DATE@
</h5>

<HR shade align="left" size="2" width="100%">
<CENTER><h5>Any comments? Send them to
<A HREF="mailto:abial@freebsd.org">the author</A> </h5></CENTER>

</BODY>
</HTML>
OpenPOWER on IntegriCloud