diff options
author | Jeremy Katz <katzj@redhat.com> | 2004-12-14 19:17:36 +0000 |
---|---|---|
committer | Jeremy Katz <katzj@redhat.com> | 2004-12-14 19:17:36 +0000 |
commit | f47b6e4e6fc9a5b80732b3761c8a97b0ffba7f45 (patch) | |
tree | 10d7de8380b08e74db1adfdc4774a39839b407df | |
parent | 2e800f9ff654c242fc23b8b66eca8d2296629ff5 (diff) | |
download | anaconda-f47b6e4e6fc9a5b80732b3761c8a97b0ffba7f45.tar.gz anaconda-f47b6e4e6fc9a5b80732b3761c8a97b0ffba7f45.tar.xz anaconda-f47b6e4e6fc9a5b80732b3761c8a97b0ffba7f45.zip |
2004-12-14 Jeremy Katz <katzj@redhat.com>
* loader2/driverdisk.c (useKickstartDD): Add support for
biosdev in driverdisk directive. Patch basically from Rez Kabir
AT dell (#142738)
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | loader2/driverdisk.c | 23 |
2 files changed, 29 insertions, 0 deletions
@@ -1,3 +1,9 @@ +2004-12-14 Jeremy Katz <katzj@redhat.com> + + * loader2/driverdisk.c (useKickstartDD): Add support for + biosdev in driverdisk directive. Patch basically from Rez Kabir + AT dell (#142738) + 2004-12-14 Paul Nasrat <pnasrat@redhat.com> * lvm.py: LVM on RAID - (#141781) diff --git a/loader2/driverdisk.c b/loader2/driverdisk.c index 996121368..6b1928d54 100644 --- a/loader2/driverdisk.c +++ b/loader2/driverdisk.c @@ -43,6 +43,7 @@ #include "../isys/isys.h" #include "../isys/imount.h" +#include "../isys/eddsupport.h" static char * driverDiskFiles[] = { "modinfo", "modules.dep", "pcitable", "modules.cgz", NULL }; @@ -596,12 +597,17 @@ void useKickstartDD(struct loaderData_s * loaderData, char * fstype = NULL; char * dev = NULL; char * src = NULL; + + char * biospart = NULL, * p = NULL; + int usebiosdev = 0; + poptContext optCon; int rc; int flags = *flagsPtr; struct poptOption ksDDOptions[] = { { "type", '\0', POPT_ARG_STRING, &fstype, 0 }, { "source", '\0', POPT_ARG_STRING, &src, 0 }, + { "biospart", '\0', POPT_ARG_NONE, &usebiosdev, 0 }, { 0, 0, 0, 0, 0 } }; @@ -622,6 +628,23 @@ void useKickstartDD(struct loaderData_s * loaderData, return; } + if (usebiosdev != 0) { + p = strchr(dev,'p'); + if (!p){ + logMessage("Bad argument for biospart"); + return; + } + *p = '\0'; + + biospart = getBiosDisk(dev); + if (biospart == NULL) { + logMessage("Unable to locate BIOS dev %s",dev); + return; + } + dev = malloc(strlen(biospart) + strlen(p + 1) + 2); + sprintf(dev, "%s%s", biospart, p + 1); + } + if (dev) { return getDDFromDev(loaderData, dev, fstype, flags); } else { |