SELF/busybox problems?
Geoff Wyche
GWyche at DATUM.com
Tue Nov 6 10:30:32 EST 2001
Hello all,
I've posted about these problems before, but I have more details now. Any
suggestions would be greatly appreciated as I've been wracking my brain on
them for a while.
My embedded 860T system is having two problems, and I can't seem to make
progress on either of them.
I've got a linuxppc_2_4 kernel rsync'd from mvista.com, with some patches
from Wolfgang Denk applied:
PATCH-000-LOCAL PATCH-009-buzzer-driver
PATCH-014-status-LED-driver PATCH-019-warning-cleanup
PATCH-004-Board-Support PATCH-010-82xx-Disable-DCache
PATCH-015-i2c-driver PATCH-020-UNSORTED-FIXES
PATCH-005-dpfree+uart PATCH-011-8xx-watchdog-driver PATCH-016-IDIF-BSP
PATCH-006-lcd823-driver PATCH-012-IP860-VMEBus-Support PATCH-017-LWMON-BSP
PATCH-008-flash-driver PATCH-013-RTC-drivers
PATCH-018-commproc.h
I'm currently using this little patch of my own in arch/ppc/8xx_io/uart.c:
#define CONFIG_SERIAL_CONSOLE_PORT 1
#if 1
static struct serial_state rs_table[] = {
/* UART CLK PORT IRQ FLAGS NUM */
{ 0, 0, PROFF_SCC1, CPMVEC_SCC1, 0, (NUM_IS_SCC | 0) },
/* SCC1 ttyS0 */
{ 0, 0, PROFF_SCC2, CPMVEC_SCC2, 0, (NUM_IS_SCC | 1) },
/* SCC2 ttyS1 */
};
#else
...
#endif
(and I'm not using CTS/DTR/etc. signals on either serial port)
First, when I run the SELF distribution with a dynamically linked BusyBox,
it crashes with a "software check" at address 0x30015f78. I haven't been
able to figure out what's loaded at linear address 0x30000000. My guess is
there's something wrong with my glibc-2.2.3
If I then recompile busybox with DO_STATIC=true, the CPU seems to hang, but
my debugger (visionCLICK 7.0 under windows NT via BDM port) is no longer
able to communicate with the processor. If I then issue a CPU reset via the
BDM, the CPU reboots after a bit (software watchdog timeout?) and runs past
where it would hang before.
I then get a proper busybox shell prompt. This sequence (boot, hang, issue
reset, boot, nohang) happens repeatably. It hangs very shortly after
starting /sbin/init, but the second time, it runs. Always.
The second problem is with the serial console line. Once per second, BB's
init program wakes up and checks for respawns or respawns something.
Whatever that something is (/bin/application?) opens and closes the console.
Every time it opens and closes the console, it somehow steals characters
from the serial port buffer.
For example:
------------------------------------------------------------------
BusyBox v0.51 (2001.11.05-22:57+0000) Built-in shell (lash)
Enter 'help' for a list of built-in commands.
/ # ls
s
bin ftp linuxrc proc var
dev home lost+found sbin
etc lib opt tmp
/ # ls
s
sh: s: No such file or directory
/ #
------------------------------------------------------------------
In the first case, I typed 'ls' and pressed enter immediately. I got a
proper listing (but what's that echoed 's' line???)
In the second case, I typed 'l' then waited a few seconds, typed 's' and hit
return, the 'l' got eaten somehow.
More information needed? I'd be glad to supply it -- like I've said, I've
been banging my head on this one for a while.
--Geoff
gwyche at datum.com
** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
More information about the Linuxppc-embedded
mailing list