From: Phill W. <um...@we...> - 2005-07-18 22:36:20
|
Oops sent it directly to you. Here it is via the list... Cheers Phill. -------- Forwarded Message -------- > From: Phill Wombat <um...@we...> > To: Blaisorblade <bla...@ya...> > Subject: Re: [uml-user] x86_64 UML won't boot on IBM x336 > Date: Tue, 19 Jul 2005 08:27:50 +1000 >=20 > Hi Paolo, >=20 > Firstly, allow me to compliment you on the quality of your English, I > assume you're a native Italian speaker. I'm sure there's a story just > there... >=20 > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > FC4 under UML on 32 bit: >=20 > Firstly, I removed (renamed) all */tls to */tls.001. i.e. cd /; find . > -name tls* and then rename them. (possibly not required but I did it > anyway). >=20 > Secondly, do surgery to rc.sysinit. Cut out all lines that refer to > fsck. Turns out fsck uses threads and wants NPTL working. Just cut all > the lines out (it feels painful, but just do it). You can still fsck > your disks from the host by using e2fsck filename (with the UML shutdow= n > obviously). >=20 > Thirdly, comment out: >=20 > #session required pam_loginuid.so >=20 > in /etc/pam.d/login. Not sure why this is so (possibly NPTL again) but > if you don't then you cannot log in because the PAM backend can't creat= e > a session for you. >=20 > I also fixed inittab commenting out all terminals and only leaving tty0 > so the console comes out the session you started the UML from. I use > this in conjunction with the screen program to provide root console > access for maintenance. >=20 > That's where I am right now. I have really run anything with it yet, bu= t > so far so good. > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >=20 > The kernel on x86_64: >=20 > I think you've put your finger on it. I am pretty certain now that I'm > trying to run an x86_64 kernel against a 32 bit rootfs. I did not use > the SUBARCH=3Di386. I tried it but it wouldn't compile, so I sort of ho= ped > it would just be a 32 bit kernel hosted on x86_64 :( >=20 > This is what I did: >=20 > #!/bin/bash >=20 > VERSION=3D2.6.12 > PATCHVERSION=3D2.6.13-rc3 > UML=3Duml-2.6.12-bs7.patch >=20 > cd /home/phill > rm -rf linux-$VERSION > echo "Unzip linux-$VERSION.tar.bz2" > tar -jxf /home/phill/download/linux-$VERSION.tar.bz2 > #echo "Copy patch-$PATCHVERSION.bz2" > #cp /home/phill/download/patch-$PATCHVERSION.bz2 /home/phill/linux-$VER= SION > echo "Copy uml-$PATCHVERSION.bz2" > cp /home/phill/download/$UML.bz2 /home/phill/linux-$VERSION >=20 > cd /home/phill/linux-$VERSION > echo "Unzip $UML into /home/phill/linux-$VERSION" > bunzip2 $UML.bz2 >=20 > patch -p1 < $UML >=20 > make mrproper ARCH=3Dum > make menuconfig ARCH=3Dum > make linux ARCH=3Dum SUBARCH=3Di386 >=20 > I just exit and save the menuconfig. >=20 > This is what I get if I compile with SUBARCH=3Di386. >=20 > # > # using defaults found in arch/um/defconfig > # >=20 >=20 > *** End of Linux kernel configuration. > *** Execute 'make' to build the kernel or try 'make help'. >=20 > CHK include/linux/version.h > UPD include/linux/version.h > SYMLINK include/asm -> include/asm-um > SPLIT include/linux/autoconf.h -> include/config/* > HOSTCC scripts/basic/fixdep > In file included from /usr/include/features.h:337, > from /usr/include/sys/types.h:27, > from scripts/basic/fixdep.c:105: > /usr/include/gnu/stubs.h:7:27: error: gnu/stubs-32.h: No such file or > directory > scripts/basic/fixdep.c: In function =E2=80=98parse_config_file=E2=80=99= : > scripts/basic/fixdep.c:245: warning: pointer targets in passing argumen= t > 1 of =E2=80=98use_config=E2=80=99 differ in signedness > scripts/basic/fixdep.c: In function =E2=80=98parse_dep_file=E2=80=99: > scripts/basic/fixdep.c:299: warning: pointer targets in passing argumen= t > 1 of =E2=80=98__builtin_strchr=E2=80=99 differ in signedness > scripts/basic/fixdep.c:299: warning: pointer targets in assignment > differ in signedness > make[1]: *** [scripts/basic/fixdep] Error 1 > make: *** [scripts_basic] Error 2 >=20 > Essentially, this is what I get if I add SUBARCH=3Di386 at any of the > earlier stages (make menuconfig ARCH=3Dum SUBARCH=3Di386...) >=20 > It seems pretty clear from your post that I have to have a clean compil= e > with SUBARCH=3Di386. >=20 > If I just take the working UML kernel from the 32 bit machine and just > run it, should it work? It seems to start the init process and just > hangs there. Seems to indicate that the 32 bit kernel can tell the CPU > is different and does different things. >=20 > Cheers and thanks for the help > Phill. >=20 > On Mon, 2005-07-18 at 20:33 +0200, Blaisorblade wrote: > > On Monday 18 July 2005 13:45, Phill Wombat wrote: > > > Further to the previous post, > >=20 > > > I noticed, after posting, that the SKAS3 patch is not recognized by= the > > > kernel compiled on the x336. > > For 64-bit host kernels, SKAS is still a work in progress. With that = patch I'm=20 > > able to run some simple test programs, but not UML itself, so you sho= uld for=20 > > now pass mode=3Dtt on the command line. > >=20 > > Where SKAS mode isn't recognised the SKAS patch is already implied. > >=20 > > > However, here are a couple of lines from the linux kernels from RH7= 3 and > > > FC4/32 booting up (both of which recognize SKAS3 on FC4-x86_64). I = just > > > copied the binaries over and ran them: > >=20 > > > > I've compiled up a kernel using FC4 x86_64 patched with > > > > skas-2.6.12-rc4-v9-pre4 after jigging the FC4 rpm spec file. > > > > > > > > I think it should be OK because I can run an FC4 UML (with a few > > > > things *fixed* in the rootfs) > > How did you do that? There was a thread about that but I didn't see a= ny "ACK,=20 > > it works" (there was a suggestion about avoiding nash being called). > >=20 > > > > on the 32 bit version of the FC4. (NPTL=20 > > > > can be worked around for the moment in FC4). > >=20 > > > > While I can get the UML booting and working on 32 bit, the 64 bit > > > > machine produces: > >=20 > > > > VFS: Mounted root (ext3 filesystem) readonly. > > > > request_module: runaway loop modprobe binfmt-464c > >=20 > > This is interesting and clear, however I've resumed this below: > >=20 > > http://lists.debian.org/debian-amd64/2004/01/msg00132.html > >=20 > > However there's something I've not clear: are you trying to run a 32 = or 64-bit=20 > > UML ? I'm not referring to the filesystem, but to the UML kernel itse= lf.=20 > > I.e., do you get that with the same UML binary? > >=20 > > > > So I Google about somewhat and all I can find is some references = to > > > > ELF files not being recognized. This in turn causes the OS to mod= probe > > > > for the above mentioned module which is meant to gobble up the EL= F and > > > > load it. > >=20 > > > > More Googling produces references to AMD x86_64 Opterons not havi= ng 32 > > > > bit mode compiled in.... Anyway it's somewhat beyond my understan= ding > > > > at this stage. The IBM x336 is a Xeon with EM64T. > > It's not an hardware problem, it's not related to the processor, just= to the=20 > > kernel configuration (both host and guest). > >=20 > > Make sure CONFIG_IA32_EMULATION is enabled on the host, and that you'= re=20 > > running a 32-bit UML kernel (to compile it on x86_64 host, replace AR= CH=3Dum=20 > > with ARCH=3Dum SUBARCH=3Di386). > >=20 > > And explain what was the configuration, I'm just curious how you got = this=20 > > situation... |
From: Blaisorblade <bla...@ya...> - 2005-07-19 13:46:08
|
On Tuesday 19 July 2005 00:36, Phill Wombat wrote: > Oops sent it directly to you. Here it is via the list... > > Cheers > Phill. > > -------- Forwarded Message -------- > > > From: Phill Wombat <um...@we...> > > To: Blaisorblade <bla...@ya...> > > Subject: Re: [uml-user] x86_64 UML won't boot on IBM x336 > > Date: Tue, 19 Jul 2005 08:27:50 +1000 > > > > Hi Paolo, > > > > Firstly, allow me to compliment you on the quality of your English, I > > assume you're a native Italian speaker. Thanks a lot, but sadly it isn't so bad when it's spoken English, especially when I try to understand... I'm experiencing this right now at the KernelSummit. > > I'm sure there's a story just > > there... > > > > ====================================== > > FC4 under UML on 32 bit: > > > > Firstly, I removed (renamed) all */tls to */tls.001. i.e. cd /; find . > > -name tls* and then rename them. (possibly not required but I did it > > anyway). > > > > Secondly, do surgery to rc.sysinit. Cut out all lines that refer to > > fsck. Turns out fsck uses threads and wants NPTL working. Just cut all > > the lines out (it feels painful, but just do it). You can still fsck > > your disks from the host by using e2fsck filename (with the UML shutdown > > obviously). > > > > Thirdly, comment out: > > > > #session required pam_loginuid.so > > > > in /etc/pam.d/login. Not sure why this is so (possibly NPTL again) but > > if you don't then you cannot log in because the PAM backend can't create > > a session for you. > > > > I also fixed inittab commenting out all terminals and only leaving tty0 > > so the console comes out the session you started the UML from. I use > > this in conjunction with the screen program to provide root console > > access for maintenance. > > > > That's where I am right now. I have really run anything with it yet, but > > so far so good. > > ==================================== > > > > The kernel on x86_64: > > > > I think you've put your finger on it. I am pretty certain now that I'm > > trying to run an x86_64 kernel against a 32 bit rootfs. I did not use > > the SUBARCH=i386. I tried it but it wouldn't compile, so I sort of hoped > > it would just be a 32 bit kernel hosted on x86_64 :( > > It seems pretty clear from your post that I have to have a clean compile > > with SUBARCH=i386. Ok, now everything is clear... that message didn't make sense a lot of sense in a situation other than this, which I supposed you weren't using. UML/64 will support in some future moment 32-bit fs but it doesn't right now. About compilation, that command should work starting from 2.6.12-bs3 (but for other issues go directly to -bs7), but before you should clean the tree with mrproper (after saving the .config). Also, it may work or not depending on the host distro, and on whether compatibility headers are installed... > > If I just take the working UML kernel from the 32 bit machine and just > > run it, should it work? It seems to start the init process and just > > hangs there. Seems to indicate that the 32 bit kernel can tell the CPU > > is different and does different things. Yes, it should work. -- Inform me of my mistakes, so I can keep imitating Homer Simpson's "Doh!". Paolo Giarrusso, aka Blaisorblade (Skype ID "PaoloGiarrusso", ICQ 215621894) http://www.user-mode-linux.org/~blaisorblade |
From: Phill W. <um...@we...> - 2005-07-19 23:48:23
|
Hi Paolo, This is where I am, and probably reflects the current state of play with UML, is this how it should be as you understand things right now?: ==================================================================== 1) 32 bit SMP dual machine. SKAS mode ../linux-2.6.12/linux mem=160M ubda=root_fs.2005062201 ubdb=swap root=/dev/ubda con=pty con0=fd:0,fd:1 Fedora Core release 4 (Stentz) Kernel 2.6.12-bs7 on an i686 Unauthorized access to this system is strictly prohibited. uml-test login: root Password: Last login: Tue Jul 19 18:34:10 on tty0 [root@uml-test ~]# shutdown -h now Broadcast message from root (tty0) (Tue Jul 19 19:11:58 2005): The system is going down for system halt NOW! INIT: Switching to runlevel: 0 INIT: Sending processes the TERM signal Stopping HAL daemon: [ OK ] Stopping system message bus: [ OK ] Stopping atd: [ OK ] Stopping sshd: [ OK ] Shutting down sendmail: [ OK ] Shutting down sm-client: [ OK ] Stopping crond: [ OK ] Stopping automount:[ OK ] Stopping auditd: [FAILED] Shutting down kernel logger: [ OK ] Shutting down system logger: [ OK ] line_ioctl: tty0: ioctl TIOCLINUX called Shutting down loopback interface: line_ioctl: tty0: ioctl TIOCLINUX called line_ioctl: tty0: ioctl TIOCLINUX called [ OK ] line_ioctl: tty0: ioctl TIOCLINUX called Starting killall: [ OK ] line_ioctl: tty0: ioctl TIOCLINUX called Sending all processes the TERM signal... Sending all processes the KILL signal... Saving random seed: Syncing hardware clock to system time Turning off swap: Turning off quotas: Halting system... Power down. [phill@phill uml]$ ==================================================================== 2) 32 bit SMP dual machine. TT mode Checking PROT_EXEC mmap in /tmp...OK Adding 19587072 bytes to physical memory to account for exec-shield gap tracing thread pid = 12544 Linux version 2.6.12-bs7 (phill@phill) (gcc version 4.0.0 20050519 (Red Hat 4.0.0-8)) #2 Mon Jul 18 15:46:37 EST 2005 Built 1 zonelists Kernel command line: mem=160M mode=tt ubda=root_fs.2005062201 ubdb=swap root=/dev/ubda con=pty con0=fd:0,fd:1 PID hash table entries: 1024 (order: 10, 16384 bytes) Dentry cache hash table entries: 32768 (order: 5, 131072 bytes) Inode-cache hash table entries: 16384 (order: 4, 65536 bytes) Memory: 157568k available Mount-cache hash table entries: 512 Checking for host processor cmov support...Yes Checking for host processor xmm support...No 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 that host ptys support output SIGIO...Yes Checking that host ptys support SIGIO on close...No, enabling workaround Checking for /dev/anon on the host...Not available (open failed with errno 2) NET: Registered protocol family 16 mconsole (version 2) initialized on /home/phill/.uml/s1utEV/mconsole ubd: Synchronous mode VFS: Disk quotas dquot_6.5.1 Dquot-cache hash table entries: 1024 (order 0, 4096 bytes) io scheduler noop registered io scheduler anticipatory registered io scheduler deadline registered io scheduler cfq registered NET: Registered protocol family 2 IP: routing cache hash table of 1024 buckets, 8Kbytes TCP established hash table entries: 8192 (order: 4, 65536 bytes) TCP bind hash table entries: 8192 (order: 3, 32768 bytes) TCP: Hash tables configured (established 8192 bind 8192) NET: Registered protocol family 1 NET: Registered protocol family 17 Initialized stdio console driver Console initialized on /dev/tty0 Initializing software serial port version 1 ubda: unknown partition table ubdb: unknown partition table kjournald starting. Commit interval 5 seconds EXT3-fs: mounted filesystem with ordered data mode. VFS: Mounted root (ext3 filesystem) readonly. line_ioctl: tty0: ioctl KDSIGACCEPT called INIT: version 2.85 booting Hangs here in init. ==================================================================== 3) 32 bit UML on 64 bit IBM x336. SKAS mode. NOT YET SUPPORTED if I understand correctly. Host kernel is patched with same SKAS3 version as 32 bit host. It seems to almost work, getting hung at init again, however there is not a huge list of threads running on the host as in case 2). ==================================================================== 4) 32 bit UML on 64 bit IBM x336. TT mode. Identical to case 2) ==================================================================== 5) 64 bit UML on 64 bit IBM x336. SKAS mode. NOT TESTED ==================================================================== 6) 64 bit UML on 64 bit IBM x336. TT mode. NOT TESTED |
From: Blaisorblade <bla...@ya...> - 2005-07-21 23:00:00
|
On Wednesday 20 July 2005 01:48, Phill Wombat wrote: > Hi Paolo, > This is where I am, and probably reflects the current state of play with > UML, is this how it should be as you understand things right now?: No, case 2 and 4 are unexpected failures, the rest is as expected. Fix case 2 and you'll probably get #4 fixed. > 1) 32 bit SMP dual machine. SKAS mode Ok, it works... > ==================================================================== > 2) 32 bit SMP dual machine. TT mode > > Adding 19587072 bytes to physical memory to account for exec-shield gap This is interesting - have you tried if disabling exec-shield on the host (can be done via /proc/sys/<something>) makes any difference? There was a problem some time ago about this, it should be fixed but I'm not that sure. > INIT: version 2.85 booting > Hangs here in init. You have not compiled SMP mode in, I hope? That's not very used at the moment so it could have problems... > ==================================================================== > 4) 32 bit UML on 64 bit IBM x336. TT mode. > Identical to case 2) For both cases: have you tried running a different filesystem? I.e. not FC4? I've just seen you worked around the NPTL issue, but still something may be wrong. > ==================================================================== > 3) 32 bit UML on 64 bit IBM x336. SKAS mode. NOT YET SUPPORTED if I > understand correctly. Exactly... > ==================================================================== > 5) 64 bit UML on 64 bit IBM x336. SKAS mode. NOT TESTED Not supported. > ==================================================================== > 6) 64 bit UML on 64 bit IBM x336. TT mode. NOT TESTED Should work (after solving the issue of case 2), which probably happens there as well) but you'll need a pure 64-bits root_fs, because UML doesn't yet support 32-bit emulation for guest binaries. -- Inform me of my mistakes, so I can keep imitating Homer Simpson's "Doh!". Paolo Giarrusso, aka Blaisorblade (Skype ID "PaoloGiarrusso", ICQ 215621894) http://www.user-mode-linux.org/~blaisorblade |
From: Phill W. <um...@we...> - 2005-07-22 03:54:38
|
Hi Paolo, Thanks for the reply. I've disabled exec-shield and it's made no difference. (sysctl -w kernel.exec-shield=0). I am able to run my RH73 UMLs in TT mode OK on the x86-64 machine. (This may be of no interest though... different kernel etc. etc.): Red Hat Linux release 7.3 (Valhalla) Kernel 2.4.24-1um on an x86_64 vm0 login: When run in SKAS mode I get: Kernel panic: kernel BUG at memory.c:377! which is expected at this stage of proceedings. I see in the dev mail list that Alessio describes, what appears to be, an identical situation with debian when he uses 2.6.12 + bs7. Namely he can also run sh, bash, ksh builtins, however anytime the system attempts to spawn another task it all hangs up. SMP is off. Here are the first few lines of the .config used on the x86_64 machine which compiled the 32 bit kernel. # # Automatically generated make config: don't edit # Linux kernel version: 2.6.12-bs7 # Wed Jul 20 17:08:16 2005 # CONFIG_GENERIC_HARDIRQS=y CONFIG_UML=y CONFIG_MMU=y CONFIG_UID16=y CONFIG_RWSEM_GENERIC_SPINLOCK=y CONFIG_GENERIC_CALIBRATE_DELAY=y # # UML-specific options # CONFIG_MODE_TT=y CONFIG_MODE_SKAS=y CONFIG_UML_X86=y # CONFIG_64BIT is not set CONFIG_TOP_ADDR=0xc0000000 # CONFIG_3_LEVEL_PGTABLES is not set CONFIG_ARCH_HAS_SC_SIGNALS=y CONFIG_ARCH_REUSE_HOST_VSYSCALL_AREA=y CONFIG_LD_SCRIPT_STATIC=y # CONFIG_NET is not set CONFIG_BINFMT_ELF=y # CONFIG_BINFMT_MISC is not set # CONFIG_HOSTFS is not set # CONFIG_HPPFS is not set # CONFIG_MCONSOLE is not set # CONFIG_HOST_2G_2G is not set # CONFIG_SMP is not set CONFIG_NEST_LEVEL=0 CONFIG_KERNEL_HALF_GIGS=1 # CONFIG_HIGHMEM is not set CONFIG_KERNEL_STACK_ORDER=2 # CONFIG_UML_REAL_TIME_CLOCK is not set # # Code maturity level options # CONFIG_EXPERIMENTAL=y CONFIG_CLEAN_COMPILE=y CONFIG_BROKEN_ON_SMP=y CONFIG_INIT_ENV_ARG_LIMIT=32 # # General setup # CONFIG_LOCALVERSION="" Regards Phill. ----- Original Message ----- From: "Blaisorblade" <bla...@ya...> To: <use...@li...> Cc: "Phill Wombat" <um...@we...> Sent: Friday, July 22, 2005 9:07 AM Subject: Re: [Fwd: Re: [uml-user] x86_64 UML won't boot on IBM x336] > On Wednesday 20 July 2005 01:48, Phill Wombat wrote: > > Hi Paolo, > > > This is where I am, and probably reflects the current state of play with > > UML, is this how it should be as you understand things right now?: > No, case 2 and 4 are unexpected failures, the rest is as expected. Fix case 2 > and you'll probably get #4 fixed. > > > 1) 32 bit SMP dual machine. SKAS mode > Ok, it works... > > > ==================================================================== > > 2) 32 bit SMP dual machine. TT mode > > > > > Adding 19587072 bytes to physical memory to account for exec-shield gap > This is interesting - have you tried if disabling exec-shield on the host (can > be done via /proc/sys/<something>) makes any difference? There was a problem > some time ago about this, it should be fixed but I'm not that sure. > > > INIT: version 2.85 booting > > > Hangs here in init. > You have not compiled SMP mode in, I hope? That's not very used at the moment > so it could have problems... > > ==================================================================== > > 4) 32 bit UML on 64 bit IBM x336. TT mode. > > > Identical to case 2) > For both cases: have you tried running a different filesystem? I.e. not FC4? > I've just seen you worked around the NPTL issue, but still something may be > wrong. > > > ==================================================================== > > 3) 32 bit UML on 64 bit IBM x336. SKAS mode. NOT YET SUPPORTED if I > > understand correctly. > Exactly... > > > ==================================================================== > > 5) 64 bit UML on 64 bit IBM x336. SKAS mode. NOT TESTED > Not supported. > > ==================================================================== > > 6) 64 bit UML on 64 bit IBM x336. TT mode. NOT TESTED > Should work (after solving the issue of case 2), which probably happens there > as well) but you'll need a pure 64-bits root_fs, because UML doesn't yet > support 32-bit emulation for guest binaries. > -- > Inform me of my mistakes, so I can keep imitating Homer Simpson's "Doh!". > Paolo Giarrusso, aka Blaisorblade (Skype ID "PaoloGiarrusso", ICQ 215621894) > http://www.user-mode-linux.org/~blaisorblade > |
From: Blaisorblade <bla...@ya...> - 2005-07-22 18:15:11
|
On Friday 22 July 2005 05:54, Phill Wombat wrote: > Hi Paolo, > > Thanks for the reply. > > I've disabled exec-shield and it's made no difference. (sysctl -w > kernel.exec-shield=0). Try also following this (from another email) - it appeared in vanilla 2.6.12 and may be in your FC4 kernel. Not sure but it may be playing a role here: "It looks like VA space randomization is the culprit. The problem only shows up when the host is 2.6.12, and can be solved by setting the kernel.randomize_va_space sysctl to zero. Thanks for the pointer there." > I am able to run my RH73 UMLs in TT mode OK on the x86-64 machine. (This > may be of no interest though... different kernel etc. etc.): > Red Hat Linux release 7.3 (Valhalla) > Kernel 2.4.24-1um on an x86_64 > > vm0 login: > When run in SKAS mode I get: > Kernel panic: kernel BUG at memory.c:377! > I see in the dev mail list that Alessio describes, what appears to be, an > identical situation with debian when he uses 2.6.12 + bs7. Namely he can > also run sh, bash, ksh builtins, however anytime the system attempts to > spawn another task it all hangs up. > SMP is off. Here are the first few lines of the .config used on the x86_64 > machine which compiled the 32 bit kernel. > > # > # Automatically generated make config: don't edit > # Linux kernel version: 2.6.12-bs7 > # Wed Jul 20 17:08:16 2005 > # > CONFIG_GENERIC_HARDIRQS=y > CONFIG_UML=y > CONFIG_MMU=y > CONFIG_UID16=y > CONFIG_RWSEM_GENERIC_SPINLOCK=y > CONFIG_GENERIC_CALIBRATE_DELAY=y > > # > # UML-specific options > # > CONFIG_MODE_TT=y > CONFIG_MODE_SKAS=y > CONFIG_UML_X86=y > # CONFIG_64BIT is not set > CONFIG_TOP_ADDR=0xc0000000 > # CONFIG_3_LEVEL_PGTABLES is not set > CONFIG_ARCH_HAS_SC_SIGNALS=y > CONFIG_ARCH_REUSE_HOST_VSYSCALL_AREA=y > CONFIG_LD_SCRIPT_STATIC=y > # CONFIG_NET is not set > CONFIG_BINFMT_ELF=y > # CONFIG_BINFMT_MISC is not set > # CONFIG_HOSTFS is not set > # CONFIG_HPPFS is not set > # CONFIG_MCONSOLE is not set > # CONFIG_HOST_2G_2G is not set > # CONFIG_SMP is not set > CONFIG_NEST_LEVEL=0 > CONFIG_KERNEL_HALF_GIGS=1 > # CONFIG_HIGHMEM is not set > CONFIG_KERNEL_STACK_ORDER=2 > # CONFIG_UML_REAL_TIME_CLOCK is not set > > # > # Code maturity level options > # > CONFIG_EXPERIMENTAL=y > CONFIG_CLEAN_COMPILE=y > CONFIG_BROKEN_ON_SMP=y > CONFIG_INIT_ENV_ARG_LIMIT=32 > > # > # General setup > # > CONFIG_LOCALVERSION="" > > Regards > Phill. > > ----- Original Message ----- > From: "Blaisorblade" <bla...@ya...> > To: <use...@li...> > Cc: "Phill Wombat" <um...@we...> > Sent: Friday, July 22, 2005 9:07 AM > Subject: Re: [Fwd: Re: [uml-user] x86_64 UML won't boot on IBM x336] > > > On Wednesday 20 July 2005 01:48, Phill Wombat wrote: > > > Hi Paolo, > > > > > > This is where I am, and probably reflects the current state of play > > > with UML, is this how it should be as you understand things right now?: > > > > No, case 2 and 4 are unexpected failures, the rest is as expected. Fix > > case 2 > > > and you'll probably get #4 fixed. > > > > > 1) 32 bit SMP dual machine. SKAS mode > > > > Ok, it works... > > > > > ==================================================================== > > > 2) 32 bit SMP dual machine. TT mode > > > > > > > > > Adding 19587072 bytes to physical memory to account for exec-shield gap > > > > This is interesting - have you tried if disabling exec-shield on the host > > (can > > > be done via /proc/sys/<something>) makes any difference? There was a > > problem > > > some time ago about this, it should be fixed but I'm not that sure. > > > > > INIT: version 2.85 booting > > > > > > Hangs here in init. > > > > You have not compiled SMP mode in, I hope? That's not very used at the > > moment > > > so it could have problems... > > > > > ==================================================================== > > > 4) 32 bit UML on 64 bit IBM x336. TT mode. > > > > > > Identical to case 2) > > > > For both cases: have you tried running a different filesystem? I.e. not > > FC4? > > > I've just seen you worked around the NPTL issue, but still something may > > be > > > wrong. > > > > > ==================================================================== > > > 3) 32 bit UML on 64 bit IBM x336. SKAS mode. NOT YET SUPPORTED if I > > > understand correctly. > > > > Exactly... > > > > > ==================================================================== > > > 5) 64 bit UML on 64 bit IBM x336. SKAS mode. NOT TESTED > > > > Not supported. > > > > > ==================================================================== > > > 6) 64 bit UML on 64 bit IBM x336. TT mode. NOT TESTED > > > > Should work (after solving the issue of case 2), which probably happens > > there > > > as well) but you'll need a pure 64-bits root_fs, because UML doesn't yet > > support 32-bit emulation for guest binaries. > > -- > > Inform me of my mistakes, so I can keep imitating Homer Simpson's "Doh!". > > Paolo Giarrusso, aka Blaisorblade (Skype ID "PaoloGiarrusso", ICQ > > 215621894) > > > http://www.user-mode-linux.org/~blaisorblade > > ------------------------------------------------------- > SF.Net email is sponsored by: Discover Easy Linux Migration Strategies > from IBM. Find simple to follow Roadmaps, straightforward articles, > informative Webcasts and more! Get everything you need to get up to > speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click > _______________________________________________ > User-mode-linux-user mailing list > Use...@li... > https://lists.sourceforge.net/lists/listinfo/user-mode-linux-user -- Inform me of my mistakes, so I can keep imitating Homer Simpson's "Doh!". Paolo Giarrusso, aka Blaisorblade (Skype ID "PaoloGiarrusso", ICQ 215621894) http://www.user-mode-linux.org/~blaisorblade |
From: Phill W. <um...@we...> - 2005-07-24 07:33:20
|
Hi Paolo, >Try also following this (from another email) - it appeared in vanilla >2.6.12 >and may be in your FC4 kernel. Not sure but it may be playing a role >here: > >"It looks like VA space randomization is the culprit. The problem only >shows up when the host is 2.6.12, and can be solved by setting the >kernel.randomize_va_space sysctl to zero. Thanks for the pointer >there." Here are the results with sysctl -w kernel.randomize_va_space=0. Essentially no effect observed. x86_64 box: [root@localhost shared]# ./run_uml.sh Checking PROT_EXEC mmap in /tmp...OK tracing thread pid = 22885 Linux version 2.6.12-bs7 (root@localhost.localdomain) (gcc version 4.0.0 20050519 (Red Hat 4.0.0-8)) #1 Wed Jul 20 17:09:50 EST 2005 Built 1 zonelists Kernel command line: mem=160m init=/bin/sh mode=tt ubda=root_fs.fc4 ubdb=swap root=/dev/ubda con=pty con0=fd:0,fd:1 PID hash table entries: 1024 (order: 10, 16384 bytes) Dentry cache hash table entries: 32768 (order: 5, 131072 bytes) Inode-cache hash table entries: 16384 (order: 4, 65536 bytes) Memory: 158464k available Mount-cache hash table entries: 512 Checking for host processor cmov support...Yes Checking for host processor xmm support...No Checking that ptrace can change system call numbers...OK Checking syscall emulation patch for ptrace...missing Checking that host ptys support output SIGIO...Yes Checking that host ptys support SIGIO on close...No, enabling workaround Checking for /dev/anon on the host...Not available (open failed with errno 2) Linux NoNET1.0 for Linux 2.6 ubd: Synchronous mode UML Audio Relay (host dsp = /dev/sound/dsp, host mixer = /dev/sound/mixer) io scheduler noop registered io scheduler anticipatory registered io scheduler deadline registered io scheduler cfq registered loop: loaded (max 8 devices) Initialized stdio console driver Console initialized on /dev/tty0 Initializing software serial port version 1 ubda: unknown partition table ubdb: unknown partition table kjournald starting. Commit interval 5 seconds EXT3-fs: mounted filesystem with ordered data mode. VFS: Mounted root (ext3 filesystem) readonly. sh-3.00# ls Child 22915 exited with signal 11 Dell twin 686 box: [phill@phill uml]$ ./run_uml.sh Checking PROT_EXEC mmap in /tmp...OK Adding 4435968 bytes to physical memory to account for exec-shield gap tracing thread pid = 1855 Linux version 2.6.12-bs7 (root@phill) (gcc version 4.0.0 20050519 (Red Hat 4.0.0-8)) #1 Wed Jul 20 17:18:39 EST 2005 Built 1 zonelists Kernel command line: mode=tt init=/bin/sh mem=160M ubda=root_fs.2005062201 ubdb=swap root=/dev/ubda con=pty con0=fd:0,fd:1 PID hash table entries: 1024 (order: 10, 16384 bytes) Dentry cache hash table entries: 32768 (order: 5, 131072 bytes) Inode-cache hash table entries: 16384 (order: 4, 65536 bytes) Memory: 158208k available Mount-cache hash table entries: 512 Checking for host processor cmov support...Yes Checking for host processor xmm support...No 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 that host ptys support output SIGIO...Yes Checking that host ptys support SIGIO on close...No, enabling workaround Checking for /dev/anon on the host...Not available (open failed with errno 2) Linux NoNET1.0 for Linux 2.6 ubd: Synchronous mode UML Audio Relay (host dsp = /dev/sound/dsp, host mixer = /dev/sound/mixer) VFS: Disk quotas dquot_6.5.1 Dquot-cache hash table entries: 1024 (order 0, 4096 bytes) io scheduler noop registered io scheduler anticipatory registered io scheduler deadline registered io scheduler cfq registered loop: loaded (max 8 devices) Initialized stdio console driver Console initialized on /dev/tty0 Initializing software serial port version 1 ubda: unknown partition table ubdb: unknown partition table kjournald starting. Commit interval 5 seconds EXT3-fs: mounted filesystem with ordered data mode. VFS: Mounted root (ext3 filesystem) readonly. sh-3.00# ls Child 1885 exited with signal 11 and Dell box with SKAS mode: [phill@phill uml]$ ./run_uml.sh Checking for /proc/mm...found Checking for the skas3 patch in the host...found Checking PROT_EXEC mmap in /tmp...OK Adding 16461824 bytes to physical memory to account for exec-shield gap Linux version 2.6.12-bs7 (root@phill) (gcc version 4.0.0 20050519 (Red Hat 4.0.0-8)) #1 Wed Jul 20 17:18:39 EST 2005 Built 1 zonelists Kernel command line: init=/bin/sh mem=160M ubda=root_fs.2005062201 ubdb=swap root=/dev/ubda con=pty con0=fd:0,fd:1 PID hash table entries: 1024 (order: 10, 16384 bytes) Dentry cache hash table entries: 32768 (order: 5, 131072 bytes) Inode-cache hash table entries: 16384 (order: 4, 65536 bytes) Memory: 158080k available Mount-cache hash table entries: 512 Checking for host processor cmov support...Yes Checking for host processor xmm support...No 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 that host ptys support output SIGIO...Yes Checking that host ptys support SIGIO on close...No, enabling workaround Checking for /dev/anon on the host...Not available (open failed with errno 2) Linux NoNET1.0 for Linux 2.6 ubd: Synchronous mode UML Audio Relay (host dsp = /dev/sound/dsp, host mixer = /dev/sound/mixer) VFS: Disk quotas dquot_6.5.1 Dquot-cache hash table entries: 1024 (order 0, 4096 bytes) io scheduler noop registered io scheduler anticipatory registered io scheduler deadline registered io scheduler cfq registered loop: loaded (max 8 devices) Initialized stdio console driver Console initialized on /dev/tty0 Initializing software serial port version 1 ubda: unknown partition table ubdb: unknown partition table kjournald starting. Commit interval 5 seconds EXT3-fs: mounted filesystem with ordered data mode. VFS: Mounted root (ext3 filesystem) readonly. sh-3.00# ls bin boot dev etc home lib lost+found media misc mnt net opt proc root sbin selinux srv sys tmp usr var sh-3.00# |
From: Phill W. <um...@we...> - 2005-08-07 11:46:41
|
I've added a howto for FC4 x86_64 host with FC4/i386 UMLs at UMLWiki: http://uml.harlowhill.com/index.php/UMLArticles Cheers Phill. |
From: Phill W. <um...@we...> - 2005-08-08 13:16:57
|
Hi List, Everyone is going to have this: yum install httpd yum proceeds to download the entire FC4/x86_64 distro! even though the UML is i386. Essentially the issue is related to: uname -a which is executed by /usr/lib/python2.4/site-packages/yum/archwork.py Python gets: Linux uml-test.localdomain 2.6.12-bb10-skas0 #1 Sun Aug 7 00:11:09 EST 2005 x86_64 x86_64 x86_64 GNU/Linux All the x86_64 strings make python think the architecture is x86_64. I'm guessing this really needs to be the subject of a patch to give it the real/true/virtual? architecture of the UML. You know what I mean.... I'm still trying to hack away at this one. Anyone know how to mangle yum (python)? I've spotted the lines that need changing, but changing them doesn't do anything???. I know nothing of python. BTW the UML is an i386 machine but the host is x86_64 (did I already mention that?). Cheers Phill. |
From: Phill W. <um...@we...> - 2005-08-08 14:03:51
|
Answering my own question again, but I'm sure it'll help someone. You need to hack: /usr/lib/python2.4/site-packages/rpmUtils/arch.py Look for "uname" add immediately after: return "i686" You have to indent correctly or python spits the dummy. (Quite nice actually, makes for visually pleasing code). RPM and YUM now fully operational as is Apache 2.0. (see umlwiki for RPM NPTLess hack(s)) Seems like RH have hacked at YUM and removed the YUM arch detector in preference for the RPM detector. Might be someone else too. Python never rebuilds the YUM version (meaning it's never called - but it's still there). Cheers Phill. On Mon, 2005-08-08 at 23:16 +1000, Phill Wombat wrote: > Hi List, > > Everyone is going to have this: > > yum install httpd > > yum proceeds to download the entire FC4/x86_64 distro! even though the > UML is i386. > > Essentially the issue is related to: > > uname -a > > which is executed by /usr/lib/python2.4/site-packages/yum/archwork.py > > Python gets: > > Linux uml-test.localdomain 2.6.12-bb10-skas0 #1 Sun Aug 7 00:11:09 EST > 2005 x86_64 x86_64 x86_64 GNU/Linux > > All the x86_64 strings make python think the architecture is x86_64. > > I'm guessing this really needs to be the subject of a patch to give it > the real/true/virtual? architecture of the UML. You know what I mean.... > > I'm still trying to hack away at this one. Anyone know how to mangle yum > (python)? I've spotted the lines that need changing, but changing them > doesn't do anything???. I know nothing of python. > > BTW the UML is an i386 machine but the host is x86_64 (did I already > mention that?). > > Cheers > Phill. > > > > > > ------------------------------------------------------- > SF.Net email is Sponsored by the Better Software Conference & EXPO > September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices > Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA > Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf > _______________________________________________ > User-mode-linux-user mailing list > Use...@li... > https://lists.sourceforge.net/lists/listinfo/user-mode-linux-user |
From: Blaisorblade <bla...@ya...> - 2005-08-12 15:50:09
Attachments:
uml-fix-uname.patch
|
On Monday 08 August 2005 15:16, Phill Wombat wrote: > Hi List, > > Everyone is going to have this: > yum proceeds to download the entire FC4/x86_64 distro! even though the > UML is i386. > uname -a > Linux uml-test.localdomain 2.6.12-bb10-skas0 #1 Sun Aug 7 00:11:09 EST > 2005 x86_64 x86_64 x86_64 GNU/Linux > All the x86_64 strings make python think the architecture is x86_64. > I'm guessing this really needs to be the subject of a patch to give it > the real/true/virtual? architecture of the UML. You know what I mean.... > BTW the UML is an i386 machine but the host is x86_64 (did I already > mention that?). Yeah, thanks for informing us. That can be also fixed by prefixing the UML command with "setarch", "linux32" or "ia32" "i386" commands (I don't remember which one, but there is a command such that you run: i386 uname -m and the "i386" command fakes uname into thinking that it's running on a 32 bit system; IIRC on Fedora the command is setarch and i386 is an alias). However, the attached patch should fix things, anyway. At least it compiles. Bye -- Inform me of my mistakes, so I can keep imitating Homer Simpson's "Doh!". Paolo Giarrusso, aka Blaisorblade (Skype ID "PaoloGiarrusso", ICQ 215621894) http://www.user-mode-linux.org/~blaisorblade |