ARM Slack -> Beagleboard newbie questions
I am trying to get ARM Slack onto my Beagleboard rev C4, by piece-meal replacement of files on a working Angstrom installation. I am a complete newbie with ARM. Angstrom worked out of the box, as it requires not much to install it. The ARM slack is from: slack-13.37-miniroot_01May11.tar.
I figured, it would be a good exercise to "port" Slackware in this tedious way. But all my attemps have been absolutely frustrating, and I have no clue what's going wrong. So I would be really glad if someone could help me out.
I started with replacing /sbin/init. The result was, that the kernel couldn't find it. Which is strange, since there should be no problem: The ELF headers of the angstrom and the slackware init are identical (ARM, version 0x1, Version4 EABI), of course with different entry points etc. It cannot be a library problem, as both inits are statically linked. So, why does the arm init not work? Any clues anybody???
Ok, roll back, using angstrom's init again. I tried to replace getty, which did not work. Roll back. Then I changed the init process by replacing /etc/inittab and by providing the startup files, copying /etc/rc.d/*. But to no avail.
Init starts with these (partly) strange messages:
INIT: version 2.86 booting
grep: /proc/filesystems: No such file or directory
grep: /proc/mounts: No such file or directory
INIT: Entering runlevel: 3o such file
I don't know, but I thought that the kernel would provide the /proc hierarchy, irrespective of the platform. Where is the proc fs??
Then, at the end of the startup, comes the really nice part, that spoils the fun even more:
INIT: Id "c1" respawning too fast: disabled for 5 minutes
INIT: Id "s0" respawning too fast: disabled for 5 minutes
INIT: Id "c2" respawning too fast: disabled for 5 minutes
INIT: Id "c3" respawning too fast: disabled for 5 minutes
So, that's all I could "achieve". Umm, basically nothing.
The part of my /etc/inittab that handles consoles reads as follows:
c1:12345:respawn:/sbin/getty 115200 tty1 linux
c2:12345:respawn:/sbin/getty 115200 ttyS1 linux
c3:12345:respawn:/sbin/getty 115200 ttyS2 linux
s0:12345:respawn:/sbin/getty 115200 ttyS0 vt100
That's the (working!) console line of Angstrom's inittab:
1:2345:respawn:/sbin/getty 38400 tty1
Frustrating times, again with compiling ;-)
I have never cross-compiled. So I checked the GCC man page for options. When I applied the options according to the man page, gcc dropped me a line, saying that the option is not known. What`s that? Good documentation is really valuable, thank you! So, as I am running 32-bit slackware, using GCC version 4.5.2, could anybody please tell me proper (and sane) compile options for a cross-compile to ARM. Beagleboard C4 should be a Cortex-A8 CPU.
Maybe I make some (or a lot) really stupid mistakes, no idea. Any help, hints would be greatly appreciated! :-)