RE: printf internals
- From: "Siva Prasad" <sprasad@xxxxxxxxx>
- Date: Wed, 19 Dec 2007 14:33:15 -0800
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:clemens.koller@xxxxxxxxxxx]
Sent: Friday, December 14, 2007 8:16 AM
To: David Newall
Cc: Siva Prasad; linux-kernel@xxxxxxxxxxxxxxx
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 majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
- Follow-Ups:
- RE: printf internals
- From: Richard D
- RE: printf internals
- From: Scott Russell
- RE: printf internals
- References:
- printf internals
- From: Siva Prasad
- Re: printf internals
- From: David Newall
- Re: printf internals
- From: Clemens Koller
- printf internals
- Prev by Date: Re: [PATCH] e1000: Use deferrable timer for watchdog
- Next by Date: Re: [PATCH] e1000: Use deferrable timer for watchdog
- Previous by thread: Re: printf internals
- Next by thread: RE: printf internals
- Index(es):