From: <fma...@fl...> - 2005-10-19 14:42:11
|
Buenas, I need a RH9 root running in UML with the usb-hdc patch on it. I've learned that the last uml-kernel that supports the usb is the 2.4.19. Isn't it? And aparently I can't use a kernel prior to 2.4.2x on a 2.6.x host. I f..ed up, am I? So the problem arise and this is what I did try ... I'm trying to compile a 2.4.19 uml guest for it to run on a 2.6.12-1.1376_FC3smp. And ofcourse I can't make it work. First I blaim the compiler-libc combination so I've tried a few different ones with no success. gcc-3.3.4-glibc-2.3.5 gcc-2.95.3-glibc-2.1.3 Both of them (gcc-3.3.4 whit litle modifications on the kernel) ends up with an elf that sigfaults instantly. # gdb ./linux GNU gdb Red Hat Linux (6.1post-1.20040607.43rh) Copyright 2004 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "i386-redhat-linux-gnu"...Using host libthread_db library "/lib/tls/libthread_db.so.1". (gdb) r Starting program: /root/uml/kernel/linux/linux Reading symbols from shared object read from target memory...done. Loaded system supplied DSO at 0x585000 Program received signal SIGSEGV, Segmentation fault. 0xa01732cc in __libc_setup_tls () at pgtable.h:266 266 { (gdb) where #0 0xa01732cc in __libc_setup_tls () at pgtable.h:266 #1 0xa0173593 in __pthread_initialize_minimal () at pgtable.h:266 #2 0xa0172fc6 in __libc_start_main () at pgtable.h:266 #3 0xa000c021 in _start () at unistd.h:86 (gdb) I've tried different configurations with and whitout skas/tt/2G2G. I would apreciate if someone point me some direction. regards, Felipe |
From: Vincent g. <gu...@in...> - 2005-10-19 15:22:22
|
[...] > And aparently I can't use a kernel prior to 2.4.2x on a 2.6.x host. I > f..ed up, am I? > If you want to run a not so recent 2.4 guest on a 2.6 host you have to apply a very small patch. The patch is as follows, it does not apply properly, but it is easy enough to apply by hand --- 1.5/arch/um/os-Linux/process.c Sat Jan 18 12:29:27 2003 +++ 1.6/arch/um/os-Linux/process.c Thu Oct 2 14:27:57 2003 @@ -7,6 +7,7 @@ #include <stdio.h> #include <errno.h> #include <signal.h> + #include <linux/unistd.h> #include <sys/mman.h> #include <sys/wait.h> #include "os.h" @@ -87,7 +88,8 @@ void os_usr1_process(int pid) { - kill(pid, SIGUSR1); + syscall(__NR_tkill, pid, SIGUSR1); +/* tkill(pid, SIGUSR1);*/ } int os_getpid(void) |
From: Felipe A. M. <fma...@fl...> - 2005-10-19 16:01:36
|
I think I didn't even get to that problem yet. I put it in anyway without any success.. I don't know if this info is usefull but the binary 2.4.19 uml release I've found don't work either on my 2.6.x host .- Thnks a lot! F On Wed, 19 Oct 2005 17:10:51 +0200 Vincent guffens <gu...@in...> wrote: > > + #include <linux/unistd.h> > #include <sys/mman.h> > #include <sys/wait.h> |
From: Felipe A. M. <fma...@fl...> - 2005-10-24 20:18:42
|
I've advanced a little more in running 2.4.19 on 2.6.x... Aparently the exec-shield and randomize_va_space that comes plugged on fedo= ra weren't helping. With exec-shield and randomize_va_space ... [root@app0 test]# ./linux ubd0=3Dcow1,root_rh9.ext3 Checking for the skas3 patch in the host...not found Checking for /proc/mm...not found Violaci=F3n de segmento Without exec-shield and randomize_va_space ... [root@app0 test]# echo 0 >>exec-shield [root@app0 test]# echo 0 >>randomize_va_space [root@app0 test]# ./linux ubd0=3Dcow1,root_rh9.ext3 Checking for the skas3 patch in the host...not found Checking for /proc/mm...not found tracing thread pid =3D 12229 Linux version 2.4.19-51um (ro...@ap...) (gcc versi=F3n 3.3.4 200= 40817 (Red Hat Linux 3.3.4-2)) #10 mi=E9 oct 19 14:49:53 ART 2005 On node 0 totalpages: 8192 zone(0): 8192 pages. zone(1): 0 pages. zone(2): 0 pages. Kernel command line: ubd0=3Dcow1,root_rh9.ext3 root=3D/dev/ubd0 Calibrating delay loop... 3953.46 BogoMIPS Memory: 29232k available Dentry cache hash table entries: 4096 (order: 3, 32768 bytes) Inode cache hash table entries: 2048 (order: 2, 16384 bytes) Mount-cache hash table entries: 512 (order: 0, 4096 bytes) Buffer-cache hash table entries: 1024 (order: 0, 4096 bytes) Page-cache hash table entries: 8192 (order: 3, 32768 bytes) Checking for host processor cmov support...Yes Checking for host processor xmm support...No Checking that ptrace can change system call numbers...OK Checking that host ptys support output SIGIO...Yes Checking that host ptys support SIGIO on close...No, enabling workaround POSIX conformance testing by UNIFIX Linux NET4.0 for Linux 2.4 Based upon Swansea University Computer Society NET3.039 Initializing RT netlink socket Kernel panic: outer trampoline didn't exit with SIGKILL Doe! =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=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 On Wed, 19 Oct 2005 17:10:51 +0200 Vincent guffens <gu...@in...> wrote: > [...] >=20 >=20 > > And aparently I can't use a kernel prior to 2.4.2x on a 2.6.x host. I > > f..ed up, am I? > >=20 >=20 > If you want to run a not so recent 2.4 guest on a 2.6 host you have to=20 > apply a very small patch. The patch is as follows, it does not apply=20 > properly, but it is easy enough to apply by hand >=20 > --- 1.5/arch/um/os-Linux/process.c Sat Jan 18 12:29:27 2003 > +++ 1.6/arch/um/os-Linux/process.c Thu Oct 2 14:27:57 2003 > @@ -7,6 +7,7 @@ > #include <stdio.h> > #include <errno.h> > #include <signal.h> > + #include <linux/unistd.h> > #include <sys/mman.h> > #include <sys/wait.h> > #include "os.h" > @@ -87,7 +88,8 @@ >=20 > void os_usr1_process(int pid) > { > - kill(pid, SIGUSR1); > + syscall(__NR_tkill, pid, SIGUSR1); > +/* tkill(pid, SIGUSR1);*/ > } >=20 > int os_getpid(void) >=20 >=20 >=20 >=20 |
From: Felipe A. M. <fel...@gl...> - 2005-10-19 15:34:29
Attachments:
output.bz2
|
I've tried to disable the tls movin /lib/tld to /lib/tld.off. I've attached the output of the compilation and the bare test. And here .. http://www.hosting321.com.ar/~loschico/patch-2.4.19-uml-hdc-cfg.bz2 there is a patch to the vanilla kernel 2.4.19 that construct what I'm using. F On Wed, 19 Oct 2005 07:41:58 -0700 (PDT) fma...@fl... wrote: > Buenas, > > I need a RH9 root running in UML with the usb-hdc patch on it. I've > learned that the last uml-kernel that supports the usb is the 2.4.19. > Isn't it? > > And aparently I can't use a kernel prior to 2.4.2x on a 2.6.x host. I > f..ed up, am I? > > > So the problem arise and this is what I did try ... > > I'm trying to compile a 2.4.19 uml guest for it to run on a > 2.6.12-1.1376_FC3smp. > And ofcourse I can't make it work. > First I blaim the compiler-libc combination so I've tried a few different > ones with no success. > > gcc-3.3.4-glibc-2.3.5 > gcc-2.95.3-glibc-2.1.3 > > Both of them (gcc-3.3.4 whit litle modifications on the kernel) ends up > with an elf that sigfaults instantly. > > > # gdb ./linux > GNU gdb Red Hat Linux (6.1post-1.20040607.43rh) > Copyright 2004 Free Software Foundation, Inc. > GDB is free software, covered by the GNU General Public License, and you are > welcome to change it and/or distribute copies of it under certain conditions. > Type "show copying" to see the conditions. > There is absolutely no warranty for GDB. Type "show warranty" for details. > This GDB was configured as "i386-redhat-linux-gnu"...Using host > libthread_db library "/lib/tls/libthread_db.so.1". > > (gdb) r > Starting program: /root/uml/kernel/linux/linux > Reading symbols from shared object read from target memory...done. > Loaded system supplied DSO at 0x585000 > > Program received signal SIGSEGV, Segmentation fault. > 0xa01732cc in __libc_setup_tls () at pgtable.h:266 > 266 { > (gdb) where > #0 0xa01732cc in __libc_setup_tls () at pgtable.h:266 > #1 0xa0173593 in __pthread_initialize_minimal () at pgtable.h:266 > #2 0xa0172fc6 in __libc_start_main () at pgtable.h:266 > #3 0xa000c021 in _start () at unistd.h:86 > (gdb) > > > I've tried different configurations with and whitout skas/tt/2G2G. > I would apreciate if someone point me some direction. > > > regards, > Felipe > > > > > ------------------------------------------------------- > This SF.Net email is sponsored by: > Power Architecture Resource Center: Free content, downloads, discussions, > and more. http://solutions.newsforge.com/ibmarch.tmpl > _______________________________________________ > User-mode-linux-user mailing list > Use...@li... > https://lists.sourceforge.net/lists/listinfo/user-mode-linux-user > > ********************************************************************************************** IMPORTANT: The contents of this email and any attachments are confidential. They are intended for the named recipient(s) only. If you have received this email in error, please notify the system manager or the sender immediately and do not disclose the contents to anyone or make copies thereof. *** eSafe scanned this email for viruses, vandals, and malicious content. *** ********************************************************************************************** |
From: Blaisorblade <bla...@ya...> - 2005-10-19 17:19:50
|
On Wednesday 19 October 2005 18:00, Felipe Andres Manzano wrote: > I think I didn't even get to that problem yet. Yes, agreed. > I put it in anyway without=20 > any success.. > I don't know if this info is usefull but the binary 2.4.19 uml release I'= ve > found don't work either on my 2.6.x host .- =46ound in 2.4.22-2um relative to 2.4.22-1um (apply by hand, it's copy and = paste=20 from an xterm): * UML should no longer crash when linked against a libc with the new thread= s=20 stuff in it: diff -u um/arch/um/link.ld.in um/arch/um/link.ld.in =2D-- um/arch/um/link.ld.in 2003-01-17 23:11:30.000000000 -0500 +++ um/arch/um/link.ld.in 2003-09-04 12:16:37.000000000 -0400 @@ -6,7 +6,6 @@ { . =3D START() + SIZEOF_HEADERS; =2D . =3D ALIGN(4096); __binary_start =3D .; ifdef(`MODE_TT', ` .thread_private : { =46rom what I recall, this is the cause of what you're seeing. The same patch idea (i.e. what's below) must be applied to=20 arch/um/dyn_link.ld.in, if you ever want to build a dynamically linked UML. SECTIONS { . =3D START() + SIZEOF_HEADERS; .interp : { *(.interp) } =2D . =3D ALIGN(4096); __binary_start =3D .; . =3D ALIGN(4096); /* Init code and data */ Btw, for other similar issues, you should become familiar with browsing the= =20 Changelogs on the download page, and with using interdiff from patchutils. After browsing the Changelog entries, and downloading the two patches, what= I=20 did to find the change was: $ interdiff -p1 -z uml-patch-2.4.22-[12].bz2 |diffstat -p1 $ interdiff -p1 -z uml-patch-2.4.22-[12].bz2 |less and selected the relevant change. Yes, I _knew_ what was the fix more or less, so I'm not saying it's _that_= =20 easy. Also, for bugfixes which went in _after_ 2.4.24-1um, I have _all_ them in t= he=20 =2Dbs patchset in a splitout form (excluding humfs, which I split out too, = but=20 which I excluded since it wasn't stable enough). =2D-=20 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 ___________________________________ Yahoo! Mail: gratis 1GB per i messaggi e allegati da 10MB http://mail.yahoo.it |
From: Felipe A. M. <fel...@gl...> - 2005-10-19 18:06:32
|
Something is something... [root@app0 linux-uml-hdc]# gdb ./linux GNU gdb Red Hat Linux (6.1post-1.20040607.43rh) Copyright 2004 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "i386-redhat-linux-gnu"...Using host libthread_db library "/lib/libthread_db.so.1". (gdb) r Starting program: /root/uml/kernel/linux-uml-hdc/linux Reading symbols from shared object read from target memory...done. Loaded system supplied DSO at 0xe8d000 Program received signal SIGTRAP, Trace/breakpoint trap. 0xa000b003 in _start () at unistd.h:86 86 KERNEL_CALL(int, sys_write, fd, buf, len) (gdb) where #0 0xa000b003 in _start () at unistd.h:86 (gdb) q The program is running. Exit anyway? (y or n) y === About the metodology you proposed for mi to find the changes.... Which is the oldest version of kernel/patch that is known to run on 2.6.x host? So I don't navigate all the patchs.. Note that my ultimate objective is just to have usb on the uml.. Maybe there is another way I didn't see. Thanks a lot!!!! F On Wed, 19 Oct 2005 18:46:28 +0200 Blaisorblade <bla...@ya...> wrote: > On Wednesday 19 October 2005 18:00, Felipe Andres Manzano wrote: > > I think I didn't even get to that problem yet. > Yes, agreed. > > I put it in anyway without > > any success.. > > > I don't know if this info is usefull but the binary 2.4.19 uml release I've > > found don't work either on my 2.6.x host .- > Found in 2.4.22-2um relative to 2.4.22-1um (apply by hand, it's copy and paste > from an xterm): > > * UML should no longer crash when linked against a libc with the new threads > stuff in it: > > diff -u um/arch/um/link.ld.in um/arch/um/link.ld.in > --- um/arch/um/link.ld.in 2003-01-17 23:11:30.000000000 -0500 > +++ um/arch/um/link.ld.in 2003-09-04 12:16:37.000000000 -0400 > @@ -6,7 +6,6 @@ > { > . = START() + SIZEOF_HEADERS; > > - . = ALIGN(4096); > __binary_start = .; > ifdef(`MODE_TT', ` > .thread_private : { > > From what I recall, this is the cause of what you're seeing. > > The same patch idea (i.e. what's below) must be applied to > arch/um/dyn_link.ld.in, if you ever want to build a dynamically linked UML. > > SECTIONS > { > . = START() + SIZEOF_HEADERS; > .interp : { *(.interp) } > - . = ALIGN(4096); > __binary_start = .; > . = ALIGN(4096); /* Init code and data */ > > Btw, for other similar issues, you should become familiar with browsing the > Changelogs on the download page, and with using interdiff from patchutils. > > After browsing the Changelog entries, and downloading the two patches, what I > did to find the change was: > > $ interdiff -p1 -z uml-patch-2.4.22-[12].bz2 |diffstat -p1 > $ interdiff -p1 -z uml-patch-2.4.22-[12].bz2 |less > and selected the relevant change. > > Yes, I _knew_ what was the fix more or less, so I'm not saying it's _that_ > easy. > > Also, for bugfixes which went in _after_ 2.4.24-1um, I have _all_ them in the > -bs patchset in a splitout form (excluding humfs, which I split out too, but > which I excluded since it wasn't stable enough). > -- > 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 > > > > > > ___________________________________ > Yahoo! Mail: gratis 1GB per i messaggi e allegati da 10MB > http://mail.yahoo.it > > > > ------------------------------------------------------- > This SF.Net email is sponsored by: > Power Architecture Resource Center: Free content, downloads, discussions, > and more. http://solutions.newsforge.com/ibmarch.tmpl > _______________________________________________ > User-mode-linux-user mailing list > Use...@li... > https://lists.sourceforge.net/lists/listinfo/user-mode-linux-user > > ********************************************************************************************** IMPORTANT: The contents of this email and any attachments are confidential. They are intended for the named recipient(s) only. If you have received this email in error, please notify the system manager or the sender immediately and do not disclose the contents to anyone or make copies thereof. *** eSafe scanned this email for viruses, vandals, and malicious content. *** ********************************************************************************************** |
From: Blaisorblade <bla...@ya...> - 2005-10-20 00:32:38
|
On Thursday 01 January 1970 01:00, Felipe Andres Manzano wrote: > Something is something... > [root@app0 linux-uml-hdc]# gdb ./linux > GNU gdb Red Hat Linux (6.1post-1.20040607.43rh) > Copyright 2004 Free Software Foundation, Inc. > GDB is free software, covered by the GNU General Public License, and you > are welcome to change it and/or distribute copies of it under certain > conditions. Type "show copying" to see the conditions. > There is absolutely no warranty for GDB. Type "show warranty" for details. > This GDB was configured as "i386-redhat-linux-gnu"...Using host > libthread_db library "/lib/libthread_db.so.1". Btw, I think you can now undo the "mv /lib/tls /lib/tls.off" step - it didn't help and the patch I posted should fix that. I may be wrong, so handle with care this piece of advise. > (gdb) r > Starting program: /root/uml/kernel/linux-uml-hdc/linux > Reading symbols from shared object read from target memory...done. > Loaded system supplied DSO at 0xe8d000 > Program received signal SIGTRAP, Trace/breakpoint trap. > 0xa000b003 in _start () at unistd.h:86 > 86 KERNEL_CALL(int, sys_write, fd, buf, len) > (gdb) where > #0 0xa000b003 in _start () at unistd.h:86 > (gdb) q > The program is running. Exit anyway? (y or n) y Why didn't you leave the kernel run? I recall from the debugging page that there's always such a SIGTRAP during startup, when TT mode is enabled (as it is and as it must be)... So you may well have a working binary. > === > About the metodology you proposed for mi to find the changes.... > Which is the oldest version of kernel/patch that is known to run on 2.6.x > host? So I don't navigate all the patchs.. > Note that my ultimate objective is just to have usb on the uml.. Maybe > there is another way I didn't see. > Thanks a lot!!!! > F -- 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 ___________________________________ Yahoo! Messenger: chiamate gratuite in tutto il mondo http://it.messenger.yahoo.com |
From: Blaisorblade <bla...@ya...> - 2005-10-20 15:30:58
|
On Thursday 01 January 1970 00:59, Felipe Andres Manzano wrote: > This is where I get.... > > ./linux > Checking for the skas3 patch in the host...not found > Checking for /proc/mm...not found > Violaci=F3n de segmento > > I did a quick dbg but didn't reach to the sigfault due to the sigtraps > stoping me... I'll search for a way to ignore the SIGTRAP signal on gdb so > I can see where the actual sigsev occurs. _Auch_. I never used a 2.4.19 UML kernel, so maybe you could try to see if = the=20 USB patch applies without big problems to newer UML versions (not too new,= =20 however). Otherwise, you can probably start bisecting the available 2.4 patches to se= e=20 which is the first which works for you (before testing, apply the two patch= es=20 which were sent - the one posted by Vincent Guffens about kill/tkill and th= e=20 one I posted for the link script)... I'm re-cc'ing uml-user list anyway... > regards, > F =2D-=20 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 ___________________________________ Yahoo! Mail: gratis 1GB per i messaggi e allegati da 10MB http://mail.yahoo.it |