summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--loader2/driverdisk.c6
-rwxr-xr-xscripts/mk-images8
2 files changed, 12 insertions, 2 deletions
diff --git a/loader2/driverdisk.c b/loader2/driverdisk.c
index 43e0f56dd..fdb571d3e 100644
--- a/loader2/driverdisk.c
+++ b/loader2/driverdisk.c
@@ -48,6 +48,7 @@ static char * driverDiskFiles[] = { "modinfo", "modules.dep", "pcitable",
"modules.cgz", NULL };
+static char * optionalFiles[] = { "modules.pcimap", "pci.ids", NULL };
static int verifyDriverDisk(char *mntpt, int flags) {
char ** fnPtr;
@@ -127,6 +128,11 @@ static int loadDriverDisk(moduleInfoSet modInfo, moduleList modLoaded,
sprintf(dest, "/tmp/ramfs/DD-%d/%s", disknum, *fnPtr);
copyFile(file, dest);
}
+ for (fnPtr = optionalFiles; *fnPtr; fnPtr++) {
+ sprintf(file, "%s/%s", mntpt, *fnPtr);
+ sprintf(dest, "/tmp/ramfs/DD-%d/%s", disknum, *fnPtr);
+ copyFile(file, dest);
+ }
location = malloc(sizeof(struct moduleBallLocation));
location->title = strdup(title);
diff --git a/scripts/mk-images b/scripts/mk-images
index 3206f8a43..d4d8e47db 100755
--- a/scripts/mk-images
+++ b/scripts/mk-images
@@ -106,12 +106,13 @@ TOPDIR=$(cd $TOPDIR; pwd)
BOOTDISKDIR=$IMGPATH/usr/lib/anaconda-runtime/boot
LANGTABLE=$IMGPATH/usr/lib/anaconda/lang-table
PCITABLE=$IMGPATH/usr/share/hwdata/pcitable
+ PCIIDS=$IMGPATH/usr/share/hwdata/pci.ids
CACHE=$KERNELBASE/.cache
MODULESUSED=$KERNELBASE/modules-used
touch $MODULESUSED
- REQUIREMENTS="$TRIMPCITABLE $TRIMMODMAP $PCITABLE $GETMODDEPS $MODINFO
+ REQUIREMENTS="$TRIMPCITABLE $TRIMMODMAP $PCITABLE $PCIIDS $GETMODDEPS $MODINFO
$FILTERMODDEPS $LANGTABLE $GETKEYMAPS $TRIMUSBMAP"
dieLater=
@@ -298,7 +299,8 @@ makemoduleball() {
MMB_MODULESET=$(resdeps $2)
rm -rf $MMB_DIR/modules $MMB_DIR/$MMB_NAME $MMB_DIR/modules.dep \
- $MMB_DIR/modules.pcimap $MMB_DIR/pcitable $MMB_DIR/$MMB_MODINFO
+ $MMB_DIR/modules.pcimap $MMB_DIR/pcitable $MMB_DIR/$MMB_MODINFO \
+ $MMB_DIR/pci.ids
mkdir -p $MMB_DIR/modules
MMB_MODULESET=$(intcopymodules "$MMB_MODULESET" $MMB_DIR/modules)
@@ -322,6 +324,8 @@ makemoduleball() {
if [ "$(ls -s ../modules.usbmap |cut -f 1 -d ' ')" = "0" ]; then
rm -f ../modules.usbmap
fi
+ # create the pci.ids
+ awk '!/^(\t\t|#)/ { print ;if ($0 == "ffff Illegal Vendor ID") nextfile; }' < $PCIIDS > ../pci.ids
if [ -n "$MMB_DD" ]; then
echo $MMB_DD > $MMB_DIR/rhdd