gabriel rosenkoetter on Fri, 19 Apr 2002 07:40:12 +0200 |
First off, the handy Unix timeline (which is, incidentally, the first Google hit for "Unix timeline" ;^>) comes from: http://perso.wanadoo.fr/levenez/unix/history.html A BSD-centric section (actually recorded by BSD folks with a lot of references attached) can be found at: http://cvsweb.netbsd.org/bsdweb.cgi/sharesrc/share/misc/bsd-family-tree (This is part of the FreeBSD and OpenBSD distributions too, but I know where it loves on our cvsweb.) If you want to read about NetBSD, this isn't a bad place to start: http://www.netbsd.org/Documentation/ I'm attaching the notes I read from tonight, but I've got a feeling they won't be helpful for anyone who's now me to reference explicitly. But maybe it'll jog someone's mind for a question. Along those lines, if you wanted to ask me about something but forgot, want a written answer to something I answered verbally at the meeting, think of something to ask later, or weren't there at all but want to ask me something about NetBSD, feel free to do so via private email and I'll summarize the (questions and) answers in a few days to the list. One thing I see in my notes that I totally forgot to mention after I started skipping around is the shiny, new build.sh script in the NetBSD-current source. It bootstraps all of the build tools (gcc, make, config--for kernel stuff, yacc, zic, lint, install, cap_mkdb, lex... so forth) at compile time. This means that you can safely cross build from any NetBSD architecture to any other. There are a few hang-ups with the cross tools (like, you can't so much make a macppc boot floppy image on an i386 machine right now, though you'll be able to after Luke Mewborn finishes his mkfs--not to make file systems on a partition, but to make them in a file--utility), but they work pretty well. It should already be possible to build NetBSD entirely in certain other POSIX-compliant environments (Solaris, Windows with the same stuff you need for VxWorks builds). This may sound kind of irrelevant, but it's really imporatant for companies developing embedded systems. (Just because they're putting NetBSD in the appliance doesn't mean they want to run it locally, nor should they have to.) Note that pkgsrc is NOT cross-capable, mostly because a vast proportion of it would have to be hacked *really* hard to make that happen. It's one thing for source to be portable, it's quite another for it to be cross-capable (which means it needs to be capable of being built with a target other than the local processor; many Makefiles aren't outfitted for that, and changing them so they are with NetBSD-specific patches would be a lot of pain.) And this is not even to mention the arch-specific packages. -- gabriel rosenkoetter gr@eclipsed.net - do interrupt or this will be really short! - Unix history http://perso.wanadoo.fr/levenez/unix/history.html http://cvsweb.netbsd.org/bsdweb.cgi/sharesrc/share/misc/bsd-family-tree http://cvsweb.netbsd.org/bsdweb.cgi/~checkout~/sharesrc/share/misc/bsd-family-tree?rev=&content-type=text/plain - BSD/SysV split - FreeBSD, NetBSD, OpenBSD split out - commercial BSDs (BSD/OS, Mac OS X) - NetBSD use - included in the default install - ssh - Solaris still doesn't, though they do finally have a /dev/random (Solaris 8 patch 112438-01) - right now OpenSSH; may change over to FreSSH (OpenSSH code is a mess) - all daemons linked against libwrap (Debian does this too) - rc structure - /etc/inetd.conf all comments by default - /etc/rc.conf, /etc/defaults/rc.conf - must at least set rc_configured to boot, most daemons you'd use these days live here - launches scripts from /etc/rc.d using rcorder - rcorder directives - REQUIRE - PROVIDE - BEFORE - KEYWORD - rcorder(8) used to sort scripts based on these on boot (reverse on shutdown) - /etc/mailer.conf - both Sendmail and Postfix installed by default, use mailer.conf to switch between them - vaguely phasing Sendmail out, but don't say that too loudly - /usr/sbin/sendmail, /usr/bin/mailq, etcetera just wrappers that consult this config file - pkgsrc - builds from vendor's source plus NetBSD patches - configurable by way of /etc/mk.conf - destination dir, acceptable licenses - make update works (including dependencies) - no worries about broken dependencies; you're rebuilding everything locally (provided DEPENDS are set right, of course) - you *can* get binary packages, but it's only really worth it on slowest architectures because it's easier to stay up to date on your own - building NetBSD from source - checkout from the CVS repository - HEAD is NetBSD-current - netbsd-1-5 is the current release (netbsd-1-6 will probably exist this summer) - minimally: # cd /usr/src && ./build.sh -D /build -R /release - build.sh rocks - bootstraps all the build tools on the local machine... - ... potentially for cross-compiling - (some cross problems; like making macppc boot floppies on i386, but the actual system gets built right) - that includes building NetBSD on non-NetBSD (and on non-Unix) platforms (to compete with VxWorks) - Linux emulation - emulate Linux syscalls - have to track kernel changes (currently in the 2.4.high range) - set of packages in pkgsrc for libraries - track SuSE (currently at 7.3) - man pkgsrc items use (and seamlessly install) Linux emulation - Netscape (though BSD/OS binaries worked last time I tried) - Opera - - kernel details - UVM - could talk for days... - threads (or lack thereof) - a branch (to be combined into current after 1.6 splits this summer) has system activations & LWPs ala Solaris - various pkgsrc threading libraries to satisfy various packages wants - ... but still nothing that does preemptive mutli- threading right. (nathan_sa will) - SMP (or lack thereof) - also in work on a branch - still in the Big Lock state of affairs (meaning it's not actually good for much) - NetBSD's not really aimed (in its current state) at high-end servers; the money for people who know NetBSD and get paid to maintain it is embedded system, so no huge surprise - LKM - less used than under Linux, more for kern devel purposes - ... so the API is a bit uglier, and the kernel doesn't play quite as nicely (doesn't put as many things in tables to be overwritten) - code is VERY clean and well-commented - OS classes and such - NetBSD devel - mailing lists - Wasabi - questions? Attachment:
pgpX1kmdliy9e.pgp
|
|