Hi all,
For some time I've tried to get the Angstrom 2.6.23 kernel to work with Debian on my C860, but I've been bitten by the altboot bug (see
http://bugs.openembedded.org/show_bug.cgi?id=1718 for example), where the system freezes a few seconds after booting.
I think I've found a solution to this issue. After doing some experimenting, it looks like the system hang can be prevented by executing /etc/init.d/sysklogd script early on during initialisation. I don't know why this should stop the hanging, but it does. So to ensure this is run early in initialisation,
[div class=\'codetop\']CODE[/div][div class=\'codemain\' style=\'height:200px;white-space:pre;overflow:auto\']
cd /etc/rcS.d
ln -sf ../init.d/sysklogd S01sysklogd
[/div]
Note that you still have to be fast at selecting option 1 (boot from flash) or 3 (boot from SD card) in the altboot menu, and that you usually have to make the selection twice. I also commented out line 474 of /etc/altboot.func, so that it says
[div class=\'codetop\']CODE[/div][div class=\'codemain\' style=\'height:200px;white-space:pre;overflow:auto\']
#$FSCK $1 || sleep 2
[/div]
otherwise when booting from SD card, it always checks the filesystem, which takes forever, and may lead to the system freezing because the syslog daemon is not executed in time.
My current setup is as follows:
Latest Angstrom kernel and console image including altboot installed on flash.
Debian tarball unzipped to SD card (in /debian directory).
Angstrom filesystem unzipped to SD card (in /angstrom directory).
The failsafe mode is to boot Angstrom from flash. To experiment with the minimum requirements needed for booting, I
[div class=\'codetop\']CODE[/div][div class=\'codemain\' style=\'height:200px;white-space:pre;overflow:auto\']
cd /media/card
ln -sf angstrom/* .
[/div]
Then I play around with which scripts I keep inside /etc/rcS.d and /etc/rc5.d, run altboot, select option 3, and see if the system boots. If it doesn't, I remove the power, select altboot option 1, boot from flash, and make further changes.
To boot Debian, I
[div class=\'codetop\']CODE[/div][div class=\'codemain\' style=\'height:200px;white-space:pre;overflow:auto\']
cd /media/card
ln -sf debian/* .
[/div]
and then boot from the SD card.
At the moment I haven't got the CF card working, so maybe this functionality has been removed from the kernel so that I need to load a module or something.
In theory this technique could also be used for other distros, such as Android.
I might have missed other dependencies, such as one or two binaries from Angstrom /sbin, but if other people try this method for determining what the boot requirements are, then we would get a definitive answer. If anyone gets this to work, please add further comments to this thread.
Cheers,
Dan