Date: Wed, 1 Nov 2000 21:16:48 -0600 (CST) From: Mike Meyer <mwm@mired.org> To: questions@freebsd.org Cc: Mike Meyer <mwm@mired.org>, Subject: Re: WTF!! Building from source Message-ID: <14848.56480.558657.873564@guru.mired.org> In-Reply-To: <56388518@toto.iv>
next in thread | previous in thread | raw e-mail | index | archive | help
[My apologies - it seems like my mailer lost the original author, and just left VM.] Someone types: > On 1 Nov 00 at 5:27, Mike Meyer wrote: > > leoric@home.com types: > > > I have read things from the FreeBSD webpage, archived mailing list > > > posts, and /usr/src/UPDATING. The proper way to build world and build a > > > kernel from source is different in each of these. > <snip> > > Be warned that some of the things that can be set in /etc/make.conf > > can cause the method with config to break, and some can cause the > > system to be unbootable until the intallworld is done. > In light of another current thread on this list, "beginners with bsd" and > the various recommendations therein, it would seem that your above warning > points to a FBSD deficiency that would absolutely and totally collapse a > computer and/or FBSD newbie's experience with same. What would you see as > necessary changes to FBSD to preclude such an experience/event and perhaps > cast FBSD in something other than a "not-for-the-faint-hearted" OS and > still retain *all* the flexibility that *nix "power-users" require/demand? No, because problems with /etc/make.conf mean you're *way* beyond the "beginners with bsd" stage. You're building the system (or at least ports) from sources, which is something that MS sort of assumes that you'll never do. Beginners should make sure they can get around a -RELEASE system before rebuilding the system from sources. Being able to build ports at the very least. They should make sure they can rebuild the system from sources before they start monkeying around with make.conf (if you don't touch it, things won't break). Note that if you leave the ports tree and system as they came off the -RELEASE disk, they should work, except for things that are so old the distfile is no longer available. The fly in this ointment is that there are lots of things left out of the GENERIC kernel, because it needs to fit on a floppy. In particular, sound. With the new sound drivers, it may be possible to have them installed as a module on GENERIC, possibly even by default. Hopefully, getting sound turned on without recompiling a kernel would probably solve the problem. I've actually asked for information about that, and hopefully something will get done - at worst, a FAQ entry on how to turn on sound without having to recompile the kernel. At best, systems will install and modern sound cards support by pcm will just work. [Story of newbie's and learning curves elided] > IMHnewbieO, the above scenario could have just as easily happened on FBSD. > However, there's *no way* the majority of the above folks could have > *installed* FBSD. So maybe an automatic CLI install auto-loading "midc" > e.g. would be in order? later.... Have you installed Windows9x? How many of them could have installed that? That's the real secret to MS's success - they've palmed the support costs off onto the hardware vendors, local stores, and friends next door. In this case, systems come from the factory with Windows installed, or it's put on by the local store. If you look hard enough, you can find people who will install FreeBSD for you (even at the store), thus solving the problem the MS way. Let's go over the steps in the install process, and see which does better. I'm atypical - I came to FreeBSD after a decade of running BSD off of 9-tracks from Evans hall and commercial BSD vendors, and a couple of years fooling with NetBSD on 68K hardware. I never did a "newbie" install of FreeBSD, and it's generally a *lot* easier than the others. With that caveat, it's not clear to me that the Windows (by which I mean Windows 9x) install is a lot better than the FreeBSD install. Windows comes with one floppy, and a CDROM that doesn't boot. FreeBSD can boot the CDROM, or two floppies if that doesn't boot. FreeBSD also lets you install from a slew of other media that MS doesn't. I score this one for FreeBSD. Next, FreeBSD makes you do the kernel userconfig thing. Most of the time, you can just ignore this, but it's nice to have if there are problems. MS makes you choose a boot mode from the floppy. Both are a bit intimidating if you don't know what's going on. I score this one even. Now comes the nasty part - you have to do drive and partition layout in FreeBSD, and you don't in Windows. Windows assumes that's been done before the install process (or it may have a hook to format and use the entire disk). This is clearly bad for FreeBSD; I score this one for Windows, as most systems come with a dos formatted C partition. Ok, you then go through the process of choosing what to install for both systems. FreeBSD has more options, but they're pretty clearly labelled. I haven't looked into the "Custom" install for Windows, so I'm not sure how it compares to FreeBSD. Again, call this one even. Now comes the post-configuration phase. FreeBSD has a complicated list of things to walk down, but you can configure pretty much everything that matters, and even install third-party software. MS walks you through some critical ones (like creating a user), then starts the process of adding drivers for hardware beyond the basic system stuff. If you just click the "keep going" buttons, you're going to wind up rebooting the system after every device, and it's going to be a major PITA. The real problem here is that the selection method for FreeBSD are all keyboard driven, and *counter* intuitive. If FreeBSD were point-and-click, or even cursor-and-enter, I'd call it even. As it is, score it for Windows. Ok, now for FreeBSD you have to set up that "other" hardware. That may not always be possible - there may not be support for it. You probably need to recompile the kernel. This doesn't happen on Windows - MS relies on hardware manufacturers to provide drivers if they don't. Score this one for MS. And at that point, the install is done. In retrospect, there are only two places that FreeBSD really falls short of the mark. FreeBSD needs a new GUI, but that's actually underway - just slowly. First, having to do the drive layout is a real loser. On the other hand - what alternative do you have? I guess we could add a hook to use a FreeBSD partition if it was found, but chances are that wouldn't be used enough to make it worth the effort. After all, Windows tools can't create a FreeBSD partition, so you need to either run a third party tool or FreeBSD tools to do that; building the FreeBSD ones into the install process is *much* better than expecting the user to do it from the boot floppy before starting the install. Adding a method that installed on the entire disk could be done, but people who know what they're doing can do that, and people who don't know what they're doing shouldn't be given that kind of thing as a single step operation. The current "use the entire disk" option during layout followed by "auto defaults for all" is about as close as I'd care to cut it. This one being more painful is a simple fact of life for people trying to use an "alternative" OS on a platform dominated by one software vendor. Every OS install I've done except for Windows walks you through that step. The only one that was easier than FreeBSD was BeOS, because it uses a Windows-like single partition with a swap file on it. Linux is as bad or worse; Solaris is *much* worse. If you've got suggestions on how to fix it, please state them! The other one is the driver install process. The Windows autodetect and autonag feature is very nice - when it works. When you don't have the drivers, it's a PITA (I know - I ran a Windows box sans the sound card driver for about a month; every time I booted, I had to turn the bloody thing off). FreeBSD's method of having to reconfig the kernel is BFM. However, with the architectural changes going on for modularized drivers, etc, that's going to get better. Ideally, it'll look like a modern Linux system: everything that's supported by the installed system is autodetected and dynamically loaded into the kernel at boot time. Things that aren't supported are reported so you konw about them, but otherwise ignored. The end result should be better than Windows 9x, at least for hardware that it works on. Bottom line - FreeBSD is always going to be more painful for beginners than Windows, because it can't get away with assuming that it's going to be the only thing installed. And if you've got a good solution for that, please let us know! <mike To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-questions" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?14848.56480.558657.873564>