From owner-freebsd-hackers Sun Apr 2 00:55:19 1995 Return-Path: hackers-owner Received: (from majordom@localhost) by freefall.cdrom.com (8.6.10/8.6.6) id AAA28304 for hackers-outgoing; Sun, 2 Apr 1995 00:55:19 -0800 Received: from vector.eikon.e-technik.tu-muenchen.de (vector.eikon.e-technik.tu-muenchen.de [129.187.142.36]) by freefall.cdrom.com (8.6.10/8.6.6) with ESMTP id AAA28053 for ; Sun, 2 Apr 1995 00:39:30 -0800 Received: from localhost (localhost [127.0.0.1]) by vector.eikon.e-technik.tu-muenchen.de (8.6.11/8.6.9) with SMTP id AAA02768; Sun, 2 Apr 1995 00:17:52 +0200 Message-Id: <199504012217.AAA02768@vector.eikon.e-technik.tu-muenchen.de> X-Authentication-Warning: vector.eikon.e-technik.tu-muenchen.de: Host localhost didn't use HELO protocol To: kiran@cerc.wvu.edu (Kiran Reddy) cc: hackers@FreeBSD.org Subject: Re: i can help In-reply-to: Your message of "Wed, 22 Mar 1995 23:46:36 +0100." <9503222246.AA17313@gilmer> Date: Sun, 02 Apr 1995 00:17:50 +0200 From: Julian Howard Stacey Sender: hackers-owner@FreeBSD.org Precedence: bulk > From: kiran@cerc.wvu.edu (Kiran Reddy) Ref. --- i am a grad student at West Virginia University and I think i can help you guyswith some of the work. Please let me know in what way can i be a help to you guys. -- I append my somewhat dated suggestions list ===== /usr/src/share/FAQ/PROJECTS by Julian Stacey IDEAS FOR PROJECTS FOR FreeBSD INDEX Section 0: Introduction Section 1: /usr/src/sys Kernel Projects Section 2: /usr/src Base Distribution Tools Section 3: /usr/ports Porting of other Public Domain Code Section 4: New Architectures & Kernels SECTION 0: INTRODUCTION This file notes some areas where FreeBSD offers scope for development projects. Proposals, queries, discussion etc, should be emailed to a list: or Corrections & updates are welcome, post them to a list, as context diffs. File may be somewhat old, feel free to plagiarise / butcher / implement / improve :-) SECTION 1: /usr/src/sys KERNEL PROJECTS Auto Compressing File System. { MSDOS supports behind-the-users-back file compression I suggest we do too: (yet another file system type, along with mfs, isofs etc) Suggester: Julian Stacey Comment available from: From: "Chris G. Demetriou" actually, i did this once, a 3-day-hacked, mostly-working proof of concept version, to get an idea of what would really be needed. (this was under 386bsd 0.0...) : One of the filesystem ideas that I've had for some time and never gotten to implement is a generalized loopback filesystem; this would support an external program (similar in concept to /sbin/mfs) which would get control on opens and closes and do various things. So, you could do any of the following things: # mount -t glfs /foo/bar/baz/quux /bar (direct loopback) # mount -t glfs -o prog=cacheshepherd,cache \ /net/wuarchive/archives /archives (interpose a local caching program between you and that dreadfully slow NFS connection to wuarchive) # mount -t glfs -o ro,prog=afsshepherd,cache /tmp /afs (/tmp is a dummy here) # mount -t glfs -o prog=trshepherd;[A-Z];[a-z],count=4 /bogus /mnt (some idiot created an all-uppercase filesystem that you now have to deal with) # mount -t glfs -o prog=ftpshepherd;/anonymous@freebsd.cdrom.com:\ ,cache /tmp /mnt (hey, let's implment Ange-FTP!) Steven Wallace : I am in on this one. I also like David Greenman's idea of a general purpose filesystem. .... controlled by an external program. Keyan Li 94 02 23: We(a group of students) eventually decided to touch the "automatic background compression", though still struggling with a true understanding of the system. } Linux File System { Add 1 or 2 file system types to FreeBSD, so that either or both Linux filesystem types can be mounted on FreeBSD. (@ Jan. 94 Linux did not support BSD fast filesystems, & FreeBSD did not support Linux file systems) From: gibbs@uclink.berkeley.edu (Justin Theodore Gibbs) Date: Sun, 23 Jan 1994 22:06:11 +0100 HPFS filesystem support: A guy in the Linux Camp has allready done quite a bit of work on this. All of the code I've seen is well documented with his information sources listed. All of his code has been posted to linux.development. } smarter config(8) { (maybe): It should be able to create the [cb]devsw[] tables, the line discipline and network interface tables, too. wollman@uvm-gen.emba.uvm.edu: Another thing on my TODO list. config doesn't need to know anything about it; this should al be done by the linker (which does). The work that I'll eventually end up doing will also make it much eaier to have loadable device drivers and line disciplines (basically, the *sw tables ALL go away and are replaced by something which is dynamically allocated). } devfs { "Jordan K. Hubbard" : going to a devfs even while the drivers are static would be a Good Thing. We could get our names correct, and in the short term it might even let us eventually deprecate MAKEDEV as all entries in /dev would always be correct. As a high level compact with the rest of the kernel, devfs could just export: = dev_reg_name(name, flags); (void)dev_delete_name(name, flags); Where "name" is "tty01" or "st0" or whatever. } Flush less dirty pages, but more often { (Poul-Henning Kamp): I have often wondered if a scheme could be devised to flush the dirty pages in a kind of "the 10% LRU every 3 sec" instead of "everything every 30 sec". John also has views on this. -- Mark Tinguely Wed, 9 Nov 1994 there is a USENIX conference paper on this idea for anyone interested in doing this and it would give a point of reference for questions since this the author(s?) actually implemented and tested for results (get more more bandwidth out of drive). -- terry@cs.weber.edu: ftp.sage.usenix.org (otherwise known as sage.xerox.com) has the proceedings papers for ftp download. } Floating Point Emulator Improve/Rewrite It. Jordan Hubbard : The FPE is very very weak and has been known to be weak since the beginning; hell, it's been one of of our top `wish list' items for the last year or so, and the only reason we haven't taken the Linux version is the fact that the damn thing's GPL'd! Some negotiation was done with the author in an attempt to get a more freely redistributable one, but it didn't pan out. SECTION 2: /usr/src BASE DISTRIBUTION TOOLS FIXIT { write a script to generate a fixit rescue floppy Original Enthusiast: Jordan, 3/94 } RCP { Add flag for rcp -h -dereference (like tar), to avoid sym links being converted to directories. Maybe add an exclude list as per gnu tar. Should rcp: (A) Continue to default to copy symlinks as files or directories, but with an additional flag to force copy of a symlink as a symlink. or (B) Default to copy a symlink as a symlink, with a -h &/or -dereference flag, to force copy of a symlink as a file or directory. For (A) : Boyd Faulkner phk@login.dkuug.dk (Poul-Henning Kamp) rgrimes@agora.rain.com (Rodney Grimes) ATS ( ats@first.gmd.de or ats@cs.tu-berlin.de ) For (B) : Julian Stacey } Units Conversion Program { Julian Stacey suggests U..x style program: pound + solid (16) ounces : grams, pints & fluid (20) ounces : litres, psi : bar, fahrenheit : celsius, british gallons : american gallons : litres etc (PS maybe americans use 16 fl oz=1 pint ? might explain why USA gallon < Imperial (British) Gallon) } Name of currently booted kernel boot blocks need to pass this to the kernel Rod Grimes wants to do this Sup Nate added a `transfer compressed option` An `and leave compressed` option would be nice, for sup on a non FreeBSD system with restricted disc space, (thereafter writing src tree on tape to compile elsewhere). Check System (Q & A quality assurance stuff) Sanity check to run after making and installing entire src & ports, to see if essentials are still running. (Essentials for me are make & cc etc, (to rebuild), kermit (for mail ;-) & groff & lpr. Other people have other criteria. Suggester: SECTION 3: /usr/ports Porting of other Public Domain Code Port Major Packages { Perhaps such as: DTP (Desktop Publishing Packages), WP (Word Processing), Scanner & OCR (optical character recognition), Jeffrey Hsu suggests: Andrew (package), stuff in ftp.x.org:/contrib & comp.sources.* scheme, cad tools, tcl clients, games To see what has already been ported: Look in ports directory on freefall.cdrom.com } Basic: { Phil Cockcroft has a widely ported basic intepreter, someone else on this list had a different basic, already ported. Which to use ? The basic was sought by for a configure program he'd write (that would generate as output a file of format such as /sys/i386/conf/GENERICAH). } Sys Admin Drag & Drop Interface { Julian Stacey notes: commercial customers like this sort of thing its a strong selling point of major U..X style OS vendors. } SECTION 4: NEW ARCHITECTURES & KERNELS Port FreeBSD to new architectures { Julian Stacey suggests: - Import the netbsd /arch/ dirs, - shake out makefiles some more (remove .i386 assumptions), - start ports to new hardware } = = = = = = = = = = Have fun, whatever you choose, whether on this list or not Julian S