Jeff Dike wrote:
> On Thu, Jul 05, 2007 at 09:54:33PM +0100, Antoine Martin wrote:
>   
>>> The BusyBox image just seems broken.  If you loop-mount it and chroot
>>> bin/sh into it, it dies with a SIGFPX.
>>>
>>>       
>> Is this the 32-bit or 64-bit?
>>     
>
> 32-bit.
>
>       Jeff
>   
Hmm, works fine for me here (tested on both 32-bit and 64-bit hosts):

# md5sum BusyBox-1.5.0-x86-root_fs.bz2
5d91bec2b09b4aabf7677e28759e86c7  BusyBox-1.5.0-x86-root_fs.bz2
# bunzip2 BusyBox-1.5.0-x86-root_fs.bz2
# mkdir tmp && mount -o loop BusyBox-1.5.0-x86-root_fs tmp
# chroot tmp /bin/ash
# exit



Now for things that do not work as expected (hang on to your seat)

* some pre-compiled guest kernels fail
(The host is a standard 32-bit 2.6.21.5-skas3-v8.2)
It stops as it did before the ptrace fixes:
./kernel32-2.6.21.5-am1 ubd0=./BusyBox-1.5.0-x86-root_fs
Checking that ptrace can change system call numbers...OK
Checking syscall emulation patch for ptrace...OK
Checking advanced syscall emulation patch for ptrace...OK
Checking for tmpfs mount on /dev/shm...OK
Checking PROT_EXEC mmap in /dev/shm/...OK
Checking for the skas3 patch in the host:
  - /proc/mm...found
  - PTRACE_FAULTINFO...found
  - PTRACE_LDT...found
UML running in SKAS3 mode

It dies without diagnostics. Running in gdb doesn't really help:
"Program exited with code 01."

But a pre-compiled 2.6.16.49 guest does work...
And it gets weirder: some (but not all) guests compiled directly on this 
host do work!
I have had success with 2.6.19 and 2.6.20 compiled locally, but not with 
2.6.21!!!
The compiler in both cases is the same gcc 4.1.2

Note: With the kernels that do fail, I get the same (lack of) result on 
64-bit hosts too - at least this is consistent...
The ouput is a little bit different on 64-bit hosts however:
./kernel32-2.6.21.5-am1 noprocmm ubd0=./BusyBox-1.5.0-x86-root_fs
Checking that ptrace can change system call numbers...OK
Checking syscall emulation patch for ptrace...missing
Checking for tmpfs mount on /dev/shm...nothing mounted on /dev/shm
Checking PROT_EXEC mmap in /tmp/...OK
Checking for the skas3 patch in the host:
  - /proc/mm...not found: No such file or directory
  - PTRACE_FAULTINFO...not found: Invalid argument
  - PTRACE_LDT...not found: Invalid argument
UML running in SKAS0 mode

#
I am stumped. I will do a make clean and try to recompile - maybe that 
will help?

Also:
* 2.4 is a no go, I guess that TT mode hasn't been tested by anyone 
lately and that something on the host breaks it.
It is a host regression - but does anyone still care?
* all 32 bit guests that work on 32-bit hosts now work fine on 64-bit 
hosts too (with noprocmm on 64-bit skas3 patched hosts)


On 64-bit hosts only:
* guests older than 2.6.20.8 (or .9?) fail with the infamous:
[42949377.280000] Kernel panic - not syncing: do_syscall_stub : 
PTRACE_SETREGS failed, errno = -5
I could backport the ptrace patch to all these guests kernels (2.6.17 to 
2.6.19) but there isn't much point - the kernels on the front page are 
all recent and have the patch included. (it was also backported to 2.6.16)
Jeff, wasn't this fixable with a host patch as well?


I will look at sanitizing my startup scripts and publishing them as a 
tarball as suggested earlier - I think that's a good idea.
It should be pretty easy to setup the startup command and network with 
minimal input from the user. Maybe keeping the settings in some /etc/uml 
file and adding an /etc/init.d/uml startup script.
I will also update the SELinux policy to the new modular framework - but 
that's more work...


Antoine


-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
User-mode-linux-user mailing list
User-mode-linux-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-user

Reply via email to