Subject: Re: SA-1100 Problems

From: "Zach Welch" <[email-masked]>
Date: Fri, 28 Apr 2000 15:47:04 -0700

Ok, I've managed to get our SA-1100 system to boot through to the kernel
init process (using Image with the extra stuff from head-sa1100.s pasted
in). The kernel makes it past free_initmem() in init, but then debug output
stops.

Immediately after the point I lose feedback, the system opens /dev/console.
I tried adding:

console=/dev/ttyS1,38400

to my kernel parameter line (in fixup_sa1100), thinking that the output may
be redirected at that point. No change was detected in the systems
behaviour.  Any thoughts as to what might be happening?

Thanks,

Zach Welch

unsubscribe: body of `unsubscribe linux-arm' to [email-masked]
++        Please use [email-masked] for           ++
++                        kernel-related discussions.                      ++

---

From: Russell King - ARM Linux Admin <[email-masked]>
Date: Fri, 28 Apr 2000 23:56:54 +0100 (BST)

> Immediately after the point I lose feedback, the system opens /dev/console.

In the code that I've seen, the sa1100 hard codes the console into its serial
drivers.  Therefore this option doesn't work.

> behaviour.  Any thoughts as to what might be happening?

Yep.  The serial driver is probably getting confused with the debugging messages.
If it boots that far, you should probably disable the debugging stuff and move
back to the more conventional kernel messages on console approach.
   _____
  |_____| ------------------------------------------------- ---+---+-
  |   |        Russell King       [email-masked]      --- ---
  | | | |            http://www.arm.linux.org.uk/            /  /  |
  | +-+-+                                                     --- -+-
  /   |               THE developer of ARM Linux              |+| /|\
 /  | | |                                                     ---  |
    +-+-+ -------------------------------------------------  /\\\  |

---

From: Erik Mouw <[email-masked]>
Date: Sat Apr 29 00:21:31 +0000 (GMT) 2000

> back to the more conventional kernel messages on console approach.

I think the SA1100 serial driver doesn't correctly behave like a real
console. If I compile with "Console on SA1100 serial port" and without the
frame buffer device, I always get the message "Can't open initial
console". I've put some printk("Now here") messages in the kernel to find
out where the messages remain, but they aren't  printed on the serial
port, although they are available with the "dmesg" command. OTOH, kernel
oopses generated on ttyS1 are verbosely reported on ttyS0.

Erik

-- 
In theory, practice and theory are the same, but in practice they 
are different -- Larry McVoy

---

From: Russell King - ARM Linux Admin <[email-masked]>
Date: Sat, 29 Apr 2000 08:25:28 +0100 (BST)

> oopses generated on ttyS1 are verbosely reported on ttyS0.

Oh, something I missed - loose the /dev/ part.  The correct line should be:

	console=ttyS1,38400

However, without that line, it will default to the first console it can
find.

Another problem will be that although you can specify this argument, it
is totally ignored by the SA1100 serial driver.  The port and data format
that is used for the console is hard coded into the driver for each port.
   _____
  |_____| ------------------------------------------------- ---+---+-
  |   |        Russell King       [email-masked]      --- ---
  | | | |            http://www.arm.linux.org.uk/            /  /  |
  | +-+-+                                                     --- -+-
  /   |               THE developer of ARM Linux              |+| /|\
 /  | | |                                                     ---  |
    +-+-+ -------------------------------------------------  /\\\  |

---

From: Philip Blundell <[email-masked]>
Date: Sat, 29 Apr 2000 10:15:26 +0100

>console".

Sure your /dev/console is correct?

p.

---

From: Erik Mouw <[email-masked]>
Date: Sat Apr 29 19:09:38 +0000 (GMT) 2000

> Sure your /dev/console is correct?

Ehm, I think you're right:

  bash-2.01# ls -l /dev/console
  crw-r--r--   1 root     root       4,   0 Dec 16  1997 /dev/console

It should be device 5,1 right?

Erik

-- 
Yes, it works sometimes. If you need something that "works sometimes"
use Windows! -- Victor Khimenko on linux-kernel

---

From: Russell King - ARM Linux Admin <[email-masked]>
Date: Sat, 29 Apr 2000 20:31:56 +0100 (BST)

> It should be device 5,1 right?

Correct. 4,0 is "current virtual console", not /dev/console.

Here is the definitive information:

 5 char        Alternate TTY devices
                  0 = /dev/tty          Current TTY device
                  1 = /dev/console      System console
                  2 = /dev/ptmx         PTY master multiplex

   _____