Small is beautiful...

Here are my random thoughts on possibly interesting projects involving non-standard FreeBSD setups.


MiniBSD or what...

Using vn(4) device is tempting. What I'd like to see is to prepare special distribution set, containing basic system binaries, plus not-so-large XWindow (SVGA) with nice WM, plus a WWW browser (Mozilla), perhaps coupled with Java VM. All of this would be preconfigured and tuned to work as expected right out of the box.

But the most important characteristic of this would be that it be installed on an existing DOS partition. Why? Because many people want just to try out this "mysterious, freesbie system..", and for them it's too much to have to rearrange existing partitions - they just give up.

So, the installation program would create just one big file (10MB?) on the DOS partition, let's say in C:\FREEBSD directory. This file would contain normal FFS filesystem, which would be mounted on a vnode driver. There would be C:\FREEBSD\KERNEL file and fbsdboot.exe started from batch..

The kernel would contain a small MFS filesystem with startup script and with mount/vnconfig. As an alternative (when DEVFS will mature somewhat), it can directly mount C:\FREEBSD as rootfs and use standalone mount/vnconfig/sh binaries there to mount the rest of filesystem on vnode - this would save some memory...

The underlying principle of this idea is to let people new to Unix and FreeBSD test its benefits without too much hassle - just get this *.zip, put it in C:\FREEBSD, issue "startbsd.bat" and off you go with nice XWin desktop and WWW browser...


FreeBSD on a flash RAM.

People often ask me if it's possible to put something like PicoBSD on a flash RAM (or solid-state disk). Yes, it's possible, but it depends on the type of the flash.

There are quite a few types of these devices:

Anyway, with capacities ranging (usually) from 1-32MB these devices allow to have even an X server on them (given the number of programs that fit on single 1.44MB floppy). I'd be very eager to hear from someone who tried to do something like this..


GUI frontend.

Some time ago I found one on the net (it's called the W System). Contrary to my previous impressions, it's not quite dead, and it's author and main developer recently released next version. I plan to release a version of PicoBSD with it as a frontend (you can get a preview version here, if you're not afraid of alpha quality software :-)). The W system needs some porting work to be done in order to get it working in full-color on FreeBSD - if you happen to know something about graphics programming (VGA registers and that kind), please contact me.

The big advantage of 'W' is that it's really small - wserver (which is something like Xserver coupled with simple WM) has 80kB, and client programs are comparable in size.

I played a little with it and ported it to FreeBSD-current to use libvgl, but there are quite a few problems with it: the most important being that it would require more effort to port more complicated graphics drivers - the one I did port is coded in such way, which requires access to linear video memory.. This leaves me with 640x480x2 (black and white) as for now, and it looks not so good...

OTOH, I could use only graphic primitives from libvgl (which would hide the memory organization), if they were present... ;-(( (I mean such primitives as filled/patterned boxes and ellipses, drawing modes, Bezier curves, polylines etc..). For now, there is too big a difference between what libvgl offers and what W expects from decent graphics library.

Yet another advantage of W is that there exists a widget toolkit for it, which supports all of commonly used widgets. There is even a HTML widget, but it's very buggy...

So, if someone knows of something similar in capabilities to W, but still actively developed and supported, I'd be delighted to hear from him!


I'll be adding other topics when time permits...


Any comments? abial@nask.pl