Andrey Volkov wrote:
sudheer wrote:
  
Andrey Volkov wrote:
    
urwithsudheer wrote:
      
Hello All,
I am working with a pci based vga card. I have connected the vga card
next to the  pci slot of my target processor on the baseboard.
I have connected a monitor to the vga card.
When i boot linux from minicom, i could see all the kernel log
messages on both the minicom and vga card monitor. But on the vga
monitor, i could not see any messages after asking for login as below:
.
.

Mounting filesystems
Running depmod
Setting up networking on loopback device:
Setting up networking on eth0:
eth0: PHY is Marvell 88E11x1 (1410cc2)
Adding static route for default gateway to 192.168.3.1:
Setting nameserver to 192.168.0.1 in /etc/resolv.conf:
Starting inetd:

login:


Though i am entering my login and passwd at the minicom, nothing
comes on to the vga monitor. But i am able to write to vga monitor
using the following commands from minicom:

# echo "Hello" > /dev/tty1
# echo "Hi " > /dev/tty1
My requirement is to get on the vga monitor whatever i am typing on
the minicom after logging into the linux like .
ls or pwd commands.

Anyone pl help me.

Thanks & Regards
Sudheer

        
See Documentation/kernel-parameters.txt.

If be short, add:

    console=/dev/ttySxx console=/dev/tty1

(both) to a kernel parameters string.

      
I got upto login prompt on the vga monitor only after giving the above
parameters in my u-boot bootargs.
u-boot=> set bootargs console=tty1 console=ttyS0,115200.


I have added in the serial driver  linux/drivers/serial/serial_core.c
   in the function  uart_write(struct tty_struct *tty, const unsigned
char * buf, int count)
   The lines in the if directive.
  
if (c <= 0)
                        break;
                memcpy(circ->buf + circ->head, buf, c);
/* added to test vga */
#if 1
                memcpy(tempbuf, circ->buf + circ->head, c);
                  for(i=0;i<c;i++)
                  printk("%c", tempbuf[i]);
#endif

 circ->head = (circ->head + c) & (UART_XMIT_SIZE - 1);
                buf += c;

Then as i expected, all the letters i enter in the minicom came twice on
the minicom.
    

Because printk didn't print to an dedicated device, but to a klog
stream. So check your /etc/inittab and /etc/securetty, its similar
that something wrong in this files.
  
oh..sorry, i forgot to tell you about the other two modifications done in the kernel config and ramdisk.
In the kernel config-- I have selected the virtual terminal option.
In the ramdisk- etc/inittab - i added the following line:
::respawn:/sbin/getty tty1 115200 vt100.
The etc/securetty contains the following:
console
fb0
tty1
tty2
tty3
tty4
tty5
tty6
tty7
tty8
ttyS0
ttyS1
ttyS2
ttyS3
ttyp0
ttyp1
ttyp2
ttyp3
ttyAM0
ttyAM1
tts/0
tts/1

Do i need to use fb0, to send the  serial data to frame buffer ?

  
login:rroooott
Password: Password:
login  on `ttyS0'ogin  on `ttyS0'login[83]: root

 ~ # ~ # llss
 ~ # ~ # iiffccoonnffiigg

And whatever i enter on the minicom also gets print on the vga monitor 
but only once.
When i comment the if directive, On the vga monitor i could see only
upto login prompt.

I don't know why the printk statement i added in the serial driver
prints on the vga monitor.

As said by shkatikannan, i am going through the vga driver to copy to
the frambuffer. But  yet couldn't get it exactly in the code where to copy.

Please tell me if i am in the wrong path.

Thanks & Regards
Sudheer