aboutsummaryrefslogtreecommitdiff
path: root/release/picobsd/doc/src/TODO.html
blob: 514dd026b8425d6eaaeaf1b2dc5535f29cee6a56 (plain) (blame)
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
<html>
<! $Id: TODO.html,v 1.3.2.1 1999/05/07 10:02:45 abial Exp $ >
<body>
<h1><center>		Small FreeBSD ToDo List.
</center></h1>

<p>This list represents various tasks which are being collected from
discussions on freebsd-small, and which represent the general
direction and needs of using FreeBSD for small installations.</p>

<p>The tasks are arranged by how important they are to the overall
idea and goals of the project. If you are interested in doing some
part of the work, please contact the coordinator of PicoBSD project
(<A HREF="mailto:abial@freebsd.org">Andrzej Bialecki</a>).</p>

<hr>

<h2>Short term tasks:</h2>

<ul>
<li>
Eliminate need for patching FreeBSD source tree - either by
keeping our own version of Makefiles, or by adding (many) knobs to
the standard ones. (NOTE: this will be resolved in v. 0.45).
</li>
<li>
Provide options for building separate kernel and FS images of
various sizes.
</li>
<li>
Add some "wizards" to help people new to Unix configure "dialup"
and "net" for most common tasks.
</li>
<li>
Replace most of currently used scripts with Makefiles.
(NOTE: this will be resolved in v. 0.45).
</li>
<li>
Add simple authentication module to oinit.
</li>
<li>
Fix kzip to be able to produce kzip'ped ELF kernels.
(NOTE: currently we work around it by using kzipped /boot/loader).
</li>
<li>
Write better documentation. This is very important - the most
common configurations should be described in detail, step by step.
</li>
<li>
Collect our experiences with using FreeBSD with SBCs, flash disks
etc, and write a short practical guide to embedding FreeBSD.
</li>
</ul>
<hr>

<h2>Medium term tasks:</h2>

<ul>
<li>
Change currently used crunched binaries to something more flexible
- as it is now, even small change in set of programs requires
rebuilding of the whole image.
</li>
<li>
Change the building process so that it allows to easily choose
(with finer granularity) needed components of the target system.
</li>
<li>
Make use of recently added KLD to allow for easy adding and
removing drivers when running stripped kernels.
</li>
<li>
Investigate pros and cons of using the new boot/loader together
with ELF kernels.
(NOTE for v.0.43: it was simply mandatory to start to use it :-)
</li>
<li>
Provide options for building systems which operate from
(basically) read-only media, such as CD-ROM or flash disk. Such
system doesn't need to keep all root FS in memory, but only small
fraction of it for /tmp and /var.
</li>
<li>
Integrate DHCP into "dialup" version.
</li>
<li>
Rework oinit to be more modular, and write additional modules
(remote access, SNMP (?), authentication, shell(), configuration
editor).
</li>
<li>
Provide a remote access (telnetd/login/shell) module for the
"router" version. Make the shell() module more predictable and
compatible with common sense :-)
</li>
<li>
At last prepare usable version of ISP floppy, and test it (some
basic tests with server PPP). This involves among others a version
of PPP which supports Radius.
</li>
</ul>

<hr>

<h2>Long term tasks:</h2>

<ul>
<li>
Either port ROMfs from Linux, or write our own replacement for it.
</li>
<li>
Describe the configuration tasks and parameters of PicoBSD systems
in terms of hierarchy of categories - this is needed to start
working on the next two points.
</li>
<li>
Design a flexible and efficient scheme (not necessarily compatible
with currently used set of shell scripts) for storing and editing
system configuration in some form of hierarchical DB.
</li>
<li>
Design a user interface for configuration of system parameters
and services, meeting the following requirements: hierachical,
logical, helpful (hinting), providing ability to automate certain
tasks.
</li>
<li>
Reduce memory footprint.
</li>
<li>
Add other language versions.
</li>
<li>
Throw some more effort in porting the newer version of W (graphical
UI), so that it uses VESA color modes. IMHO it's worth it.
</li>
</ul>

<hr>

<h2>Other half-baked ideas...</h2>

<p>(fill this in :-)</p>

<hr>
Last modified:
@DATE@


<p><i>Send your comments, ideas, and most importantly the code itself, to
<A HREF="mailto:abial@freebsd.org">abial@freebsd.org</a>.</i></p>

</body>
</html>