Moving to Linux is like getting poked in the eye with a stick.
It hurts and I can't see where I am going.
But I have to, BSD is a victim of it's own success. It has been so reliable there just isn't any work out there to maintain BSD systems. Sort of like building cars that run forever, you'd put your self out of business.
I think we BSD people have put ourselves out of work by making these systems too reliable and simple to use.
So as a result, I have been doing more and more Linux projects. After all it's C and Unix like, doing a device driver in Linux isn't that hard right? Well it's not, if you can get the dam OS to run in the first place.
I find it's always the same crap. They keep changing things, moving things and renaming things so you can never count on things working the same way on any two distros, versions, shells, /etc, file trees, driver interfaces or really anything in the box.
Like instead of Mbuf's there called skbuff's for there network driver. But it's beyond just renaming away from SVR4 and BSD-ism's , but even between kernel versions.
Things like renaming pci_find_class to pci_get_class, pci_dev->slot_name to pci_dev->dev.bus_id and remap_page_range to remap_pfn_range around 2.6.10 that broke almost ever driver in Linux! I mean these were needed to Port an existing driver up to a newer kernel within the 2.6.x tree, it only took me a week to figure out these thing, and I couldn't' find much documentation on these changes. What they hell are they thinking!!
Changing "find" to "get" is not an UPGRADE! It's not helping anyone and cost hundreds of thousands of man hours for all of the sysadmins and developers out there that were burned on this.
I am now working with the Author of the BASH shell. Him, his 3 uber geeks and myself could not figure out how to set up a static IP on a server here! They eventually got it after a few hours. Hell this is like a 1 minute thing in FreeBSD.
It's doesn't just end there.
I have about 10 systems at home.
4 FreeBSD, 3 Linux and 3 windows systems.
In the past 12 months, I have never had to install, rebuild, update or do any maintenance on the FreeBSD boxes. They are also the boxes I do most of my work on.
I have had to reinstall windows twice, and ended up not ever getting some DVR software working on one box and have in general had to spend a lot of time tweaking the boxes to keep running.
With Linux I have installed Fedora Core 4, 8 times, each installed work for about 2 weeks to 2 month before getting Segfaults while running, then become unable to reboot. I was unable to even read my data back off of the driver. Fortunately I had made tar files backed up on my FreeBSD boxes.
I have also installed Ubuntu twice, both installed systems were a big hassle to get the C compiler and dev environment working.
Even those aren't running very well, crashing every few days.
The thing that really get me though was I have been trying to get a 2.4.X distro working. I have tried Debian, Gentoo and Slackware to no avail.
Two weeks of manually partitioning and having CD only distro's insists on access to the net, while not detecting the network card on My 3 year old Via EPIA M10K motherboard. I really am pulling my hair out.
I have tried everything and just can't get a dam distro to just install and run correctly.
I really need to work on a driver, and a very simple one at that. If only I can just get past the dam basic install!!!
In my team I have Debian members, and a current maintainer in the Linux kernel who also didn't' fair a whole lot better at getting and only distro installed, but at least one had a working system he found from 3 years ago that was already good to go.
So it's not just me, but I find it far more frustrating and infuriating spending weeks to get a dam OS installed.
Such has been my adventure with Linux.