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