]> git.ipfire.org Git - people/teissler/ipfire-2.x.git/commitdiff
Netzwerkinstallation und PXE ausgebaut.
authorms <ms@ea5c0bd1-69bd-2848-81d8-4f18e57aeed8>
Sat, 15 Sep 2007 19:10:07 +0000 (19:10 +0000)
committerms <ms@ea5c0bd1-69bd-2848-81d8-4f18e57aeed8>
Sat, 15 Sep 2007 19:10:07 +0000 (19:10 +0000)
git-svn-id: http://svn.ipfire.org/svn/ipfire/trunk@892 ea5c0bd1-69bd-2848-81d8-4f18e57aeed8

lfs/pxe [deleted file]
make.sh
src/install+setup/install/Makefile
src/install+setup/install/install.h
src/install+setup/install/main.c
src/install+setup/install/net.c [deleted file]
src/install+setup/install/nic.c [deleted file]

diff --git a/lfs/pxe b/lfs/pxe
deleted file mode 100644 (file)
index abea72d..0000000
--- a/lfs/pxe
+++ /dev/null
@@ -1,72 +0,0 @@
-###############################################################################
-#                                                                             #
-# IPFire.org - A linux based firewall                                         #
-# Copyright (C) 2007  Michael Tremer & Christian Schmidt                      #
-#                                                                             #
-# This program is free software: you can redistribute it and/or modify        #
-# it under the terms of the GNU General Public License as published by        #
-# the Free Software Foundation, either version 3 of the License, or           #
-# (at your option) any later version.                                         #
-#                                                                             #
-# This program is distributed in the hope that it will be useful,             #
-# but WITHOUT ANY WARRANTY; without even the implied warranty of              #
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the               #
-# GNU General Public License for more details.                                #
-#                                                                             #
-# You should have received a copy of the GNU General Public License           #
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.       #
-#                                                                             #
-###############################################################################
-
-###############################################################################
-# Definitions
-###############################################################################
-
-include Config
-
-VER = ipfire
-
-THISAPP    = pxe
-TARGET     = $(DIR_INFO)/$(THISAPP)
-
-###############################################################################
-# Top-level Rules
-###############################################################################
-
-install : $(TARGET)
-
-check :
-
-download :
-
-md5 :
-
-###############################################################################
-# Installation Details
-###############################################################################
-
-$(TARGET) :
-       # Create install pxe package as an alternate way to boot during install
-       rm -rf /tmp/*
-       mkdir -p /tmp/$(VERSION) /tmp/pxelinux.cfg
-       cp /usr/lib/syslinux/pxelinux.0 /tmp
-       cp /install/images/initrd                   /tmp/$(VERSION)/instroot
-       cp /boot/vmlinuz-$(KVER)-ipfire             /tmp/$(VERSION)/vmlinuz
-       cp $(DIR_SRC)/config/syslinux/options.msg   /tmp/$(VERSION)/options.msg
-       cp $(DIR_SRC)/config/syslinux/splash.lss    /tmp/$(VERSION)/splash.lss
-       cp /usr/lib/memtest86+/memtest.bin          /tmp/$(VERSION)/memtest
-       sed     -e "s|splash.lss|$(VERSION)/splash.lss|"   \
-                       $(DIR_SRC)/config/syslinux/boot.msg \
-                       > /tmp/$(VERSION)/boot.msg
-       sed     -e "s|vmlinuz|$(VERSION)/vmlinuz|"   \
-               -e "s|instroot|$(VERSION)/instroot|" \
-               -e "s|KERNEL memtest|KERNEL $(VERSION)/memtest|" \
-               -e "s|boot.msg|$(VERSION)/boot.msg|" \
-               -e "s|options.msg|$(VERSION)/options.msg|" \
-                       $(DIR_SRC)/config/syslinux/syslinux.cfg \
-                       > /tmp/pxelinux.cfg/$(SNAME)-pxe-$(VERSION).model
-       ln -s $(SNAME)-pxe-$(VERSION).model /tmp/pxelinux.cfg/default
-       chmod 444 /tmp/$(VERSION)/instroot
-       cd /tmp && tar cvzf \
-               /install/images/$(SNAME)-$(VERSION).$(MACHINE)-pxe.tgz *
-       rm -rf /tmp/*
diff --git a/make.sh b/make.sh
index df26245fc8235a321125ffb6987d317e330114dd..cbae806fca1ec5395d6b6bef53bfb248c7b1d8c0 100755 (executable)
--- a/make.sh
+++ b/make.sh
@@ -598,7 +598,6 @@ buildpackages() {
   if [ -e /dev/loop/0 ] || [ -e /dev/loop0 ]; then
        ipfiremake usb-stick
   fi
-  ipfiremake pxe
   mv $LFS/install/images/{*.iso,*.tgz,*.img.gz} $BASEDIR >> $LOGFILE 2>&1
 
   ipfirepackages
index a27dcb55eb5b4e24b080caee3e13495a17cce3f2..a3c95f7515b0f29e71742a12555e5ebae1e7c08e 100644 (file)
@@ -40,7 +40,7 @@ clean :
 
 ######
 
-OBJS=main.o nic.o net.o config.o ../libsmooth/libsmooth.o unattended.o
+OBJS=main.o config.o ../libsmooth/libsmooth.o unattended.o
 
 install: $(OBJS)
        $(LINK) $(OBJS) -o $@ $(LIBS)
index 14df0531abccf9d933581bc195897e73deb90c27..a6e110f44d186cbfa10cb544e2fa76425ebff6a2 100644 (file)
@@ -26,12 +26,6 @@ struct devparams
        char options[STRING_SIZE];
 };
 
-/* nic.c */
-int networkmenu(struct keyvalue *ethernetkv);
-
-/* net.c */
-int checktarball(char *, char *message);
-
 /* config.c */
 int write_disk_configs(struct devparams *dp);
 int write_lang_configs( char *lang);
index 938329f533ed624fd8eafd3216ce2b01a8c05880..e0433c461a932a6efa0b5093ce21a2627ca52745 100644 (file)
@@ -11,9 +11,6 @@
 #include "install.h"
 #define _GNU_SOURCE
  
-#define CDROM_INSTALL 0
-#define URL_INSTALL 1
-#define DISK_INSTALL 2
 #define INST_FILECOUNT 6200
 #define UNATTENDED_CONF "/cdrom/boot/unattended.conf"
 
@@ -34,23 +31,6 @@ struct knic knics[20] = { { "" , "" , "" , "" } }; // only defined for compile
 extern char *en_tr[];
 extern char *de_tr[];
 
-int detect_smp() {
-       FILE *fd = NULL;
-       char line[STRING_SIZE];
-       int cpu_count = 0;
-
-       if ((fd = fopen("/proc/cpuinfo", "r")) == NULL) {
-               return 0;
-       }
-       while (fgets(line, STRING_SIZE, fd) != NULL) {
-               if (strstr(line, "processor") == line) {
-                       cpu_count++;
-               }
-       }
-       (void)fclose(fd);
-       return (cpu_count > 1);
-}
-
 int main(int argc, char *argv[])
 {
        char *langnames[] = { "Deutsch", "English", NULL };
@@ -59,11 +39,8 @@ int main(int argc, char *argv[])
        char hdletter;
        char harddrive[11], sourcedrive[5];     /* Device holder. */
        struct devparams hdparams, cdromparams; /* Params for CDROM and HD */
-       int cdmounted = 0; /* Loop flag for inserting a cd. */
        int rc = 0;
        char commandstring[STRING_SIZE];
-       char *installtypes[] = { "CDROM/USB", "HTTP/FTP", NULL };
-       int installtype = CDROM_INSTALL;
        char mkfscommand[STRING_SIZE];
        char *fstypes[] = { "Reiser4", "ReiserFS", "ext3", NULL };
        int fstype = REISER4;
@@ -167,61 +144,25 @@ int main(int argc, char *argv[])
        // Starting hardware detection
        runcommandwithstatus("/bin/probehw.sh", ctr[TR_PROBING_HARDWARE]);
 
-       if (!unattended) {
-               sprintf(message, ctr[TR_WELCOME], NAME);
-               newtWinMessage(title, ctr[TR_OK], message);
-
-               sprintf(message, ctr[TR_SELECT_INSTALLATION_MEDIA_LONG], NAME);
-               rc = newtWinMenu(ctr[TR_SELECT_INSTALLATION_MEDIA], message,
-                       50, 5, 5, 6, installtypes, &installtype, ctr[TR_OK],
-                       ctr[TR_CANCEL], NULL);
-       } else {
-           rc = 1;
-           installtype = CDROM_INSTALL;
-       }
+       sprintf(message, ctr[TR_WELCOME], NAME);
+       newtWinMessage(title, ctr[TR_OK], message);
 
-       if (rc == 2)
+       switch (mysystem("/bin/mountsource.sh")) {
+           case 0:
+                               break;
+           case 10:
+       errorbox(ctr[TR_NO_CDROM]);
                goto EXIT;
-
-       /* CDROM INSTALL */
-       if (installtype == CDROM_INSTALL) {
-               switch (mysystem("/bin/mountsource.sh")) {
-                   case 0:
-                                       installtype = CDROM_INSTALL;
-                                       cdmounted = 1;
-                       break;
-                   case 1:
-                                       installtype = DISK_INSTALL;
-                       break;
-                   case 10:
-               errorbox(ctr[TR_NO_CDROM]);
-                       goto EXIT;
-               }
-
-               /* read source drive letter */
-               if ((handle = fopen("/tmp/source_device", "r")) == NULL) {
-                       errorbox(ctr[TR_ERROR_PROBING_CDROM]);
-                       goto EXIT;
-               }
-               fgets(sourcedrive, 5, handle);
-               fprintf(flog, "Source drive: %s\n", sourcedrive);
-               fclose(handle);
        }
 
-       /* Configure the network now! */
-       if (installtype == URL_INSTALL) {
-               /* Network driver and params. */
-               if (!(networkmenu(ethernetkv))) {
-                       errorbox(ctr[TR_NETWORK_SETUP_FAILED]);
-                       goto EXIT;
-               }
-
-               /* Check for ipfire-<VERSION>.tbz2 */
-               if (checktarball(SNAME "-" VERSION ".tbz2", ctr[TR_ENTER_URL])) {
-                       errorbox(ctr[TR_NO_IPCOP_TARBALL_FOUND]);
-                       goto EXIT;
-               }
+       /* read source drive letter */
+       if ((handle = fopen("/tmp/source_device", "r")) == NULL) {
+               errorbox(ctr[TR_ERROR_PROBING_CDROM]);
+               goto EXIT;
        }
+       fgets(sourcedrive, 5, handle);
+       fprintf(flog, "Source drive: %s\n", sourcedrive);
+       fclose(handle);
        
        i = 0;
        while (found == 0) {
@@ -489,15 +430,8 @@ int main(int argc, char *argv[])
                goto EXIT;
        }
 
-       if (installtype == URL_INSTALL) {
-               snprintf(commandstring, STRING_SIZE,
-                       "/bin/wget -q -O - %s/" SNAME "-" VERSION ".tbz2 | /bin/tar -C /harddisk -xvjf -", url);
-       }
-
-       if (installtype == CDROM_INSTALL) {
-               snprintf(commandstring, STRING_SIZE,
-                       "/bin/tar -C /harddisk -xvjf /cdrom/" SNAME "-" VERSION ".tbz2");
-       }
+       snprintf(commandstring, STRING_SIZE,
+               "/bin/tar -C /harddisk -xvjf /cdrom/" SNAME "-" VERSION ".tbz2");
        
        if (runcommandwithprogress(60, 4, title, commandstring, INST_FILECOUNT,
                ctr[TR_INSTALLING_FILES]))
@@ -581,7 +515,7 @@ int main(int argc, char *argv[])
        chmod("/harddisk/boot/grub/grubbatch", S_IXUSR | S_IRUSR | S_IXGRP | S_IRGRP | S_IXOTH | S_IROTH);
 
        snprintf(commandstring, STRING_SIZE, 
-                "/sbin/chroot /harddisk /boot/grub/grubbatch");
+                "/sbin/chroot /harddisk /usr/sbin/grub-install --no-floppy %s", hdparams.devnode_disk);
        if (runcommandwithstatus(commandstring, ctr[TR_INSTALLING_GRUB])) {
                errorbox(ctr[TR_UNABLE_TO_INSTALL_GRUB]);
                goto EXIT;
diff --git a/src/install+setup/install/net.c b/src/install+setup/install/net.c
deleted file mode 100644 (file)
index e4efc8f..0000000
+++ /dev/null
@@ -1,73 +0,0 @@
-/* SmoothWall install program.
- *
- * This program is distributed under the terms of the GNU General Public
- * Licence.  See the file COPYING for details.
- *
- * (c) Lawrence Manning, 2001
- * Stuff for downloading the smoothwall tarball using wget.
- * 
- */
-#include "install.h"
-
-extern FILE *flog;
-extern char *mylog;
-
-extern char **ctr;
-
-static int got_url = 0;
-
-char url[STRING_SIZE] = "http://";;
-
-static int gettarballurl(char *url, char *message);
-
-int checktarball(char *file, char *message)
-{
-       int done;
-       int tries = 0;
-       char commandstring[STRING_SIZE];
-
-       done = 0;
-       while (!done)
-       {
-               if (!got_url && gettarballurl(url, message) != 1)
-                       return 0;
-
-               /* remove any successive /'s */
-               while (url[strlen(url)-1] == '/') { url[strlen(url)-1] = '\0'; }
-
-               snprintf(commandstring, STRING_SIZE, "/bin/wget -q --spider -O /dev/null %s/%s", url, file);
-               if (!(runcommandwithstatus(commandstring, ctr[TR_CHECKING])))
-               {
-                       done = 1;
-                       got_url = 1;
-               } 
-               else 
-               {
-                       errorbox(ctr[TR_FAILED_TO_FIND]);
-                       got_url = 0;
-                       if (tries == 3)
-                               return 1; /* failure */
-               }
-               tries++;
-       }
-
-       return 0;
-}
-
-static int gettarballurl(char *url, char *message)
-{
-       char *values[] = { url, NULL }; /* pointers for the values. */
-       struct newtWinEntry entries[] =
-               { { "", &values[0], 0,}, { NULL, NULL, 0 } };
-       char title[STRING_SIZE];
-       int rc;
-
-       sprintf (title, "%s %s - %s", NAME, VERSION, SLOGAN);
-       rc = newtWinEntries(title, message,
-               60, 5, 5, 50, entries, ctr[TR_OK], ctr[TR_CANCEL], NULL);
-               
-       strncpy(url, values[0], STRING_SIZE);
-
-       return rc;
-}
diff --git a/src/install+setup/install/nic.c b/src/install+setup/install/nic.c
deleted file mode 100644 (file)
index 966f7c8..0000000
+++ /dev/null
@@ -1,94 +0,0 @@
-/* SmoothWall install program.
- *
- * This program is distributed under the terms of the GNU General Public
- * Licence.  See the file COPYING for details.
- *
- * (c) Lawrence Manning, 2001
- * Contains stuff related to firing up the network card, including a crude
- * autodector.
- * 
- */
-
-#include "install.h"
-
-#include <sys/socket.h>
-#include <netinet/in.h>
-#include <arpa/inet.h>
-
-extern FILE *flog;
-extern char *mylog;
-
-extern char **ctr;
-
-//extern struct nic nics[];
-//extern struct knic knics[];
-
-int networkmenu(struct keyvalue *ethernetkv)
-{
-       int rc;
-       char driver[STRING_SIZE] = "";
-       char driveroptions[STRING_SIZE] = "";
-       int result = 0;
-       char commandstring[STRING_SIZE];
-       char address[STRING_SIZE], netmask[STRING_SIZE];
-       int done;
-       char description[1000];
-       char message[1000];
-       char title[STRING_SIZE];
-       done = 0;
-
-       while (!done)
-       {
-               rc = newtWinTernary(ctr[TR_CONFIGURE_NETWORKING], ctr[TR_PROBE], 
-                       ctr[TR_SELECT], ctr[TR_CANCEL], ctr[TR_CONFIGURE_NETWORKING_LONG]);
-               
-               if (rc == 0 || rc == 1)
-               {
-                       probecards(driver, driveroptions);
-                       if (!strlen(driver))
-                               errorbox(ctr[TR_PROBE_FAILED]);
-                       else
-                       {
-                               //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);
-                       }               
-               }
-               else
-                       done = 1;       
-                       
-               if (strlen(driver))
-                       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
-        * settings till later. */
-       replacekeyvalue(ethernetkv, "CONFIG_TYPE", "0");
-       replacekeyvalue(ethernetkv, "GREEN_DEV", "eth0");
-       replacekeyvalue(ethernetkv, "GREEN_DISPLAYDRIVER", driver);
-       
-       if (!(changeaddress(ethernetkv, "GREEN", 0, "")))
-               goto EXIT;
-       
-       strcpy(address, ""); findkey(ethernetkv, "GREEN_ADDRESS", address);
-       strcpy(netmask, ""); findkey(ethernetkv, "GREEN_NETMASK", netmask);
-
-       snprintf(commandstring, STRING_SIZE, "/sbin/ifconfig eth0 %s netmask %s up", 
-               address, netmask);
-       if (mysystem(commandstring))
-       {
-               errorbox(ctr[TR_INTERFACE_FAILED_TO_COME_UP]);
-               goto EXIT;
-       }
-
-       result = 1;
-       
-EXIT:
-       
-       return result;
-}