Now I have a problem allocating shared memory segments. The problem appears to come from the fact that SHMMNI is incorrectly reported as -1. How do programs in Linux emulation discover system parameters such as this? They look in /proc, which you should have mounted with the linux option in the emul root, and they make system calls. ktrace is the way forward usually.