Weitere Änderungen am Installer/Setup vorgenommen.

git-svn-id: http://svn.ipfire.org/svn/ipfire/trunk@576 ea5c0bd1-69bd-2848-81d8-4f18e57aeed8
This commit is contained in:
casemaster
2007-05-22 19:51:25 +00:00
parent f37700394e
commit f9cc0d708a
6 changed files with 36 additions and 18 deletions

View File

@@ -4,7 +4,7 @@
* Licence. See the file COPYING for details.
*
* (c) Lawrence Manning, 2001
* Contains main entry point, and misc functions.
* Contains main entry point, and misc functions.6
*
*/
@@ -25,8 +25,8 @@ char **ctr;
extern char url[STRING_SIZE];
struct nic nics[20] = { { "" , "" } }; // only defined for compile
struct knic knics[20] = { { "" , "" , "" } }; // only defined for compile
struct nic nics[20] = { { "" , "" , "" } }; // only defined for compile
struct knic knics[20] = { { "" , "" , "" , "" } }; // only defined for compile
extern char *en_tr[];
extern char *de_tr[];

View File

@@ -2,14 +2,14 @@
case "$1" in
install)
kudzu -qps -c NETWORK | egrep "desc|network.hwaddr" | \
kudzu -qps -c NETWORK | egrep "desc|network.hwaddr|driver" | \
awk -F": " '{ print $2";" }' | sed -e '/..:..:..:..:..:..;/a\X' | \
tr "\n" "X" | sed -e 's/XXX/\n/g' -e 's/;X/;/g' | \
sort > /tmp/scanned_nics 2>/dev/null
;;
"")
if [ ! -e /var/ipfire/ethernet/scan_lock ]; then
kudzu -qps -c NETWORK | egrep "desc|network.hwaddr" | \
kudzu -qps -c NETWORK | egrep "desc|network.hwaddr|driver" | \
awk -F": " '{ print $2";" }' | sed -e '/..:..:..:..:..:..;/a\X' | \
tr "\n" "X" | sed -e "s/XXX/\n/g" -e 's/;X/;/g' | \
sort > /var/ipfire/ethernet/scanned_nics 2>/dev/null

View File

@@ -59,12 +59,14 @@ struct keyvalue
};
struct nic
{
char driver[80];
char description[256];
char macaddr[20];
};
struct knic
{
char driver[80];
char description[256];
char macaddr[20];
char colour[20];

View File

@@ -330,7 +330,7 @@ int interfacecheck(struct keyvalue *kv, char *colour)
}
/* Funky routine for loading all drivers (cept those are already loaded.). */
int probecards(char *driver, char *driveroptions)
int probecards(char *driver, char *driveroptions )
{
return 0;
}
@@ -354,7 +354,7 @@ void strupper(unsigned char *string)
}
*/
int write_configs_netudev(char *description, char *macaddr, int colour)
int write_configs_netudev(int card , int colour)
{
#define UDEV_NET_CONF "/etc/udev/rules.d/30-persistent-network.rules"
FILE *fp;
@@ -367,8 +367,9 @@ int write_configs_netudev(char *description, char *macaddr, int colour)
// strupper(ucolour);
sprintf(ucolour, ucolourcard[colour]);
strcpy(knics[colour].description, description);
strcpy(knics[colour].macaddr, macaddr);
strcpy(knics[colour].driver, nics[card].driver);
strcpy(knics[colour].description, nics[card].description);
strcpy(knics[colour].macaddr, nics[card].macaddr);
if (!(readkeyvalues(kv, CONFIG_ROOT "/ethernet/settings")))
{
@@ -381,9 +382,11 @@ int write_configs_netudev(char *description, char *macaddr, int colour)
sprintf(temp2, "%s_MACADDR", ucolour);
sprintf(temp3, "%s0", lcolourcard[colour]);
replacekeyvalue(kv, temp1, temp3);
replacekeyvalue(kv, temp2, macaddr);
replacekeyvalue(kv, temp2, nics[card].macaddr);
sprintf(temp1, "%s_DESCRIPTION", ucolour);
replacekeyvalue(kv, temp1, description);
replacekeyvalue(kv, temp1, nics[card].description);
sprintf(temp1, "%s_DRIVER", ucolour);
replacekeyvalue(kv, temp1, nics[card].driver);
writekeyvalues(kv, CONFIG_ROOT "/ethernet/settings");
freekeyvalues(kv);
@@ -403,7 +406,7 @@ int write_configs_netudev(char *description, char *macaddr, int colour)
fprintf(stderr,"Couldn't open" UDEV_NET_CONF);
return 1;
}
fprintf(fp,"ACTION==\"add\", SUBSYSTEM==\"net\", SYSFS{address}==\"%s\", NAME=\"%s0\" # %s\n", macaddr, lcolourcard[colour], description);
fprintf(fp,"ACTION==\"add\", SUBSYSTEM==\"net\", SYSFS{address}==\"%s\", NAME=\"%s0\" # %s\n", nics[card].macaddr, lcolourcard[colour], nics[card].description);
fclose(fp);
return 0;
@@ -412,7 +415,7 @@ int write_configs_netudev(char *description, char *macaddr, int colour)
int scan_network_cards(void)
{
FILE *fp;
char description[STRING_SIZE], macaddr[STRING_SIZE], temp_line[STRING_SIZE];
char driver[STRING_SIZE], description[STRING_SIZE], macaddr[STRING_SIZE], temp_line[STRING_SIZE];
int count = 0;
if (!(scanned_nics_read_done))
@@ -427,11 +430,13 @@ int scan_network_cards(void)
}
while (fgets(temp_line, STRING_SIZE, fp) != NULL)
{
strcpy(description, strtok(temp_line,";"));
strcpy(driver, strtok(temp_line,";"));
strcpy(description, strtok(NULL,";"));
strcpy(macaddr, strtok(NULL,";"));
if ( strlen(macaddr) ) {
strcpy(nics[count].driver , driver );
strcpy(nics[count].description , description );
strcpy(nics[count].macaddr , macaddr );
strcpy(nics[count].macaddr , macaddr );
count++;
}
}
@@ -506,7 +511,7 @@ int nicmenu(int colour)
rc = newtWinMenu("(TR) NetcardMenu2", message, 50, 5, 5, 6, pMenuInhalt, &choise, ctr[TR_OK], ctr[TR_SELECT], ctr[TR_CANCEL], NULL);
if ( rc == 0 || rc == 1) {
write_configs_netudev(nics[choise].description, nics[found_NIC_as_Card[choise]].macaddr, colour);
write_configs_netudev(found_NIC_as_Card[choise], colour);
} else if (rc == 2) {
// manualdriver("pcnet32","");
}
@@ -530,9 +535,12 @@ int clear_card_entry(int card)
return 0;
}
strcpy(knics[card].driver, "");
strcpy(knics[card].description, ctr[TR_UNSET]);
strcpy(knics[card].macaddr, "");
strcpy(knics[card].colour, "");
sprintf(temp, "%s_DRIVER", ucolourcard[card]);
replacekeyvalue(kv, temp, "");
sprintf(temp, "%s_DEV", ucolourcard[card]);
replacekeyvalue(kv, temp, "");
sprintf(temp, "%s_MACADDR", ucolourcard[card]);

View File

@@ -21,8 +21,8 @@ char **ctr = NULL;
int automode = 0;
struct nic nics[20] = { { "" , "" } };
struct knic knics[20] = { { "" , "" , "" } };
struct nic nics[20] = { { "" , "" , "" } };
struct knic knics[20] = { { "" , "" , "" , "" } };
extern char *en_tr[];
extern char *de_tr[];

View File

@@ -348,6 +348,8 @@ int drivermenu(void)
strcpy(knics[_GREEN_CARD_].colour, "GREEN");
findkey(kv, "GREEN_DESCRIPTION", temp);
strcpy(knics[_GREEN_CARD_].description, temp);
findkey(kv, "GREEN_DRIVER", temp);
strcpy(knics[_GREEN_CARD_].driver, temp);
kcount++;
} else {
strcpy(knics[_GREEN_CARD_].description, ctr[TR_UNSET]);
@@ -367,6 +369,8 @@ int drivermenu(void)
strcpy(knics[_RED_CARD_].colour, "RED");
findkey(kv, "RED_DESCRIPTION", temp);
strcpy(knics[_RED_CARD_].description, temp);
findkey(kv, "RED_DRIVER", temp);
strcpy(knics[_RED_CARD_].driver, temp);
kcount++;
} else {
strcpy(knics[_RED_CARD_].description, ctr[TR_UNSET]);
@@ -386,6 +390,8 @@ int drivermenu(void)
strcpy(knics[_ORANGE_CARD_].colour, "ORANGE");
findkey(kv, "ORANGE_DESCRIPTION", temp );
strcpy(knics[_ORANGE_CARD_].description, temp );
findkey(kv, "ORANGE_DRIVER", temp);
strcpy(knics[_ORANGE_CARD_].driver, temp);
kcount++;
} else {
strcpy(knics[_ORANGE_CARD_].description, ctr[TR_UNSET]);
@@ -405,6 +411,8 @@ int drivermenu(void)
strcpy(knics[_BLUE_CARD_].colour, "BLUE");
findkey(kv, "BLUE_DESCRIPTION", temp );
strcpy(knics[_BLUE_CARD_].description, temp);
findkey(kv, "BLUE_DRIVER", temp);
strcpy(knics[_BLUE_CARD_].driver, temp);
kcount++;
} else {
strcpy(knics[_BLUE_CARD_].description, ctr[TR_UNSET]);