Go Premium for a chance to win a PS4. Enter to Win

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 644
  • Last Modified:

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
0
rjbryla
Asked:
rjbryla
  • 2
  • 2
1 Solution
 
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
 
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

Featured Post

[Webinar] Cloud and Mobile-First Strategy

Maybe you’ve fully adopted the cloud since the beginning. Or maybe you started with on-prem resources but are pursuing a “cloud and mobile first” strategy. Getting to that end state has its challenges. Discover how to build out a 100% cloud and mobile IT strategy in this webinar.

  • 2
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now