It looks like the call to execve() at the end of start_init() in init_main.c is screwed: if ((error = execve(p, &args, retval)) == 0) return; Replacing p with arg0 gets the kernel a little bit further, but quickly crashes. Could someone more familiar with what start_init() is supposed to be doing take a look at this? -- Todd