bevan@ecr.mu.oz.au (Bevan Anderson) (03/30/91)
Hi I have yet another problem with Minix-386. After recompiling init I got it up and running. Now I have another problem. I recompiled ps.c with bcc -3 so to give me a 32 bit binary. Now when I execute ps (as root) I get: memory fault: core dumped. This happens after ps puts up the top line of the output (TTY LINE etc) I am doing a ps -U but that gets the same problem. Can anyone help? Bye, Bevan. _______________________________________________________________________________ Bevan Anderson. Engineering bevan@ecr.mu.oz.au Melbourne Uni.
kevin@nuchat.sccsi.com (Kevin Brown) (03/31/91)
In article <7210@munnari.oz.au> bevan@ecr.mu.oz.au (Bevan Anderson) writes: >I recompiled ps.c with bcc -3 so to give me a 32 bit >binary. Now when I execute ps (as root) I get: > >memory fault: core dumped. > >This happens after ps puts up the top line of the output (TTY LINE etc) >I am doing a ps -U but that gets the same problem. > >Can anyone help? The problem you describe has bitten me a number of times (you'd think I'd know better by now :-). Ps expects the kernel files to be located in /usr/src/kernel/kernel, /usr/src/fs/fs, and /usr/src/mm/mm. However, the Minix-386 makefiles put those images in /tmp. So before you do a ps -U, copy /tmp/kernel to /usr/src/kernel/kernel, /tmp/mm to /usr/src/mm/mm, and /tmp/fs to /usr/src/fs/fs. The problem you're having is that ps -U is getting its symbol information from the OLD kernel, and that symbol information is now bogus. Thus, the memory fault. An additional note: you MUST compile ps.c with -DINTEL_32BITS. Otherwise it will be confused about the size of the buffer cache, as an example. >Bye, >Bevan. -- Kevin Brown Disclaimer: huh? kevin@nuchat.sccsi.com csci31f7@cl.uh.edu Minix -- the Unix[tm] of the 90's. System V -- the Multics of the 90's. :-)
kemp@convex.com (Phil Kemp) (03/31/91)
In <7210@munnari.oz.au> bevan@ecr.mu.oz.au (Bevan Anderson) writes: >I recompiled ps.c with bcc -3 so to give me a 32 bit >binary. Now when I execute ps (as root) I get: >memory fault: core dumped. >This happens after ps puts up the top line of the output (TTY LINE etc) >I am doing a ps -U but that gets the same problem. I too have had similar problems with the various versions of ps with the 386 Minix kernel. Maybe someone could post a version of ps.c which does in fact work with Bruce's 386 Minix... I know I would sure appreciate it. Thanks. PK -- Phil Kemp CONVEX Computer of Canada Ltd. Voice:(403)-233-2815 UUCP:kemp@convex.com
torvalds@cc.helsinki.fi (04/01/91)
In article <kemp.670399990@convex.convex.com>, kemp@convex.com (Phil Kemp) writes: > In <7210@munnari.oz.au> bevan@ecr.mu.oz.au (Bevan Anderson) writes: > >>I recompiled ps.c with bcc -3 so to give me a 32 bit >>binary. Now when I execute ps (as root) I get: > >>memory fault: core dumped. > >>This happens after ps puts up the top line of the output (TTY LINE etc) >>I am doing a ps -U but that gets the same problem. > > I too have had similar problems with the various versions of ps with > the 386 Minix kernel. Maybe someone could post a version of ps.c which > does in fact work with Bruce's 386 Minix... > > I know I would sure appreciate it. > > Thanks. > PK > -- > Phil Kemp > CONVEX Computer of Canada Ltd. > Voice:(403)-233-2815 > UUCP:kemp@convex.com RTFSC (Read the F**ing Source Code :-) - It is heavily commented and the solution should be obvious (take that with a grain of salt, it certainly stumped me for a while :-). Simply change the 4 define-lines at the start (well, I'd guess about line 40) that read #define kernel "/usr/src/kernel/kernel" #define mm "/usr/src/mm/mm" #define fs "/usr/src/fs/fs" #define init "/usr/src/tools/init" to where-ever you have them now (/etc/system/kernel,fs,init,mm if you did as the tutor that is floating around said) NOTE! I wrote this from memory - this is certainly not exactly how the defines look (and I'm not certain that there is a define for init, I think it never gets used). It should be no problem finding them though - there should be nothing like it elsewhere in ps.c. It is inside a #if by the way. Cdiffs might be a good idea, but I don't have access to my minix-box right now. Doing them manually wasn't any problem. Linus Torvalds torvalds@cc.helsinki.fi