FAQ: Flood of ''write_debugregs - ptrace failed on register 5, errno = nnn''

This is due to a reconfigure of the UML kernel changing the size of some kernel data structures, and some generated header files not being regenerated. In the case that I looked at, a "make clean" had been done, but without the obligatory "ARCH=um". This ran the i386 clean, not the UML clean which would have removed the headers.

Some more details are below.


FAQ: map : /proc/mm map failed, err = 12

The error in $SUBJECT has come up a few times recently. This is caused by a resource limitation in the host. The host kernel will refuse to allow a single process to have more than a certain number of vm areas. Since a UML process typically has one vm area per page in use, the default limit of 65536 implies a maximum process memory size of 256M. Try to go over that limit, and you will start getting errors.

The fix is to write a larger number into the host's /proc/sys/vm/max_map_count:
echo 131072 > /proc/sys/vm/max_map_count
will give UML processes a limit of 512M, 262144 will give them 1G, etc.


FAQ: Searching the UML list archives

This is a repeat, but I've heard enough complaints about SF's archive searching that I figured this deserves an update.

My personal choice for archive searching is MARC (uml-user, uml-devel). gmane.org (uml-user, uml-devel) has also been recommended, and seems reasonable after a quick look.

If you have other recommendations, feel free to comment...


FAQ: ''I'm tracing myself and I can't get out'' on 2.6.0-test hosts

This is caused by a UML bug which implicitly depends on signals being delivered in increasing order of the signal number. This is broken by the split process and thread signal queues introduced in 2.6.

This is not fixed yet, but there is a workaround. The patch is below. Apply it, and UML will start behaving on 2.6 hosts.

If PostNuke mangles the patch, then you can also get it from here.


FAQ: 2.6 UML panics with ''VFS: Unable to mount root fs on unknown-block(0,0)''

The full set of errors is
VFS: Cannot open root device "ubd0" or unknown-block(0,0)
Please append a correct "root=" boot option
Kernel panic: VFS: Unable to mount root fs on unknown-block(0,0)

This happens with devfs mounted, but shouldn't happen without it.

One fix is to append 'root=/dev/ubd/0' to the command line. Another fix is to disable devfs, either by compiling it out of UML, or adding 'devfs=nomount' to the command line, and changing device names in fstab and inittab back to their non-devfs forms.


FAQ: Compilation error - ''CONFIG_X86_L1_CACHE_SHIFT' undeclared here''

A number of people have complained about this compilation failure recently. The fix is to run 'make mrproper' before building UML in a pool which has been used to build an i386 kernel.

See below for a more complete explanation.


FAQ: How can I search the mailing list archives?

Anonymous writes "It's easy, really. Just go to user-mode-linux-user or user-mode-linux-devel and use the usual sourceforge search combobox on the left (make sure it states: "This Mailing List").

Note by jdike
Also, marc.theaimsgroup.com has pretty good archives and searching. uml-user is here and uml-devel is here "


FAQ: Panic - ''outer trampoline didn't exit with SIGKILL''

This panic happens with old UMLs running on RH9. This became a FAQ when lots of people started installing RH9.

It's a UML bug which was fixed in the 2.4.20-4 patch. Any version of UML since then boots fine on RH9.

This may also happen on other distributions as they either pull 2.5 changes back into their 2.4 kernels or they start shipping 2.6 kernels.


FAQ: UML 2.6.0-test* status

The 2.6.0-test1 patch is probably broken. I discovered after releasing it that I hadn't fully checked my changes into BK.

The 2.6.0-test2 patch is tested and working. The problem is that it doesn't compile for some people. The compilation error is
arch/um/kernel/um_arch.c:51: storage size of `__kernel_vsyscall' isn't known
The underlying problem is buggy code, which will be fixed in the next patch. The workaround is to use a pre-3.x gcc. 2.95 compiles UML without complaints.

Also, in order to build a 2.6-test UML, it is necessary to disable module support, SCSI, and MTD. Currently, none of them compile.