[Clfs-support] boot process hangs on init.
Andy Kennedy
akennedy at techmoninc.com
Tue Mar 18 13:18:24 PDT 2008
NET: Registered protocol family 1
NET: Registered protocol family 17
VFS: Mounted root (jffs2 filesystem) readonly.
Freeing init memory: 72K
INIT: version 2.86 booting
Vendor: CBM Model: Flash Disk Rev: 5.00
Type: Direct-Access ANSI SCSI revision: 02
SCSI device sda: 2067968 512-byte hdwr sectors (1059 MB)
sda: Write Protect is off
sda: assuming drive cache: write through
SCSI device sda: 2067968 512-byte hdwr sectors (1059 MB)
sda: Write Protect is off
sda: assuming drive cache: write through
sda: sda1
Book: CLFS-Sysroot-SVN-0.0.1-20080121
HOST: x86 Slackware 12.0 install (Glibc 2.6)
Target: Arm XScale
As seen from the above, the Linux kernel continues to control the
system, however, INIT never does anything other than the one printf().
I have attempted this several different ways so far.
One way I attempted this was to build a static BusyBox (linked against
uClibC) to get mount, ls, cp, and a very few other utilities. Next, I
allow my old system to boot into the 2.3.2 Glibc system. I then use NFS
to attach the freshly built CLFS to the target (via the mount command
which is the static BusyBox). I connect in and can busybox ls /usr /bin
/sbin /lib and see all the files I expect. Next, however, I do a ls and
I hang, just like on the init.
Thinking that the dynamic linker just didn't get re-homed correctly, I
attempted to build the system to boot off of USB, which I did and booted
into the system. init hangs.
Thinking that I was doing something sloppy with the USB, I carefully
built a 32MB jffs2 image (/usr would be via USB device) and attempted to
bring up the system that way. Again, no luck and init only hangs.
Thinking that the init had some issues with it I built BusyBox 1.9.1,
dynamically linking it to the sysrooted Glibc. Same thing. However,
when I statically linked BusyBox with the Glibc (not following the full
instructions from the BusyBox build -- I didn't have to removed the gcc
switches, just the #error from within the one file) I was able to get
BusyBox to start. The inittab was extremely off for this version of
BusyBox, therefore I was unable to see anything other than /dev/**** was
not found (**** was a continuous loop of l0-l9 S0, etc). This may have
meant that I may have been able to get that one to run. But the bottom
line question still remains:
Why can I not get a dynamically linked program to run under the
cross-compile system?
Any light you can shed on this would be greatly appreciated.
Andy
More information about the Clfs-support
mailing list