From: dick@ahwau.ahold.nl (Dick Bruijn)
Newsgroups: comp.os.minix
Subject: >>>>1.6.23 (ST) Problems
Keywords: ST Minix 1.6.23
Date: 16 Nov 92 08:59:01 GMT

> From: flebbe@wega.tat.physik.uni-tuebingen.de (Olaf Flebbe)

> Using Rainers hint to extract end.o from the new libc.a and copying it
> to /usr/lib I was able to link build with the new libs. However build
> won't run. ( I used the *1.5.10* cv).  build immediatly returns
> without any error message. Will any program linked with the new lib
> run on a standard minix? (Is this a bootstrapping problem?)

I have used for buiding build the new headers and new library, and
the build process on my (ST) is runnable. Very important indeed is to use the
1.5.10 version of cv, when i first use the new cv i had the same problem.
Please check again.

> So I decided to link with the *old* libs using new header files. It
> looks very fine until I boot the system with the newly created kernel.
> Almost immediatly first mm and than fs crashes. The dump looks quite
> reasonable, except for the stackpointers of both processes. MM's
> Stackpointer is 601abbcc :-). FS: da56 (kernel area). The Programm
> counters are located at an offset of 12 to the beginning of the
> codesegement of both fs and mm. One of the possible mistakes I made is
> that I did not build "build" correctly. Any Hints?

I had the same problems regarding mm and fs after rebooting with the new
made ST 1.6.23 minix.
I have found that probably the reason is that the /usr/lib/ld program
produces output (for mm and fs) that has no 'relocation structs'. 
The word in the header tells me it has zero 'relocation structs'.
In this case the (new) cv program cannot find those structs and will not
include them in mm, fs respectively. So than build cannot made the relocation
nessecary for mm and fs, and the new system won't run.
Strangely though is the fact that /usr/lib/ld creates relocation structs
and good header info for the /usr/src/tools/init program.
I don't know the reason for this strange 'ld' behaviour.
Anybody?

I have found a (very temporary) solution to the relocation problem.
When you do the first build of your new 1.6.23 system, the program 
produces output, that is telling you the total size of each part of the kernel.
By giving the total value for the 'kernel' (that is also the start point
for mm) to the ld program (in the Makefile), that will be relocated. 
The parm is '-b0:<value>' (On my system this value is 106496.)
By adding the total size of mm to the first value, you get the starting
point for fs. (on my system 106496 + 32768 = 139264)
So putting '-b0:139264' in the Makefile for fs solves the relocation problem.
You must be alert when building a new kernel, and the total sizes changes
(for 'kernel' or 'mm') you must change your Makefiles.

Now that I come this far, I started the boot for the new 1.6.23 system.
The message 'Booting...' came and after giving my bootdevice numbers,
I get the login prompt!
Now a new problem arises : when I hit a key on my keyboard, for instance 
'CTRL-ALT-F1', it gives me the expected proces listing, but after that
rubbish (a binary?) is send to my console.
This problem is probably because i used my old (1.5.10) boot file system
with the old (login) program. 
So now is the time for making all commands, and a new boot file system.
The making continues...


-------------------------------------------------------------------------
Dick Bruijn       Albert Heijn bv
                  Afd. Winkelautomatisering    Email: dick@ahwau.ahold.nl
systeembeheerder  Ebbehout 31    kamer B407    Phone: +31 (0)75 593918
ah filialen       1507 EA ZAANDAM              Fax  : +31 (0)75 351240
-------------------------------------------------------------------------
-- 
Dick Bruijn       Albert Heijn bv
                  Afd. Winkelautomatisering    Email: dick@ahwau.ahold.nl
systeembeheerder  Ebbehout 31    kamer B407    Phone: +31 (0)75 593918
ah filialen       1507 EA ZAANDAM              Fax  : +31 (0)75 351240