Gentoo Archives: gentoo-amd64

From: Duncan <1i5t5.duncan@×××.net>
To: gentoo-amd64@l.g.o
Subject: [gentoo-amd64] Re: Alsa Problem With Kernel 2.6.37
Date: Sun, 09 Jan 2011 06:10:04
Message-Id: pan.2011.01.09.06.06.24@cox.net
In Reply to: Re: [gentoo-amd64] Re: Alsa Problem With Kernel 2.6.37 by Frank Peters
Frank Peters posted on Sat, 08 Jan 2011 18:11:27 -0500 as excerpted:

>> Curious: why aren't you using udev? >> >> > I've been using Linux since 1998 and I like most the opportunity > for control that Linux allows. To suit my minimalist needs, I have > customized my system to a great extent. For example, I have completely > eliminated the complex and cumbersome initialization scripts that > are found in /etc/init.d, /etc/conf.d, and other locations. In their > place I wrote my own very simple initialization script that > automatically boots into console (no login). From there I can go to X > (my usual action) or just use the console for configuration, > troubleshooting, or other tasks.
> I have also eliminated udev as part of this simplification. I know > what's on my machine and what has to be done to enable it. I would > rather not have actions performed "automagically" for me whenever I plug > in a USB printer of storage device. Part of the reason is philosophical > and part is just a desire to understand the OS better.
Wow. I understand exactly why you do it, because I'm the same way, only the Gentoo initscripts are reasonable enough for me and I've enjoyed watching openrc/baselayout2 develop -- in fact, since I actually /grok/ bash scripting at a reasonable level, its the one area I can quite frequently not only submit bug reports, but trace the code and suggest patches, which I've done on a number of occasions. (In one case, once I started hitting an error and traced it, it was quite apparent the error path/case had never been tested at all, as the logic was apparent but the code simply didn't and couldn't work as intended. By the time the original bug was fixed I think I'd had patches for two others taken and helped work on a third, in addition to the one for the original triggering bug.) Also, I remember static dev and highly prefer a dynamic dev, since that makes it that way, it's a simple binary-case (1) device there, the kernel detects the hardware and created a device, any problem must be above that level, (0) device not there, kernel/module/detection problem, that you don't get if the device node always exists regardless of whether the kernel knows what to do with the device or not, since it's a static file. But I definitely understand the appeal and simplicity of doing it the other way, avoiding all the layers on layers of "automagic". But it seems I often have at least one and sometimes two or three initscripts that I've highly modified, either to cover "advanced" functionality the script doesn't offer on its own (back when md-raid first got partitioning support, my version of the script handled that way before Gentoo's did, and I had a bug open for some time on it before Gentoo finally added that feature based on my work and that of another user, as well as the md-raid initscript maintainer; I'm doing similar now with additional file-specific bind-mounts into the bind/named chroot), or to delete complexity I don't need, sometimes both (I simplify the script, cutting out what I don't need, to better undestand it before adding my own advanced functionality).
> Linux allows many possibilities for customization and, IMO, that is half > the fun of using it. Most distributions, including Gentoo, adhere to > the standard methods. But if one has the inclination for exploration > then there is much that can be done to go well beyond the standard > methods.
And of course, Gentoo makes maintaining customization much easier than many distributions. =:^) I pretty much learned bash, at least the scripting side, by rewriting the Mandrake rc.sysinit script, modularizing it, etc. Then I upgraded to the next version, and had to do it again... Then I upgraded again, and shortly thereafter, started running cooker (rolling "testing" version), at which point I gave up. Gentoo's rolling updates and configuration update management tools make it relatively easy to avoid having a custom config broken. .... Meanwhile, I see you've fixed the problem, but it's worth noting that lspci lists devices based on generic pci-bus device queries, not what the kernel has drivers for. Just because lspci lists it doesn't mean the kernel can handle that device, only that the device returned certain information when the kernel queried for devices on that bus. Unless you use the -k switch, enabled by default with -v, that is (and only on 2.6 kernels, which we're dealing with of course, but...). -k shows kernel drivers handling and/or that can handle a device. In that case, you get that information too if the kernel can handle the device, but devices that the kernel knows not how to handle will still be listed, just without any assigned kernel driver. Maybe you meant that lspci -v (or -k) was saying it had assigned a driver to it, but that's not what you said, you said lspci wouldn't show the sound card as there if the module wasn't loaded, and that's not correct, as it'd still be a device on the bus and would respond to queries (with the results printed) as such. This is an important distinction, because lspci can thus be used to see devices that the kernel does NOT have drivers for (or doesn't have them built and available). Using lspci to see what hardware a machine has (once Linux boots on it at all), so one can google for support status and what driver to use, especially on second-hand equipment where a manual isn't available, and/or where it's easier to run lspci than to crack open the box to look, is a very important usage case for it. If lspci didn't list devices the kernel wasn't configured with drivers for, that wouldn't work, so I'm very glad it DOES list them. =:^) alsa-info.sh, OTOH, I don't know. You may be correct about it. -- Duncan - List replies preferred. No HTML msgs. "Every nonfree program has a lord, a master -- and if you use the program, he is your master." Richard Stallman