My terrible adventures with NetBSD.
On the existence of my notes was split off from some text found here.
UPDATE: NetBSD Fails The Grade ∞
Well, after a whole lot of struggling and what I would consider "a good try", NetBSD simply does not make the grade. The core values of this OS are excellent and well implemented. However, until a layer of "functionality".. a wrapper so to speak, is implemented, adding greater end-user functionality, there is pretty much no point in using NetBSD save for using it on the more unusual platforms it supports.
NetBSD has the basics. Most definitely this is true. It also has access to pretty much everything else. These Open-Source BSD variants certainly aren't as crippled in access to software as I first thought. There are, however, pieces of software which definitely won't run under NetBSD without some serious (and skilled) fiddling. The fiddling I don't mind, it's the skill required which frustrates me. While developing those skills I would find myself regularly using a suboptimal environment. I am loathed to think of switching between two OS' because the one I am trying to learn and eventually use full time is too difficult to just migrate over to in one motion.
The "wrapper" I spoke of above would include those items which, while not necessary, are extraordinarily handy, or would normally be found in a well-rounded toolkit. A REAL FUCKING SHELL would be a wonder to behold. Mind you, this is by no means the fault of NetBSD, BSD, or anyone really. Well maybe the shell guys are a bit to blame.. but I'm bitching and I really shouldn't. At any rate, colorls, a working keyboard under the console and X, xmms without sound hiccups.. bleh, even harshly niced, xmms is pretty terrible. This may be the fault of any number of systems.. and I honestly believe this is solvable. However, this is simply a matter of broken defaults. An OS which has too many broken defaults becomes a chore to sit down at.. one has to gain a pretty serious level of competance in order to fix these annoyances before one can get down to actually using said OS.
So, what have I learned from my experiences? Hmm, well package management is somewhat overrated. I'm never going to be satisfied with using binaries. pkgsrc is pretty damned magical though.. and I have failed to see it's true value for some time. While I would look into some of the source-distributions and possibly even LFS (Linux From Scratch), but I'm not quite done with my BSD adventures and pkgsrc is probably a good equivalent for my needs. Also, I really rely on a few key tools and ideas.. a good shell, well-configured by default, is pretty much essential to me. This will end up being a project in and of itself. Zsh looks good, but of course I worry about compatibility and how amazingly.. how blindingly.. broken the defaults are. On to that, I really need to get my favorite file manager ported to BSD. Oh, and Openbox is a very nice WM, even threatening to replace Blackbox.. but I still like bbkeys. =) Umm, more than this, I think I'll have to re-evaluate the importance of a security-oriented OS.
So, what now? Well, I could go back to Slackware but I'm still greatly worried at the bad vibe I'm getting from Linux and it's distros. My next trip will be into the OpenBSD world. I know that I'll regret this in some way because of the apparent larger following of FreeBSD (ignoring those OSX users of course).. well perhaps they are merely more vocal and seem to be a larger userbase. I know FreeBSD has a good focus on performance and functionality, which would be nice to see.. however I'm not quite ready to give up on the higher morales of security. Let's see where this rabbithole leads.
About me ∞
It occurs to me that it would be of some value, or at least interest, for me to outline some of my background and reasons for interest in NetBSD.
Firstly, while I could proclaim myself to be a prolific writer I am not one. On the other hand, this is but a light undertaking for me. I would say that I am a frequent writer but am as yet relatively unknown, so I cannot be more than politely arrogant of my self-perceived skill.
With regards to computers, like so many others, I grew up with them either on my mind or in my hands. However, I am not nearly as committed a user or developer as I could, or ought to, have been. So I have refused to promote myself to higher purpose and find myself in the midst of mere users.
Regarding the Unixish worlds, I have had reluctant efforts put towards this for enough time that greater men would have mastered far more than I. I have found that my beginnings with DOSlike OS' have both coddled and jaded me. I was dragged screaming into the world of Windows like so many others, but even then I resisted, having gone so far as dropping the x86 platform altogether and regressing.. well I like to call it a pilgrimage to the Commodore 64. At any rate, I would prefer to leave that story to another day, and continue on the topic at hand.
I have absolutely no experience with "real" Unix OS', but had gone so far as to remove my dependence on Windows by going entirely Linux. I had, over some time, settled with Slackware. I say "settled" because I can never be expected to be content. Even with this I found myself quite entertained but have since decided to take the plunge into the BSD world.
Why NetBSD? ∞
I had done enough light research to be able to choose between the three available OS'. NetBSD was chosen because of the core of it's philosophy: Portable code. I strongly appreciate the value of their clean codebase. I had dismissed the value of the core philosophy for OpenBSD on the strength of my own security measures which, for me, are more than ample. More on that belongs elsewhere in my Securification project. FreeBSD as compared to NetBSD was a less easy task for me. There were some specific features (functions really) which I found better implemented in NetBSD. Furthermore, one thing impressed me about NetBSD.. the version number. I have been painfully aware of versioning for some time, and was quite horrified at Slackware's jumps. It seemed to me that a leap in version number would also be companioned with a leap in core functionality. While I had been up to the elbows in Slackware, and could see subtle and beautiful improvements, I noted nothing that justified such leaps. NetBSD appeared to have a dignity with versioning that I did not see in FreeBSD. Lastly, it is my wish to be involved in a NetBSD port to a specific hobbyist platform I've had my eyes on.
So, barring nightmarish experiences with installation (again), I intend to plunge into the BSD world with NetBSD, and once I succeed to the attainment of reasonable functionality, I won't look back.
The beginning ∞
One thing with I noticed is that there is not a great deal of readily available user experience to read. It is truly difficult to gauge weather I will enjoy my experiences here or not. I cannot tell if there are unsolved annoyances with the installer. I cannot tell if there is an unsatisfied userbase. Maybe everything's perfect. And maybe I can shoot lightning bolts out of my ass.
My efforts thus far have been contained to some rough web searches and trolling through various resource pages. My next step is to check up on archaic mailing lists and then some web fora to attempt to get a feel of the quality of the internet community.
Knowing that the internet is not always the best resource, I checked into the existence of a local userbase and found a usergroup homepage. I was dismayed at what I saw to be the poor quality of this site. As a new user I expected to see an archive of discussion and a page of appropriate links. I saw neither. I believe there is still hope though, as this merely shows room for improvement. Noting that there are open meetings held occasionally, I will look into dropping by to judge this pocket of the userbase for myself.
Working on a hunch I took a closer look at activity and learned of a well-populated user meet not too long ago. If there is enough interest for that, then regular meetings should not be hopelessly deserted.
So, currently things stand thusly.. I have a good amount of links and have done some light reading. I am about to burn an installation ISO. I am about to crash a usergroup meeting. I have as yet not seen a companion to the installation disk. There is, to my knowledge, no "application disk". It has become obvious to me that my previous notion of a "distribution" is losing it's applicability to this new world. Perhaps this is something I could contribute.. that, or a better organized archive of links and reviews.
I left somewhat behind schedule, based on the timing of a previous meet I read on, and in my home city I managed to walk the wrong way twice. Getting there in reasonable time nonetheless, I walked in and gaged the people in the room. Sure, let's walk up the nearest mass of guys and say hello. Luck!
This is a reasonably competent group, and the turnout was said to be quite a bit higher than expected. Good signs all around. The conversation was notably tech, with enough humor to indicate good signs of experience and intelligence. Both are requirements for my survival there.
So, now I am left with an install CD that was reported as being rather spartan, and enough time for a quick install. Shall we play?
More thoughts ∞
So I didn't end up having enough time for that install.. and indeed although I finally got the right piece of Windows software to burn that ISO I had downloaded, I had decided to spend more time on researching applications. I am quite happy to report that although the applications archive is generally unsorted and contains some software which appeared to be hopelessly stale I did find some key applications and also bumped into some interesting new stuff. It looks as though it would be wise for me to create my own archie of apps and burn them on a companion CD.. or perhaps integrate them into the ISO I have. Either way, managing my own sparse collection of packages will be an undertaking I should plan ahead of time. For those who are wondering why I don't perform mass automated updates off of the net, I am building my system without reliance on the internet. I'll explore some other options later.
I worry that some of my dependence on specific methods and tools from Slackware may bite me. I may need ot redesign my approach for backups for example. It could be an annoyance, but more likely it will simply lead to a more intelligent solution being developed.
And so it begins ∞
I signed up for a nice new email address at my favorite provider, and enlisted into the user group's mailing list to say hello. I booted into my secured sandbox mode and made backups in preparation of my endeavor.
Oh, and previously I had said a quick hi to the news announcement of that meet. Bleh, I hate that website.. I also despise mailing lists. There, I feel much better. The next time I complain I'll have a solution. I best shut up for a while.
I wish I had the time back at work to burn the apps CD I had been preparing over the last couple of days. I wonder if this install will be hopelessly devoid of tools. I expect I'll have to download my choice of apps either through package management (which I don't expect to see being able to do), or manually through the aforementioned badly organized archive online. Fun.
I'm getting pretty worried now, as I listen to my backup grind along. What about a boot manager? Will this be anywhere near as easy to set up as Slackware was? What the hell am I getting myself into? It's probably just the music I'm playing that's getting to me. A final few songs to drive me into the beyond.
And there it is, the backup is complete.. I putter about my filesystem just in case, as the music finishes.. the paranoid in me ensuring perfection. Finding some misc. items on a spare partition, I shift them to a new home, grinning inwardly that I caught some straggling files. I also hit yet another limitation as I make my backups.. CD'ing into a directory simply named "-" doesn't play well. Bay, I'll just use one of the tools in my arsenal to solve that. I wonder if my arsenal will be more capable with this new world. Hmm.
Setting myself in front of my sandbox, I insert the CD to be dismayed at it's weak attempts at booting. Hmm, it read fine earlier, and it's not as if I can't boot from a cd. Great, a screen full of 40's. Let's reset, hug the computer and try again. Ok, that worked fine. Yet another inexplicable problem solved by "me time" with the comp.
Hmm, looks good so far. I caught the detection of my NIC. Aah, a nice clean installer. Let's play.
Installer is a bit light, and lacks the ability to "go back"
I was forced to close the installer and restart it. Thankfully it told me it's name so I could easily re-run it. The partitioner is pathetic in comparison to cfdisk, so I ended up just using the entirety of my disk. I also chose to skip some customization, fearing a lack of time. Ok, let's try a full install off of the CD. Hmm, that'll give me some playthings.. and 300 megs can't take that long to install. Heh, famous last words..
Holy shit, that was fast. Maybe this really is a thin default install.
- Timezone needs a typeahead search. Bleh, what kind of sort order is that anyway? Wow, I even had to jump throrgh a UI hoop to save the settings.
- Some defaults need tweaking. I should flip to another shell asap, so I don't go insane.
home/end don't work.
control-rightdon't work. Alt-backspace doesn't work. Hmm, perhaps the assumption is that the i386 class wouldn't have these keys? Bah. No
backscroll.. no autocomplete. This shell has GOT to go!
xf86config magic. Easy enough. It's too bad it sucks though. Hmm, well it didn't work first try.. the learning curve approacheth. Bad device setting for the mouse. Ok, weeplay. Wait, I might have to use one of those stone-aged editors to edit my X config file. Dammit, I'd rather
xf86config it again. Eesh.
Well I tried that EviL editor, and baulked at it's lack of use.
xf86config it is.. twice. hmm. No luck. Oh, I notice that the Speedo font is still being spammed about. Fun. It's nice to see those dumbass problems are multiplatform too.
Hmm, bad mouse device again. Ok, some patience and reading fixes that.
wsmouse it is. Things look good. Ok, I have X, now for the net. Hmm, it appears there is no such functionality. No useful apps got installed. I'll have to prep myself some floppies at a friends place, and download Links.
Ok, I didn't set up my net connection good enough, otherwise I could just FTP into a server to snag stuff. Newbie mistake, I didn't research network reconfiguration before I began. I did, however, troll dmesg to learn that my sound card was autodetected. Magic. I'm liking this.
Bleh, DHCP wasn't cooperating.. I had to do some manual configuring and I ended up reinstalling the entire OS from scratch. Whee. Well this time, for fun, I did an FTP fetch of the packages. That worked out nicely. Of course, my previous fiddling managed to completely pooch-screw the install. Well at least I don't smell any smoke. Once more, with sane settings...
Well, because of my terrible lack of knowledge I am forced to completely reinstall the entire OS from scratch. I tried to get an upgrade install to pass the network settings, but that didn't work.. and it toasted the install such that I was kicked into a fun console mode without a login prompt. Yes, I could have hand-edited network config files, but that would require a non-hopeless text editor, which would logically not be provided, in order to make my life more difficult.
Hmm, again I neglected to set my network config before beginning the install. No problem, I'll just do another complete install. Whee.. It's also interesting that this CD has exhibited reluctance in beign read at several occasions now. I just thought it was my cdrom's personality bleeding through, but it requires ejects and reinsertions to exist for the comp.. bleh.
Fine, new config, new install. Works. New
xf86config, works. Of course, I now learn that ftp.netbsd.org doesn't allow anonymous logins. I'm shafted. I'll have to take another stab at this tomorrow when I build my applications cd. Of course, I'll have to do some reading on installing those packages.. since I don't know how.
Wait a second, I can indeed login as "anonymous". Heh. Ok, downloads away.. and manual unpacking that I'll screw up twice. Well I will be redoing the setup anyway. So now with a browser I can do a lot more.
- Dicked around
- Had to reinstall because I chmodded the wrong tree of files.
Installed via FTP, segfaulted during the untar of a package. Whee.
And thus things began. From here everything fell into place. Package management was figured out. Applications were set in place. A webserver was brought to bear. These proper TODO and timeline lists were generated.