Subject: RE: Brutus Linux v2.0.35 hangs

From: "Chagas, Jason" <[email-masked]>
Date: Tue, 9 Mar 1999 11:27:53 -0800

Nico,

Just a bit more of information... The kernel hangs right after "init: memory
vi". Then it spews an endless string of "*** CONSOLE_ERROR" messages:

...

Starting kswapd v 1.4.2.2

Keyboard driver v1.01

**** Turning off console printing ****

LSB: Done with kbd_init

SA1100 Serial driver version 4.13 with no serial options enabled

tty00 at 0xf8050000 (irq = 17) is a SA1100 UART

Ramdisk driver initialized : 16 ramdisks of 16384K size

RAMDISK: Compressed image found at block 0

VFS: Mounted root (ext2 filesystem).

init: memory vi

*** CONSOLE_ERROR: console_print entry: vcd->screen.origin: c05227ec,
(c008d200)
*** CONSOLE_ERROR: console_print entry: vcd->screen.origin: c05227ec,
(c008d200)
*** CONSOLE_ERROR: console_print entry: vcd->screen.origin: c05227ec,
(c008d200)
*** CONSOLE_ERROR: console_print entry: vcd->screen.origin: c05227ec,
(c008d200)
....

Note that this I called "angelboot" with the following parameters:

angelboot/angelboot -d /dev/ttyS0 -c "9600 8N1" -b 0x8000 -e 0xc0008000 -S
115200 -O ramdisk.gz -B 0x800000 vmlinux-2.0.35

Any ideas?

Jason

		----------
		From:  Chagas, Jason
		Sent:  Monday, March 08, 1999 8:14 PM
		To:  'Nicolas Pitre'
		Cc:  [email-masked]'; Chagas, Jason
		Subject:  Brutus Linux v2.0.35 hangs

		Nico,

		I've been able to build (w/ 'a.out' Binutils 2.9.1.0.19a and
Egcs 1.1.1) both Kernel v2.0.35 and the Itsy Brutus version (v2.0.30)
downloaded from Digital. Both versions seem to start booting ok and  but
they suddenly "hang" right after "**** Turning off console printing ****".
These are the messages that come up on the screen:

		FrameBuffer : 0xc008d000, len:81919
		Console: colour A-series 53x29x256, 1 virtual console (max
63)
		Calibrating delay loop, , ok - 194,15 BogoMIPS
		Brutus PCMCIA initialization
		Memory: 11320k/16384k available (440k kernel code, 36k
reserved, 492k data)
		Swansea University Computer Society NET3.035 for Linux 2.0
		NET3: Unix domain sockets 0.13 for Linux NET3.035.
		Linux version 2.0.35 ([email-masked])
		(gcc version egcs-2.91.60 19990113/philb (egcs-1.1.1
release)) #3 Mon Mar 8 16:26:27 EST 1999
		Starting kswapd v 1.4.2.2
		Keyboard driver v1.01
		**** Turning off console printing ****

		These are the commands I use to load v2.0.35 (Angel 1.02)
and Itsy (Angel 1.0) kernels respectively:

		angelboot/angelboot -d /dev/ttyS0 -c "9600 8N1" -b 0x8000 -e
0xc0008020 -S 115200 -O ramdisk.gz -B 0x800000 vmlinux-2.0.35

		../angelboot/angelboot -d /dev/ttyS0 -c "9600 8N1" -b 0x8000
-e 0x8020 -S 115200 -O ramdisk-itsy.gz -B 0x800000 vmlinux-itsy1

		Any ideas?

		Jason
		
unsubscribe: body of `unsubscribe linux-arm' to [email-masked]

---

From: Russell King - ARM Linux Admin <[email-masked]>
Date: Tue, 9 Mar 1999 20:31:05 +0000 (GMT)

> vi". Then it spews an endless string of "*** CONSOLE_ERROR" messages:

Aha!  I recognise that as one of my checks in my old console code!

> *** CONSOLE_ERROR: console_print entry: vcd->screen.origin: c05227ec, (c008d200)
> *** CONSOLE_ERROR: console_print entry: vcd->screen.origin: c05227ec, (c008d200)
> *** CONSOLE_ERROR: console_print entry: vcd->screen.origin: c05227ec, (c008d200)
> *** CONSOLE_ERROR: console_print entry: vcd->screen.origin: c05227ec, (c008d200)

This can be caused by one of two things - something with big boots trampling
over kernel memory, or something causing a violation of the console code.
Either way, screen.origin contains an invalid address.

Interestingly, this message is not identical to my 2.0.35 message, so  I don't
know what the values refer to, and whether they're wrong, and what they're
supposed to be.
   _____
  |_____| ------------------------------------------------- ---+---+-
  |   |        Russell King       [email-masked]      --- ---
  | | | |  http://www.arm.linux.org.uk/~rmk/armlinux.html    /  /  |
  | +-+-+                                                     --- -+-
  /   |               THE developer of ARM Linux              |+| /|\
 /  | | |                                                     ---  |
    +-+-+ -------------------------------------------------  /\\\  |
unsubscribe: body of `unsubscribe linux-arm' to [email-masked]

---

From: Chris Blazie <[email-masked]>
Date: Tue, 9 Mar 1999 15:57:32 -0500 (EST)

Jason,

	If you are using egcs-1.1.1 to compile a.out with kernel version
2.0.35, the kernel will always hang at the first init process.  It has
something to do with a change made from the pre-1.1.1 egcs patch to the
current 1.1.1 arm patch.  Either rebuild egcs using the pre-1.1.1 patch or
upgrade your brutus kernel to Nico's 2.2.1-rmk3 version and compile as
elf.

	Or, if you're feeling adventurous you can isolate the changes in
the egcs patches to figure out what breaks it for a.out kernels.  :-)

Chris

---

From: Nicolas Pitre <[email-masked]>
Date: Tue, 9 Mar 1999 16:35:39 -0500 (EST)

> Either way, screen.origin contains an invalid address.

I know that this kernel compiles and runs perfectly for me if compiled
with egcs-1.1.1-pre2 + PhilB patch dated on 19981223 (not sure about the
exact day).  It crashes exacly like above if compiled with egcs-1.1.1.  Of
course we are talking  about egcs configured for arm-linuxaout -- the
arm-linux configured egcs doesn't seem to be affected by what seems to be
an egcs bug.

Solution:  either you use egcs-1.1.1-pre2 with appropriate patches (or
older) or you find out what is the difference between egcs-1.1.1-pre2 and
egcs-1.1.1 that is causing the problem.

Even better you switch to Linux 2.2.2 and contribute to the current patch!
:-)

Nicolas Pitre, B. ing.
[email-masked]