I got this tfoerste@n22 ~ $ start_uml.sh + /usr/local/bin/linux-2.6.16-usermode ubda=/opt/uml/root_fs ubdb=/opt/uml/swap_fs eth0=tuntap,,,192.168.0.254 mem=128M umid=toralf 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/...failed: Operation not permitted /dev/shm/ must be not mounted noexec + set +x Here is the diff between old and new config (new lines removed options sorted alphabetically b/c of big changes in Kconfig): n22 /usr/src/uml # diff new old 17a18 > CONFIG_CLEAN_COMPILE=y 25d25 < CONFIG_ELF_CORE=y 55a56 > CONFIG_KOBJECT_UEVENT=y 97d97 < CONFIG_SLAB=y n22 /usr/src/uml # emerge info Portage 2203-svn (default-linux/x86/2006.0, gcc-3.4.5, glibc-2.3.6-r3, 2.6.16-gentoo-r6 i686) ================================================================= System uname: 2.6.16-gentoo-r6 i686 Intel(R) Pentium(R) M processor 1700MHz Gentoo Base System version 1.6.14 ccache version 2.3 [enabled] dev-lang/python: 2.4.2 dev-python/pycrypto: [Not Present] dev-util/ccache: 2.3 dev-util/confcache: [Not Present] sys-apps/sandbox: 1.2.12 sys-devel/autoconf: 2.13, 2.59-r7 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r1 sys-devel/binutils: 2.16.1 sys-devel/libtool: 1.5.22 virtual/os-headers: 2.6.11-r2 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-O2 -march=pentium-m -fomit-frame-pointer -pipe" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.4/env /usr/kde/3.4/share/config /usr/kde/3.4/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/eselect/compiler /etc/gconf /etc/revdep-rebuild /etc/terminfo /etc/env.d" CXXFLAGS="-O2 -march=pentium-m -fomit-frame-pointer -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig ccache distlocks sandbox sfperms strict" GENTOO_MIRRORS="http://ftp-stud.fht-esslingen.de/pub/Mirrors/gentoo/ http://194.117.143.69 http://85.25.128.62 http://194.117.143.70" LINGUAS="de en" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" SYNC="rsync://rsync.de.gentoo.org/gentoo-portage" USE="x86 X aac acpi alsa apache2 arts audiofile avi berkdb bitmap-fonts bzip2 cdr cli crypt css cups curl dri dvd emboss encode exif expat fam ffmpeg font-server foomaticdb fortran gd gdbm gif glut gpm gstreamer gtk gtk2 idn imagemagick imlib ipv6 isdnlog jai java javascript jimi joystick jpeg junit kde lcms libg++ libwww live logrotate mad mbox mhash mikmod mmx mmxext mng motif mp3 mpeg mysql ncurses nls nptl nsplugin ogg opengl oss pam pcre pdflib perl php png pppd python qt quicktime readline real reflection rtc samba sdl session slp snmp spell spl sse sse2 ssl subversion tcltk tcpd tiff truetype truetype-fonts type1-fonts udev unicode usb userlocales vorbis win32codecs xine xml xml2 xorg xv xvid zlib video_cards_ati input_devices_keyboard input_devices_mouse linguas_de linguas_en userland_GNU kernel_linux elibc_glibc" Unset: ASFLAGS, CTARGET, INSTALL_MASK, LANG, LC_ALL, LDFLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PORTAGE_RSYNC_OPTS, PORTDIR_OVERLAY The previous version (linux-2.6.15-usermode-r1) works fine.
BTW, UML works fine using linux-2.6.16-gentoo-r6, the only config diff to the uml sources is this : n22 /mnt/ramdisk/src # diff /usr/src/uml/.config .config 3,4c3,4 < # Linux kernel version: 2.6.16-usermode < # Mon May 8 09:49:14 2006 --- > # Linux kernel version: 2.6.16-gentoo-r6 > # Mon May 8 10:26:03 2006 83d82 < CONFIG_MCONSOLE_EXEC=y 374a374 > # CONFIG_SQUASHFS is not set
This is actually part of the -bs patchset that's in usermode sources. It changes the default from /tmp to /dev/shm (if it's mounted tmpfs). It will then later fail (and not fall back) if whatever it's using (/tmp or /dev/shm) is mounted noexec. Probably, it should check for PROT_EXEC before switching to /dev/shm, but the solution in your case is to mount /dev/shm without noexec (so edit /etc/fstab and remove noexec from /dev/shm). Unfortunately, noexec is the default for /dev/shm on gentoo, if you started with the stages. I'll see if I can work up a patch with Paolo for this problem.
at least with 2.6.18