Ignoring Athlon XP architecture at Linux Boot -- need i686 only

Using RedHat ES 3.0.

I have an insmod'able .o file that will only run on i686, but not Athlon. A mess, but I have no choice. If 'uname -p' returns 'athlon', the .o file will not load, because of undefined symbols. Mostly look like network lib symbols.

'uname -m' returns 'i686', and 'uname -i' returns 'i386'. Those are ok.

Is there some way on grub boot to tell the OS that my architecture is not 'athlon', but 'pentium3' or some kind of pentium.

I don't think re-making the OS will help, I don't see any symbols in the various kernel makefiles that allow me to select the CPU type.

Short of getting a different motherboard and CPU (too expensive -- I need 2 GB RAM), I'm also willing to entertain other solutions.

Thanks.
BB
rjbrylaAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

shivsaCommented:
i think u may try setarch.

Setarch makes it possible to change the output produced by the uname  command. This is useful for a number of reasons, such as running 32-bit applications (those written to expect a particular value from uname -m) in 64-bit environments.

The format for the setarch command is:

setarch <arch> <command>

(Where <arch> represents the desired architecture string (such as i386), and <command> represents the command to be run while the architecture has been modified.) Note that <command> can be omitted, in which case /bin/sh is run.

In addition, some applications (such as older versions of Java) are written to assume a 3GB virtual address space; when run on systems with larger virtual address spaces (such as 64-bit AMD64-based systems, or 32-bit systems running the hugemem kernel) such applications can malfunction. The setarch utility makes it possible to emulate a 3GB virtual address space, allowing such applications to run properly:

setarch -3 java
0
ahoffmannCommented:
could you please post the exact error messages, and which program produced it
0
rjbrylaAuthor Commented:
'setarch' was something I originally thought of -- but when 'insmod' runs, it goes against the kernel symbols, which don't change when 'setarch' is run, so the problem remains.

Thanks for the suggestion.
0
rjbrylaAuthor Commented:
Figured it out myself -- after an all-nighter -- I did finally have to rebuild the kernel.

Set the makefile parameter CONFIG_M686 to 'y', and commented out CONFIG_MK7.

THanks again for all your help.
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
shivsaCommented:
Good to know you got the issue resolved. You can close the question by following this guidelines:
http://www.experts-exchange.com/help.jsp#hs5
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Linux

From novice to tech pro — start learning today.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.