Link to home
Start Free TrialLog in
Avatar of rjbryla
rjbryla

asked on

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
Avatar of shivsa
shivsa
Flag of United States of America image

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
could you please post the exact error messages, and which program produced it
Avatar of rjbryla
rjbryla

ASKER

'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.
ASKER CERTIFIED SOLUTION
Avatar of rjbryla
rjbryla

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Good to know you got the issue resolved. You can close the question by following this guidelines:
https://www.experts-exchange.com/help.jsp#hs5