Work on the new side

Up to here I had worked while booted into the old installation. But from here on, I wanted to make sure, that everything I compile uses only the libraries available on the new system.

Doing the following took me several retries, but I don't want to bore anybody with a detailed description of all my failed attempts. Basically the problem was to figure out, what is really needed, and this took some trials. Only after I had adjusted my previous steps, so that all needed devices, directories and links were created, I could successfully boot into the new partition and continue work from there.

One important thing I missed: every ELF executable references /lib/ld.so.1 at exactly that place, without looking for it in another directory. Also I had to make sure there is a shell at /bin/sh so that scripts referencing it would run.

I copied sash to the new partition root. sash is a statically linked shell, which has builtin some commands like cp, ls, ln etc. In the BootX dialog I added the kernel arguments init=/sash rw so that the kernel would start up with it as first process. The rw kernel option should give me a writable root partition right from the beginning. A good thing to have, if it would turn out, that mount would not run right from the beginning. In sash I could then mount the old partition and set up LD_LIBRARY_PATH and PATH to make sure, I would have access to all libraries and binaries. I prepared the commands in /sashrc.

From sash I would then start a regular shell, which is easier to use. I wrote a small rc script to run manually, which would do the needed setup to get a usable system. I wrote also a /etc/fstab to be able to easily mount the old partition and the mac partition, so that I could get to the sources I had downloaded.

gcc would hang, if it was not able to find cpp in one of the compiled in places, so I had to create a link /usr/lib/gcc-lib -> /mnt/usr/lib/gcc-lib. I also created the link /usr/ppc-redhat-linux -> /mnt/usr/ppc-redhat-linux which is also referenced by gcc. Better do a bit more than needed, and save one reboot cycle.

Now the linker complains about missing /lib/libc.so.6 though there is one in /usr/lib. But when adding -L/usr/lib it complains about _dl_lazy@@GLIBX.2.1.1 beeing undefined.

How much more troubles? I give up!

Last updated: 1999-08-30 by Claudio Nieder