Bugzilla – Bug 140934
Problem with udev on current stable snapshot
Last modified: 2006-01-26 15:34:15 UTC
It seems /dev needs to be mounted with exec flag on current stable snapshot. Otherwise X refuses to start with error "could not map SYS BIOS", vbetool also aborts with a similar error. Maybe other components are affected, too. Is this intended?
Could you attach a complete X logfile? Thanks.
Created attachment 61751 [details] Xorg start log
I can reproduce it on one of my boxes, no idea, why the other one is working. It fails with: open("/dev/mem", ORDWR|O_LARGEFILE) = 9 mmap2(0xf0000, 65536, PROT_READ|PROT_EXEC, MAP_SHARED|MAP_FIXED, 9, 0xf0) = -1 EPERM (Operation not permitted) Does X depend on PROT_EXEC?
xc/programs/Xserver/hw/xfree86/os-support/linux/int10/linux.c: [...] if ((sysMem = mmap((void *)(SYS_BIOS), BIOS_SIZE, PROT_READ | PROT_EXEC, MAP_SHARED | MAP_FIXED, fd, SYS_BIOS)) == MAP_FAILED) { xf86DrvMsg(screen, X_ERROR, "Cannot map SYS BIOS\n"); [...] I think this is intended ...
Egbert?
*** Bug 140939 has been marked as a duplicate of this bug. ***
Ok, this is likely to cause too much trouble, even if we get X working. I've removed "noexec" from mkinitrd and submittd it to autobuild now.
Fixed.
*** Bug 141139 has been marked as a duplicate of this bug. ***
*** Bug 141381 has been marked as a duplicate of this bug. ***
I don't recall exactly any more if the exec flag is really required. It's too long ago. The vm86 code does execute BIOS code in place - other than the emulator. Removing PROT_EXEC and testing on a primary card with VBE DDC detection should reveal if it works without. I doubt it though.