summaryrefslogtreecommitdiffstats
path: root/mdk-stage1/stage1.c
diff options
context:
space:
mode:
authorGuillaume Cottenceau <gc@mandriva.com>2000-12-12 21:05:30 +0000
committerGuillaume Cottenceau <gc@mandriva.com>2000-12-12 21:05:30 +0000
commit2b2914cc04a93ca362e4eb3663061c3039aa4049 (patch)
tree3f8dbeae1bc114e58f3246cd76b9b0156392b720 /mdk-stage1/stage1.c
parent7852f76ee05551c05a4f833f9a55bec15f44f85d (diff)
downloaddrakx-2b2914cc04a93ca362e4eb3663061c3039aa4049.tar
drakx-2b2914cc04a93ca362e4eb3663061c3039aa4049.tar.gz
drakx-2b2914cc04a93ca362e4eb3663061c3039aa4049.tar.bz2
drakx-2b2914cc04a93ca362e4eb3663061c3039aa4049.tar.xz
drakx-2b2914cc04a93ca362e4eb3663061c3039aa4049.zip
- add pci probing feature
- add listing of available modules and insmod'ing on user request - make rescue-stage2 working
Diffstat (limited to 'mdk-stage1/stage1.c')
-rw-r--r--mdk-stage1/stage1.c17
1 files changed, 15 insertions, 2 deletions
diff --git a/mdk-stage1/stage1.c b/mdk-stage1/stage1.c
index 04cba80e7..b99435c59 100644
--- a/mdk-stage1/stage1.c
+++ b/mdk-stage1/stage1.c
@@ -56,11 +56,12 @@ void fatal_error(char *msg)
}
+
/* spawns a shell on console #2 */
void spawn_shell(void)
{
- pid_t pid;
int fd;
+ pid_t pid;
char * shell_name = "/sbin/sash";
log_message("spawning a shell..");
@@ -94,6 +95,7 @@ void spawn_shell(void)
}
}
+
enum return_type method_select_and_prepare(void)
{
char * disk_install = "Hard disk";
@@ -180,8 +182,19 @@ int main(int argc, char **argv)
fatal_error("symlink to /tmp/stage2 failed");
}
+ if (IS_RESCUE) {
+ int fd = open("/proc/sys/kernel/real-root-dev", O_RDWR);
+#ifdef __sparc__
+ write(fd, "0x1030000", sizeof("0x1030000")); /* ram3 or sparc */
+#else
+ write(fd, "0x103", sizeof("0x103")); /* ram3 */
+#endif
+ close(fd);
+ return 0;
+ }
+
if (IS_TESTING)
- return 0;
+ return 0;
argptr = stage2_args;
*argptr++ = "/usr/bin/runinstall2";