[pocket-linux] Chapter 3 root disk problems redux
Dominick Mancine
dmancine at gmail.com
Tue Feb 8 11:48:23 CST 2005
Firstly, thanks for this guide, which is such a great idea. Another
great resource is the From Power Up to Bash Prompt guide, for those
who want to read even more.
I posted the message below to the troubleshooting forum, but noticed
that for about 10 questions there, there were only 7 replies. Thought
the mailing list would be more help.
So I browsed the list archives and found out my problem (no bash
prompt when using dynamically-linked libraries) is pretty common,
especially because I'm developing on RH9 on an AMD 900MHz machine, but
running on a Pentium 100 with 32MB memory. So, I'll abandon my
original question and replace it with some other ones I came up with.
The consensus on the list seems to be that this is caused by libraries
not being able to run on older hardware. When I statically link bash,
I get the shell prompt. It should be using the same version of the
library to link with (though it uses the .a file, not the .so,
right?). My first question is this: How come bash can run with the
static version of the libraries, but can't run with the dynamic
versions? It's the same code, just packaged different, right? Or am
I missing something? (Okay, that was 3 questions.)
I'm not a Linux guru, yet. If the gurus on this list say that that's
the way the world works, I'll accept it. But, I don't want to have to
accept that I have to download the root disk image for chapter 3 to
make things work (btw, this *did* work). So, my other question is
this: Is there a procedure to force the libraries to work when
dynamically linked? A recommended development/testing system? A
requirement for the test box, relative to the dev box (like, same
processor)? Or, even better, a way to build the required libraries
for the target machine?
This seems to be a pretty popular problem, because having separate
development and target machines is oh-so convenient, and we don't mind
messing up an old machine by booting an experimental OS. Could there
be a section added to the guide to address this issue? Or at least a
heads-up, with a pointer to the mailing list archives?
Sorry for the rambling, but I don't think the answers to these
questions were in the archives. I apologize for reasking the
questions if they were.
Dominick
Begin yet another version of the mismatched library problem message:
I got through chapter 2 okay, but I'm having a problem getting through
chapter 3. I can get all the way through it, except I don't get a bash
prompt. I get the "Freeing unused kernel memory: 272k freed" message,
but not the "#" prompt I saw after chapter 2. I also tried writing a
little Hello World program, and passing that as the init= kernel
parameter, but I don't get my expected "Hello World" message.
I'm using RH9 on an AMD900 with 256MB or 512MB RAM (can't remember) as
my development environment. As my target machine, I'm using an old
Pentium 100 with 32MB RAM.
I'm using bash-3.0, and I've tried kernel 2.4.29 and 2.6.10. I tried
bash-2.05b, but I couldn't get that to build. And I tried downloading
and using the 2.4 kernel config file from the resource site.
I did all the steps, and specified, from chapter 3, but no dice. There
were only two differences between my system and the one in the guide.
1. I mounted /dev/ram7 at /mnt/ram. That's a trivial difference, and I
don't think it's my problem. 2. ldd bash shows that libc.so.6 lives in
/lib/tls on my RH9 box. I've tried putting it into /lib and /lib/tls
on my root floppy, both with the same result. I don't know if ldd
reports the actual path the app is looking for, or if it's just the
path to the required library on the local system. Either way, I think
I've covered my bases by trying the libc library in both places.
I really don't want to cheat and download the disk image, but I want
to get past this point. Help!
More information about the Pocket-Linux
mailing list