Subject: Cannot run N32 binaries.

From: "Kaz Kylheku" <[email-masked]>
Date: Tue, 31 Oct 2006 18:08:56 -0800

Before I start debugging this, I thought I'd poll the mailing list.

I've built an N32 root filesystem: all binaries and libs are "ELF 32-bit
N32 MSB MIPS-III ..."

The kernel (2.6.17.7, 64 bit) that I built does have:

CONFIG_MIPS32_N32=y

The filesystem doesn't boot: init cannot be found.
 
I copied the N32 filesystem into a subdirectory of an O32 filesystem in
order to have a look.

Basically, for any executable that I try to run, the error is: "No such
file or directory".

---

From: "Ilya A. Volynets-Evenbakh" <[email-masked]>
Date: Tue, 31 Oct 2006 20:17:25 -0800

Could be looking for non-existant ld.so.1 (do you have N32 version of it
in /lib32?)

-- 
Ilya A. Volynets-Evenbakh
Total Knowledge. CTO
http://www.total-knowledge.com

---

From: "Maciej W. Rozycki" <[email-masked]>
Date: Wed, 1 Nov 2006 13:24:13 +0000 (GMT)

> The filesystem doesn't boot: init cannot be found.
[...]
> Basically, for any executable that I try to run, the error is: "No such

 For a start you could try running a statically linked shell as your 
"init", like specifying "init=/bin/bash.static" at your kernel command 
line.  If that works, check that your shared libraries are where the 
shared loader expects them to be -- for n32 that could be "/lib32", 
"/usr/lib32", etc., but it depends on how it has been built.  Note you can 
invoke the loader manually to examine its behaviour (run it without 
arguments to get some help) and then there are a couple of LD_* 
environment variables that it recognizes that may aid you with figuring 
out what is wrong (you may have to look at the sources for how to use them 
though).

  Maciej