RE: printf internals

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Most likely your device nodes are missing in /dev. 

-----Original Message-----
From: [email protected]
[mailto:[email protected]] On Behalf Of Siva Prasad
Sent: Thursday, December 20, 2007 4:03 AM
To: Clemens Koller; David Newall
Cc: [email protected]
Subject: RE: printf internals

Thank you very much for your response Clemens.

I tried strace on a regular system. It does not show which tty, etc., as it
uses the stdout (fd = 1) and write(1, ...) to it.

This is not a student project. I am trying to build my own kernel and
ramdisk. Kernel boots fine to a point where it starts accessing ramdisk and
executes init scripts. From there on nothing gets printed. I did some
debugging and found that prints of user land programs are not coming to the
serial console, while kernel prints are working fine. I found all the
programs getting executed, by placing a printk in execve routine and
printing the arguments.

So, I wanted to trace down the path from user program to the kernel and see
why it is not printing messages from user program. I placed a printk in
drivers/char/tty_io.c:tty_write() and it is not getting called from my file
system. I tried the same thing on my good system (say regular PC) and it
works as expected.

Any clues that can help debug this issue is highly appreciated.
How can I get access to the same printf string inside kernel.

Thanks
Siva



-----Original Message-----
From: Clemens Koller [mailto:[email protected]] 
Sent: Friday, December 14, 2007 8:16 AM
To: David Newall
Cc: Siva Prasad; [email protected]
Subject: Re: printf internals

David Newall schrieb:
 > Siva Prasad wrote:
 >> I am looking at how exactly does the printf in user programs succeeds in
 >> displaying characters to the serial console.
 >
 > Is it a student assignment?  This is so not the right mailing list.

Come on, are we playing hide and seek here?

You can use strace to follow a typical hello world example and
see what device it opens to feed the hello out.
I.e. it can be to the current /dev/ttyX and not to /dev/console
or if you are logged in via SSH to a machine, the device
is again different... or if you use screen, ...

Work your way from there and then use a Linux Source code
Cross Reference (lxr, ask Google for one) and follow the code.

Regards,
-- 
Clemens Koller
__________________________________
R&D Imaging Devices
Anagramm GmbH
Rupert-Mayer-Straße 45/1
Linhof Werksgelände
D-81379 München
Tel.089-741518-50
Fax 089-741518-19
http://www.anagramm-technology.com

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux