On Sun, Feb 1, 2009 at 3:00 PM, loody <[email protected]> wrote: > 2009/2/1 Denys Vlasenko <[email protected]>: > > On Saturday 31 January 2009 07:18, loody wrote: > >> > Dear all: > >> > I am porting kernel on my arm platform and I wrote a userspace > >> > program, hello world. > >> > But I cannot see the "hello world". > >> > > >> > my environment is: > >> > 1. uclinux.dist 2008 > >> > 2. and I put my source code under user and compile it. > >> > 3. I use arm-linux-2006 to compile kernel > >> > 4. I use arm-linux-2007 to compile my hello world. > >> hi: > >> I have one question about my problem. > >> Can I replace the kernel execute command, "/init", as "/hello"; that > >> means the first user space program is hello, not standard int. > >> Is that the problem which make printt not workable? > >> > >> I have no idea whether kernel has to do something in "init" such that > >> "hello" can call printf to show message. > > > > [f]printf ultimately results in write() syscalls performed on > > open file descriptors. > > > > If you have trouble verifying that your userspace programs > > are able to execute, start with this test program: > > > > int main() { > > write(1, "Hello\n", 6); > > for (;;) > > continue; > > } > > > > Compile it and run as init. You should see "Hello" > > message. If you don't, your toolchain is producing broken > > executables. > > -- > > vda > > > > Hi: > I have search the calls.S in arch/arm/kernel, but I cannot find the > sys call, write, you mention. > ( I use arm platform, so I search the syscalls implemented by arm) > Is it a wrap function? If so, I guess I should include some header to do > so. > But I have no idea what header I can use.
Check which system call does uclibc call for printf(). It might help. > > appreciate your help, > miloody > > -- > To unsubscribe from this list: send an email with > "unsubscribe kernelnewbies" to [email protected] > Please read the FAQ at http://kernelnewbies.org/FAQ > > -- Shaz
