diff --git a/stage1.c b/stage1.c index 151f661..01a1a8e 100644 --- a/stage1.c +++ b/stage1.c @@ -110,7 +110,7 @@ static void spawn_shell(void) { #ifdef SPAWN_SHELL int fd; - char * shell_name[] = { "/bin/sh", NULL }; + char * shell_name[] = { "/sbin/sh", NULL }; log_message("spawning a shell"); @@ -386,7 +386,7 @@ int main(int argc, char **argv, char **env) char * stage2_args[30]; char * pcmcia_adapter = NULL; char buf[128]; - + spawn_interactive(); open_log(); @@ -426,6 +426,14 @@ int main(int argc, char **argv, char **env) if (ret != RETURN_OK) fatal_error("could not select an installation method"); + if (!IS_RAMDISK) { + if (symlink(IMAGE_LOCATION LIVE_LOCATION, STAGE2_LOCATION) != 0) { + perror("symlink"); + printf("symlink from " IMAGE_LOCATION LIVE_LOCATION " to " STAGE2_LOCATION " failed"); + fatal_error(strerror(errno)); + } + } + if (interactive_pid != 0) kill(interactive_pid, 9);