]> git.ipfire.org Git - people/pmueller/ipfire-2.x.git/commitdiff
Kleiner netter neuer Versuch.
authorms <ms@ea5c0bd1-69bd-2848-81d8-4f18e57aeed8>
Tue, 28 Nov 2006 21:27:53 +0000 (21:27 +0000)
committerms <ms@ea5c0bd1-69bd-2848-81d8-4f18e57aeed8>
Tue, 28 Nov 2006 21:27:53 +0000 (21:27 +0000)
git-svn-id: http://svn.ipfire.org/svn/ipfire/trunk@352 ea5c0bd1-69bd-2848-81d8-4f18e57aeed8

lfs/pxe
src/install+setup/install/nic.c

diff --git a/lfs/pxe b/lfs/pxe
index 2949db688545a55d5aa5fcb44b560173225f1a6c..017027879ff3c16ea41217a1abf951db44cb8e57 100644 (file)
--- a/lfs/pxe
+++ b/lfs/pxe
@@ -58,6 +58,7 @@ $(TARGET) :
                -e "s|instroot|$(VERSION)/instroot|" \
                        /install/cdrom/boot/isolinux/isolinux.cfg \
                        > /tmp/pxelinux.cfg/$(SNAME)-pxe-$(VERSION).model
                -e "s|instroot|$(VERSION)/instroot|" \
                        /install/cdrom/boot/isolinux/isolinux.cfg \
                        > /tmp/pxelinux.cfg/$(SNAME)-pxe-$(VERSION).model
+       ln -s $(SNAME)-pxe-$(VERSION).model /tmp/pxelinux.cfg/default
        chmod 444 /tmp/$(VERSION)/instroot.gz
        cd /tmp && tar cvzf \
                /install/images/$(SNAME)-$(VERSION)-pxe-$(MACHINE).tgz *
        chmod 444 /tmp/$(VERSION)/instroot.gz
        cd /tmp && tar cvzf \
                /install/images/$(SNAME)-$(VERSION)-pxe-$(MACHINE).tgz *
index 73368e00a201ad300a32536f16856d1c10b6688e..36c13a9b1a419581ad35536fa2c4fa04e4a8f0a2 100644 (file)
@@ -7,8 +7,6 @@
  * Contains stuff related to firing up the network card, including a crude
  * autodector.
  * 
  * Contains stuff related to firing up the network card, including a crude
  * autodector.
  * 
- * $Id: nic.c,v 1.8.2.1 2004/04/14 22:05:40 gespinasse Exp $
- * 
  */
 
 #include "install.h"
  */
 
 #include "install.h"
@@ -34,6 +32,8 @@ int networkmenu(struct keyvalue *ethernetkv)
        char commandstring[STRING_SIZE];
        char address[STRING_SIZE], netmask[STRING_SIZE];
        int done;
        char commandstring[STRING_SIZE];
        char address[STRING_SIZE], netmask[STRING_SIZE];
        int done;
+       FILE *handle;
+       char line[STRING_SIZE];
        char description[1000];
        char message[1000];
        char title[STRING_SIZE];
        char description[1000];
        char message[1000];
        char title[STRING_SIZE];
@@ -46,28 +46,34 @@ int networkmenu(struct keyvalue *ethernetkv)
                
                if (rc == 0 || rc == 1)
                {
                
                if (rc == 0 || rc == 1)
                {
-                       probecards(driver, driveroptions);
-                       if (!strlen(driver))
-                               errorbox(ctr[TR_PROBE_FAILED]);
-                       else
+                       sprintf(commandstring, "/bin/probenic.sh 1");
+                       sprintf(message, ctr[TR_PROBING_FOR_NICS]);
+                       runcommandwithstatus(commandstring, message);
+
+                       if ((handle = fopen("/nicdriver", "r")))
                        {
                        {
-                               findnicdescription(driver, description);
-                               sprintf (title, "%s v%s - %s", NAME, VERSION, SLOGAN);
-                               sprintf(message, ctr[TR_FOUND_NIC], NAME, description);
-                               newtWinMessage(title, ctr[TR_OK], message);
-                       }               
-               }                       
+                               char *driver;
+                               fgets(line, STRING_SIZE-1, handle);
+                               fclose(handle);
+                               line[strlen(line) - 1] = 0;
+                               driver = strtok(line, ".");
+                               fprintf(flog, "Detected NIC driver: %s\n",driver);
+                               if (strlen(driver) > 1) {
+                                       strcpy(driveroptions, "");
+                                       findnicdescription(driver, description);
+                                       sprintf (title, "%s %s - %s", NAME, VERSION, SLOGAN);
+                                       sprintf(message, ctr[TR_FOUND_NIC], NAME, description);
+                                       newtWinMessage(title, ctr[TR_OK], message);
+                               } else {
+                                       errorbox(ctr[TR_PROBE_FAILED]);
+                               }
+                       }
+               }
                else if (rc == 2)
                        choosecards(driver, driveroptions);
                else
                else if (rc == 2)
                        choosecards(driver, driveroptions);
                else
-                       done = 1;       
-                       
-               if (strlen(driver))
                        done = 1;
        }
                        done = 1;
        }
-       
-       if (!strlen(driver))
-               goto EXIT;
 
        /* Default is a GREEN nic only. */
        /* Smoothie is not untarred yet, so we have to delay actually writing the
 
        /* Default is a GREEN nic only. */
        /* Smoothie is not untarred yet, so we have to delay actually writing the