fork on uClinux

Carlos Manuel Duclos Vergara carlos at embedded.cl
Tue May 23 22:42:08 UTC 2006


Hi,

On Tue, May 23, 2006 22:21, Shaun Jackman wrote:
> Busybox uses the fork(2) system call for the standard init(8) utility.
> I've been told this works on uClinux in conjuction with uClibc. If I
> understand correctly that uClinux doesn't provide fork(2), how does

init process is handled in a special way by the kernel, since it cannot be
forked (before init there are no other "processes" in the system).
After that init should use whatever it can find to create new processes.
Since fork is not present, I assume that it must use vfork instead (when
you set the MMU flags in uClibc to NOMMU).

> this work? Does fork(2) return ENOSYS, or is it blindly remapped to
> vfork(2)?
>

that is a way out, however it causes more problems than solutions since
the purpose/functionality of both calls are completely different

> I'm using an ARM7 processor with no MMU.
>

actually I think that you should be more specific in your question, are
you talking about how init creates the rest of the system? because before
init there is almost nothing but the kernel & friends.


-- 
Carlos Manuel Duclos Vergara
http://www.toolchains.com/personal/blog



More information about the uClibc mailing list