* How can I add a function to the kernel initialization
@ 2001-04-11 8:07 antonpoon
2001-04-11 11:22 ` Bart Trojanowski
0 siblings, 1 reply; 4+ messages in thread
From: antonpoon @ 2001-04-11 8:07 UTC (permalink / raw)
To: linux-kernel
I have written a driver for a character set LCD module using parallel port. I want to display a message when the kernel is initialized.
I added the following to start_kernel() in init/main.c
#include <stdio.h>
{
int i;
char line = "Loading Kernel";
FILE *ptr;
ptr = fopen("/dev/lcd","w");
for (i=0;i<10;i++)
{
fprintf(ptr, "%s\n", line);
}
fclose(ptr);
}
Error was found, it looks like that it can not include stdio.h in the initialization.
How can I do that?
I wish to be personally CC'ed the answers/comments posted to the list in response to my posting. Thank you.
Best Regards,
Anton
---------------------------------------------
Åwªï¨Ï¥ÎHongKong.com¶l¥ó¨t²Î
Thank you for using hongkong.com Email system
^ permalink raw reply [flat|nested] 4+ messages in thread* Re: How can I add a function to the kernel initialization
2001-04-11 8:07 How can I add a function to the kernel initialization antonpoon
@ 2001-04-11 11:22 ` Bart Trojanowski
2001-04-11 13:16 ` Padraig Brady
0 siblings, 1 reply; 4+ messages in thread
From: Bart Trojanowski @ 2001-04-11 11:22 UTC (permalink / raw)
To: antonpoon; +Cc: linux-kernel
First it does not work because you do not have access to libc in the
kernel. Secondly your LCD driver is not available at the time of
start_kernel so there is no one to listen to the /dev/lcd.
The quickest hack would be to find your lcd driver and modify it to spit
out the Loading Kernel, after it initializes.
B.
On Wed, 11 Apr 2001, antonpoon@hongkong.com wrote:
> I have written a driver for a character set LCD module using parallel port. I want to display a message when the kernel is initialized.
>
> I added the following to start_kernel() in init/main.c
>
> #include <stdio.h>
>
> {
> int i;
> char line = "Loading Kernel";
> FILE *ptr;
> ptr = fopen("/dev/lcd","w");
>
> for (i=0;i<10;i++)
> {
> fprintf(ptr, "%s\n", line);
> }
> fclose(ptr);
> }
>
> Error was found, it looks like that it can not include stdio.h in the initialization.
> How can I do that?
>
> I wish to be personally CC'ed the answers/comments posted to the list in response to my posting. Thank you.
>
> Best Regards,
> Anton
>
>
>
> ---------------------------------------------
> Åwªï¨Ï¥ÎHongKong.com¶l¥ó¨t²Î
> Thank you for using hongkong.com Email system
>
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
>
--
WebSig: http://www.jukie.net/~bart/sig/
^ permalink raw reply [flat|nested] 4+ messages in thread* Re: How can I add a function to the kernel initialization
2001-04-11 11:22 ` Bart Trojanowski
@ 2001-04-11 13:16 ` Padraig Brady
0 siblings, 0 replies; 4+ messages in thread
From: Padraig Brady @ 2001-04-11 13:16 UTC (permalink / raw)
To: Bart Trojanowski; +Cc: antonpoon, linux-kernel
These things usually sit off a serial port.
I.E. /dev/lcd is a link to /dev/ttyS0 or whatever.
Anyway the main point is you don't have access to libc.
So how can you access the serial port from the booting
kernel. Well to spit kernel messages out the serial
port you pass the console=ttyS1,19200 or equivalent
parameter to the kernel. So see what that is done
in the kernel code and copy.
Note www.kernelnewbies.org is probably more appropriate
for this sort of question.
Padraig.
Bart Trojanowski wrote:
>
> First it does not work because you do not have access to libc in the
> kernel. Secondly your LCD driver is not available at the time of
> start_kernel so there is no one to listen to the /dev/lcd.
>
> The quickest hack would be to find your lcd driver and modify it to spit
> out the Loading Kernel, after it initializes.
>
> B.
>
> On Wed, 11 Apr 2001, antonpoon@hongkong.com wrote:
>
> > I have written a driver for a character set LCD module using parallel port. I want to display a message when the kernel is initialized.
> >
> > I added the following to start_kernel() in init/main.c
> >
> > #include <stdio.h>
> >
> > {
> > int i;
> > char line = "Loading Kernel";
> > FILE *ptr;
> > ptr = fopen("/dev/lcd","w");
> >
> > for (i=0;i<10;i++)
> > {
> > fprintf(ptr, "%s\n", line);
> > }
> > fclose(ptr);
> > }
> >
> > Error was found, it looks like that it can not include stdio.h in the initialization.
> > How can I do that?
> >
> > I wish to be personally CC'ed the answers/comments posted to the list in response to my posting. Thank you.
> >
> > Best Regards,
> > Anton
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: How can I add a function to the kernel initialization
@ 2001-04-15 14:20 James Simmons
0 siblings, 0 replies; 4+ messages in thread
From: James Simmons @ 2001-04-15 14:20 UTC (permalink / raw)
To: antonpoon; +Cc: Geert Uytterhoeven, Linux Kernel Mailing List
Is this a HD44780 LCD? Geert wrote a console driver sometime ago for this.
He had a driver for it. If he still doesn't I have a copy of the code.
MS: (n) 1. A debilitating and surprisingly widespread affliction that
renders the sufferer barely able to perform the simplest task. 2. A disease.
James Simmons [jsimmons@linux-fbdev.org] ____/|
fbdev/console/gfx developer \ o.O|
http://www.linux-fbdev.org =(_)=
http://linuxgfx.sourceforge.net U
http://linuxconsole.sourceforge.net
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2001-04-15 14:20 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2001-04-11 8:07 How can I add a function to the kernel initialization antonpoon
2001-04-11 11:22 ` Bart Trojanowski
2001-04-11 13:16 ` Padraig Brady
-- strict thread matches above, loose matches on Subject: below --
2001-04-15 14:20 James Simmons
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox