View Full Version : Linux,Older BIOS and ACPI Functions
n2ize
01-21-2008, 03:07 PM
Hello
I have running in the basement of my building an older computer running Linux. It's a 800 mhz Pentium 3 that serves as a subnet router, a DNS server, and a multi function server (ftp, httpd, etc...) for internal local Intranet services. It also serves as the gateway to the Internet for the local subnet. It mostly runs unattended and, being inn a remote location, it is accessed via the network rather than directly.
The problem I am having is that the older BIOS in the machine implements apm power management functions and the newer Linux kernels use ACPI. That causes problems. For instance I cannot do a reboot unless someone physically accesses the machine to power it down and then bring it back up. Or, if there is a power failure and the UPS tells the machine to shut down it won't shut down completely. The operating system will shut down, the drives will stop spinning but the machine won't fully power down.
I am wondering if anyone knows an easy fix for this problem. With the older Linux kernels everything worked fine and the machine powered down normally. But with the newer kernels with the newer ACPI implementations it doesn't seem to work properly.
Wonder if anyone knows of an easy fix for these problems ? or will fixing it require that I update the BIOS or recompile a new kernel ? Any help/suggestions would be appreciated.
Is your kernel monolithic, or does it use modules?
If the latter...you may be able to dynamically unload the 'acpi' module and test a power-down cycle.
Should that work, and the system comes back up unaided:
Look in the /etc/modules.conf file and find the "insmod acpi" statement. Comment it out (or use your distro's Module Configurator to make the change).
The ultimate fix is to recompile the kernel. The whole APM/ACPI thing bit me and and our OS Team in the arse when we were doing Embedded XP development...forced the OS to use the newer of two HALs, which of course WASN'T the one packaged with our specific flavor of Windoze. :evil:
n2ize
01-24-2008, 03:06 PM
Hmmm... Are not all Linux kernels monolithic ? I presume you mean "monolithic" in the sense of a kernel that allows modules to be loaded/unload at runtime as opposed to a kernel in which all needed features are added at compile time. If I can manage the time I'd like to undertake an exhaustive study of the kernel and lernel level programming.
In answer to your question yes, I utilize loadable/unloadable modules. I'll give the acpi module unloading a try and see what happens.
As far as I know, APM support hasn't gone away from the Linux kernel. That would be pretty unusual as a lot of legacy things are left in the Linux kernel, as many people run older machines.
You may have to compile the module and load it, however, or just compile it into the kernel.
The battery powered HOWTO (http://tldp.org/HOWTO/Battery-Powered/powermgm.html#APM) has lots of useful info and there's a whole section on APM.
Your BIOS may also have a bug where you'll have to use real mode to power off your computer. There's an option in the kernel for that as well.
If you have the ACPI module loaded, unload it. You can't use both at the same time.
kf6rdn
01-29-2008, 12:13 AM
Given you aren't using any of that functionality can you disable all the power stuff in the BIOS?
I seem to remember that helped.
Hmmm... Are not all Linux kernels monolithic ? I presume you mean "monolithic" in the sense of a kernel that allows modules to be loaded/unload at runtime as opposed to a kernel in which all needed features are added at compile time. If I can manage the time I'd like to undertake an exhaustive study of the kernel and lernel level programming.
In answer to your question yes, I utilize loadable/unloadable modules. I'll give the acpi module unloading a try and see what happens.
Monolithic = all modules compiled into the kernel. They cannot be unloaded.
(This is also the most secure kernel model, as one cannot slip a trojaned binary into kernel memory space.)
Modular = modules may be inserted or removed dynamically.
n2ize
01-29-2008, 07:18 PM
Hmmm... Are not all Linux kernels monolithic ? I presume you mean "monolithic" in the sense of a kernel that allows modules to be loaded/unload at runtime as opposed to a kernel in which all needed features are added at compile time. If I can manage the time I'd like to undertake an exhaustive study of the kernel and lernel level programming.
In answer to your question yes, I utilize loadable/unloadable modules. I'll give the acpi module unloading a try and see what happens.
Monolithic = all modules compiled into the kernel. They cannot be unloaded.
(This is also the most secure kernel model, as one cannot slip a trojaned binary into kernel memory space.)
Modular = modules may be inserted or removed dynamically.
The definition of "monolithic" as I learned it has to do with the address (memory) space in which the kernel runs. Kernels, such as the Linux kernel runs entirely within it's own address (kernel) space and is therefore deemed monolithic. Thus, the Linux kernel is monolithic despite it's usage of dynamically loadable modules. At least that is how it's been explained to me.
However, I believe monolithic is also used in the context you describe with respect to the linux kernel and loadable modules versus compiled.
In any event all that matters to me is that it works. :D IfI can ever manage the time I'll play around with the kernel and kernel programming. Right now dealing in user space is enough for me. :P
From: Bill Gates
’-- Sent: Sunday, January 24, 1999 8:41 AM
; TO: Jeff Westorinon; Ben Fathi
Cc: Carl Stork (Exchange); Nathan Myhrvofd; Eric Rudder
Subject: ACPI extensions
One thing I find myself wondering about is whether we shouldn’t try and make the "ACPI" extensions somehow Windows
specific.
If seems unfortunate if we do this work and get our partners to do the work and the result is that Linux works great without
having to do the work.
Maybe there is no way Io avoid this problem but it does bother me.
Maybe we could define the APIs so that they work well with NT and not the others even if they are open.
Or maybe we could patent something related to this.
(sorry for the poor cut & paste, link to document below)
http://edge-op.org/iowa/www.iowaconsumercase.org/011607/3000/PX03020.pdf
Hmmm... Are not all Linux kernels monolithic ? I presume you mean "monolithic" in the sense of a kernel that allows modules to be loaded/unload at runtime as opposed to a kernel in which all needed features are added at compile time. If I can manage the time I'd like to undertake an exhaustive study of the kernel and lernel level programming.
In answer to your question yes, I utilize loadable/unloadable modules. I'll give the acpi module unloading a try and see what happens.
Monolithic = all modules compiled into the kernel. They cannot be unloaded.
(This is also the most secure kernel model, as one cannot slip a trojaned binary into kernel memory space.)
Modular = modules may be inserted or removed dynamically.
Incorrect.
John is right.
Linux (and Windows) use monolithic kernels. Monolithic only has to do with OS functions including kernel functions, networking, device drivers etc running in the kernel space. Dynamically loaded modules are inserted at run time, but still run in the kernel space.
Microkernels on the other hand (like Mach, kernel for Apple Mac OS X, or Amiga OS' kernel) only run the essential kernel functions in the kernel space, and throw everything else into userland.
n2ize
02-01-2008, 11:04 AM
Hmmm... Are not all Linux kernels monolithic ? I presume you mean "monolithic" in the sense of a kernel that allows modules to be loaded/unload at runtime as opposed to a kernel in which all needed features are added at compile time. If I can manage the time I'd like to undertake an exhaustive study of the kernel and lernel level programming.
In answer to your question yes, I utilize loadable/unloadable modules. I'll give the acpi module unloading a try and see what happens.
Monolithic = all modules compiled into the kernel. They cannot be unloaded.
(This is also the most secure kernel model, as one cannot slip a trojaned binary into kernel memory space.)
Modular = modules may be inserted or removed dynamically.
Incorrect.
John is right.
Linux (and Windows) use monolithic kernels. Monolithic only has to do with OS functions including kernel functions, networking, device drivers etc running in the kernel space. Dynamically loaded modules are inserted at run time, but still run in the kernel space.
Microkernels on the other hand (like Mach, kernel for Apple Mac OS X, or Amiga OS' kernel) only run the essential kernel functions in the kernel space, and throw everything else into userland.
Interesting. I understand the recent interest in microkernels (non-monolithic) however, what about stability and security ? While theremay be some versatility in enabling some functionality that is normally relegated to kernel spaceinto user space cannot that also open up some huge holes with respect to stability and security ?
I know there has been some debate between Linus Torvalds (who tends to favor the monolithic approach) and other developers who prefer the non-monolithic approach to kernel and OS system design.
Of course I can't say which I prefer until I learn more about kernels in general and the pro's and con's, etc.
You may be surprised, but microkernels in principle will be more secure. And with Mac OS X, apparently it's true in practice.
The reason is that they operate on the principle of least privilege, meaning that any vulnerable services (i.e. networking) run outside of kernel space and are isolated from the kernel, which is the heart of your OS.
As for stability, micro is definitely better. Remember that in monolithic kernels, all of the kernel modules will run in the same address space and if one module has something like a bad memory leak it can bring the whole kernel down very rapidly.
As for Linus, Linux is perfect. Don't tell Linus there is any fault with his precious code. He's worse than sMarty Fouts. The kernel.org mailing list is peppered with his bad attitude and enormous ego.
The KISS principle applies - keep it simple.
Of course, proponents of monolithic kernels will claim performance problems (http://www.linuxjournal.com/article/6105) and peddle propaganda that microkernels are "obsolete" and brand people who like microkernels as "zealots." What a bunch of idiot fanboys.
n2ize
02-02-2008, 08:37 AM
You may be surprised, but microkernels in principle will be more secure. And with Mac OS X, apparently it's true in practice.
The reason is that they operate on the principle of least privilege, meaning that any vulnerable services (i.e. networking) run outside of kernel space and are isolated from the kernel, which is the heart of your OS.
As for stability, micro is definitely better. Remember that in monolithic kernels, all of the kernel modules will run in the same address space and if one module has something like a bad memory leak it can bring the whole kernel down very rapidly.
As for Linus, Linux is perfect. Don't tell Linus there is any fault with his precious code. He's worse than sMarty Fouts. The kernel.org mailing list is peppered with his bad attitude and enormous ego.
The KISS principle applies - keep it simple.
Of course, proponents of monolithic kernels will claim performance problems (http://www.linuxjournal.com/article/6105) and peddle propaganda that microkernels are "obsolete" and brand people who like microkernels as "zealots." What a bunch of idiot fanboys.
Well, I see your point and you may be right, however I'd need to examine things a bit more closely before I can make a decision on precisely which is better. I do know there are some quite knowledgeable people whom I do have a great deal of respect who tend to favor the monolithic kernel approach , at least for the present.
At this point in time I am not going to take sides. I don't know enough about the pro's and con's to say for sure. But I'll be listening. And of course we'll all have to wait for the official word from Marty. After all, Marty is an expert in everything. Except for Selfless Steve/NL7W who is the ultimate in universal perfection. :mrgreen: :mrgreen:
Look at it this way - who are using monolithic kernels? John public.
Who are using microkernels? Critical apps such as military/DoD stuff.
You have to wonder why they chose either of them.
Frankly, John Q. Public really doesn't consider things such as stability and security extensively, at least not when choosing a kernel.
Most people I know choose Linux (a monolithic, modular kernel) for two reasons - it's free, and it's widely supported.
The people I know who chose Apple Mac and OS X choose it because Apple is sexy, and they fall for the marketing hype.
The military on the other hand, has to decide whether a particular technology will remain up and running in the battlefield. Remember, lives and property are at stake.
M0GLO
02-02-2008, 06:53 PM
The problem with that is I haven't met one military or government admin that is worth their pay.
So what they choose tends to not be relevant as far as I am concerned.
The problem with that is I haven't met one military or government admin that is worth their pay.
So what they choose tends to not be relevant as far as I am concerned.
Yeah but their technology is developed by companies such as Northrup Grumman and Lockheed.
The folks at Grumman I know are very, very smart. Some of my college buddies are now working there as a matter of fact.
n2ize
02-03-2008, 03:16 AM
Look at it this way - who are using monolithic kernels? John public.
Who are using microkernels? Critical apps such as military/DoD stuff.
You have to wonder why they chose either of them.
Frankly, John Q. Public really doesn't consider things such as stability and security extensively, at least not when choosing a kernel.
Most people I know choose Linux (a monolithic, modular kernel) for two reasons - it's free, and it's widely supported.
And one other reason. It works quite well. Private, commecial, academic, and govbernment users alike have found that Linux delivers them the kind of stability and performance they need. At my job we have a cluster of Linux machines that we beat the living heck out of with all kinds of applications, apart from their regular day to day churn and they keep on running, day after day, year after year, with nary a reboot. I agree thatpeoplelike the idea that it's "free" but it does carry a cost, and it's widely supported...both free and at cost... but they also like the most important fact, it performs.
The people I know who chose Apple Mac and OS X choose it because Apple is sexy, and they fall for the marketing hype.
And some are just die hard Mac users. They grew up with the Mac and they vowed to never use anything else.
The military on the other hand, has to decide whether a particular technology will remain up and running in the battlefield. Remember, lives and property are at stake.
The performance requirements of some critical and specialized applications are quite different than the requirements of many home and commercial systems and may require real time performance,etc. Thus the microkernel may better lend themselves to such applications.
And one other reason. It works quite well. Private, commecial, academic, and govbernment users alike have found that Linux delivers them the kind of stability and performance they need. At my job we have a cluster of Linux machines that we beat the living heck out of with all kinds of applications, apart from their regular day to day churn and they keep on running, day after day, year after year, with nary a reboot. I agree thatpeoplelike the idea that it's "free" but it does carry a cost, and it's widely supported...both free and at cost... but they also like the most important fact, it performs.
At my job we use Linux, but I wouldn't call it perfectly stable, or secure either.
In fact the OSes with the best security track record have been BSD, as in OpenBSD and FreeBSD.
But that has little to do with their kernels. It has more to do with the fact that the entire Windows OS is built upon a lot of legacy code, some going back to the DOS days for compatibility.
Also, hobbyist programmers tend to care a bit more about security than commercial coders,
Microsoft has gotten tons better in security though.
And some are just die hard Mac users. They grew up with the Mac and they vowed to never use anything else.
OS X is great though, and performs better than Linux on equivalent hardware.
But yes, mostly it is marketing that increases Apple's popularity.
The performance requirements of some critical and specialized applications are quite different than the requirements of many home and commercial systems and may require real time performance,etc. Thus the microkernel may better lend themselves to such applications.
But when talking about stability, microkernels still rule, even though monolithic kernels have gotten tons better. Performance may also be better, despite what people say. See my statement above about OS X vs Linux.
n2ize
02-03-2008, 08:23 PM
And one other reason. It works quite well. Private, commecial, academic, and govbernment users alike have found that Linux delivers them the kind of stability and performance they need. At my job we have a cluster of Linux machines that we beat the living heck out of with all kinds of applications, apart from their regular day to day churn and they keep on running, day after day, year after year, with nary a reboot. I agree thatpeoplelike the idea that it's "free" but it does carry a cost, and it's widely supported...both free and at cost... but they also like the most important fact, it performs.
At my job we use Linux, but I wouldn't call it perfectly stable, or secure either.
In fact the OSes with the best security track record have been BSD, as in OpenBSD and FreeBSD.
But that has little to do with their kernels. It has more to do with the fact that the entire Windows OS is built upon a lot of legacy code, some going back to the DOS days for compatibility.
Also, hobbyist programmers tend to care a bit more about security than commercial coders,
Microsoft has gotten tons better in security though.
I consider all computers to be rather archaic, unstable, and problematic. I have yet to see a system that I would consider "perfect". For me a few good ideas and a pencil and paper is far more pleasing than all the worlds computers. Nothing can match the analytical ability, cognition, and creativity of the mind.
That said, I find Linux quite reasonable as far as stability and performance
goes. perfect ? No. Annoying and problematic... yes at times. Still a far better experience than I have had under Microsoft.
Microsoft ? I never cared for the performance of their software. Over the years I have found it extremely problematic, extremely insecure, and, worst of all , extremely frustrating to work with. The Linux experience here has been far more enjoyable than the Windows experience. That's why you'll find Linux the operating system of choice fopr both the server and the desktop here at home. And even ay my parents place they they use Linux exclusivly.
Now, I will admit, Windows has gotten better. It is actually usable (to a point) these days. But I still think it will be a long time before I dismiss Linux and migrate to Windows. And long before time there will probably be something entirely new that will replace Windows, Linux, OS X and usher in the next generation of computing.
But when talking about stability, microkernels still rule, even though monolithic kernels have gotten tons better. Performance may also be better, despite what people say. See my statement above about OS X vs Linux.
Point well taken but,I still need to learn more before I can reach a conclusion.
n6hcm
02-04-2008, 02:59 AM
The problem with that is I haven't met one military or government admin that is worth their pay.
So what they choose tends to not be relevant as far as I am concerned.
ow!
n2ize
02-05-2008, 10:55 AM
The problem with that is I haven't met one military or government admin that is worth their pay.
So what they choose tends to not be relevant as far as I am concerned.
ow!
Or so I said as she pinched my backside as I left the nightclub
Powered by vBulletin® Version 4.1.12 Copyright © 2012 vBulletin Solutions, Inc. All rights reserved.