]> git.ipfire.org Git - people/teissler/ipfire-2.x.git/commitdiff
Moeglichkeit im Installer das Dateisystem auszuwaehlen...
authorms <ms@ea5c0bd1-69bd-2848-81d8-4f18e57aeed8>
Wed, 30 May 2007 19:01:59 +0000 (19:01 +0000)
committerms <ms@ea5c0bd1-69bd-2848-81d8-4f18e57aeed8>
Wed, 30 May 2007 19:01:59 +0000 (19:01 +0000)
git-svn-id: http://svn.ipfire.org/svn/ipfire/trunk@593 ea5c0bd1-69bd-2848-81d8-4f18e57aeed8

config/etc/fstab
config/kernel/kernel.config.i586
lfs/installer
lfs/linux
src/install+setup/install/installbootsplash.sh [deleted file]
src/install+setup/install/main.c

index 11db5f9ed8cb0ea81ad8368575932d1cac1ad621..b9f577476f63ba2e4254326b31adbc890a03525c 100644 (file)
@@ -3,8 +3,8 @@
 #                                                        order
 DEVICE1        /boot        ext2     defaults        1     2
 DEVICE2        swap         swap     pri=1           0     0
-DEVICE3        /            reiserfs defaults        1     1
-DEVICE4        /var         reiserfs defaults        1     1
+DEVICE3        /            FSTYPE   defaults        1     1
+DEVICE4        /var         FSTYPE   defaults        1     1
 proc           /proc        proc     defaults        0     0
 sysfs          /sys         sysfs    defaults        0     0
 devpts         /dev/pts     devpts   gid=4,mode=620  0     0
index 917e97c3aa7519674c512585b928f7d1efc6ae1b..2b05176918284cb7d24055867afba656f49336a3 100644 (file)
@@ -1,7 +1,7 @@
 #
 # Automatically generated make config: don't edit
 # Linux kernel version: 2.6.16.50-ipfire
-# Sun May 27 18:10:11 2007
+# Tue May 29 18:33:49 2007
 #
 CONFIG_X86_32=y
 CONFIG_SEMAPHORE_SLEEPERS=y
@@ -38,7 +38,6 @@ CONFIG_VM86=y
 CONFIG_CC_OPTIMIZE_FOR_SIZE=y
 # CONFIG_EMBEDDED is not set
 CONFIG_KALLSYMS=y
-# CONFIG_KALLSYMS_ALL is not set
 # CONFIG_KALLSYMS_EXTRA_PASS is not set
 CONFIG_HOTPLUG=y
 CONFIG_PRINTK=y
@@ -295,7 +294,6 @@ CONFIG_PCI_DIRECT=y
 CONFIG_PCI_MMCONFIG=y
 CONFIG_PCIEPORTBUS=y
 CONFIG_PCI_LEGACY_PROC=y
-# CONFIG_PCI_DEBUG is not set
 CONFIG_ISA_DMA_API=y
 CONFIG_ISA=y
 CONFIG_EISA=y
@@ -635,7 +633,6 @@ CONFIG_KLIPS_DEBUG=y
 # CONFIG_STANDALONE is not set
 # CONFIG_PREVENT_FIRMWARE_BUILD is not set
 CONFIG_FW_LOADER=m
-# CONFIG_DEBUG_DRIVER is not set
 
 #
 # Connector - unified userspace <-> kernelspace linker
@@ -2129,29 +2126,10 @@ CONFIG_NLS_UTF8=y
 #
 # CONFIG_PRINTK_TIME is not set
 # CONFIG_MAGIC_SYSRQ is not set
-CONFIG_DEBUG_KERNEL=y
-CONFIG_LOG_BUF_SHIFT=17
-CONFIG_DETECT_SOFTLOCKUP=y
-# CONFIG_SCHEDSTATS is not set
-# CONFIG_DEBUG_SLAB is not set
-CONFIG_DEBUG_MUTEXES=y
-# CONFIG_DEBUG_SPINLOCK is not set
-# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
-# CONFIG_DEBUG_KOBJECT is not set
-# CONFIG_DEBUG_HIGHMEM is not set
+# CONFIG_DEBUG_KERNEL is not set
+CONFIG_LOG_BUF_SHIFT=14
 CONFIG_DEBUG_BUGVERBOSE=y
-# CONFIG_DEBUG_INFO is not set
-# CONFIG_DEBUG_FS is not set
-# CONFIG_DEBUG_VM is not set
-CONFIG_FRAME_POINTER=y
-# CONFIG_FORCED_INLINING is not set
-# CONFIG_RCU_TORTURE_TEST is not set
 CONFIG_EARLY_PRINTK=y
-# CONFIG_DEBUG_STACKOVERFLOW is not set
-# CONFIG_DEBUG_STACK_USAGE is not set
-# CONFIG_DEBUG_PAGEALLOC is not set
-# CONFIG_DEBUG_RODATA is not set
-# CONFIG_4KSTACKS is not set
 
 #
 # Security options
index c763bb308c0871c39d63e945bdf02a00a227022d..abb717d7e444639c8d355e122c1201d2006dfc06 100644 (file)
@@ -62,6 +62,6 @@ $(TARGET) :
            -DNAME='\"$(NAME)\"' -DSNAME='\"$(SNAME)\"' -DVERSION='\"$(VERSION)\"' \
             -DSLOGAN='\"$(SLOGAN)\"' -DCONFIG_ROOT='\"$(CONFIG_ROOT)\"' -DKERNEL_VERSION='\"$(KVER)\"'"
        cd $(DIR_APP)/install && install -v -m 0755 install probenic.sh \
-               probehw.sh installbootsplash.sh mountsource.sh mountdest.sh /install/initrd/bin
+               probehw.sh mountsource.sh mountdest.sh /install/initrd/bin
        @rm -rf $(DIR_APP)
        @$(POSTBUILD)
index 5d4e0dd090bd856d902e58a582896867ec556a22..6907ef8368322aed205286f3097db80f1182d0f4 100644 (file)
--- a/lfs/linux
+++ b/lfs/linux
@@ -110,8 +110,8 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        @rm -rf $(DIR_APP) $(DIR_SRC)/linux $(DIR_SRC)/xen-* && cd $(DIR_SRC) && tar jxf $(DIR_DL)/$(DL_FILE)
        ln -s linux-$(VER) /usr/src/linux
        
-       # XEN
 ifeq "$(XEN)" "1"
+       # XEN
        -cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/xen-3.0.4-2.6.16.x.patch
        cd $(DIR_APP)/net/ipv4/netfilter && patch -Np0 < $(DIR_SRC)/src/patches/xen-3.0.4-netfilter-fix.patch
 endif
@@ -200,7 +200,7 @@ ifeq "$(XEN)" "1"
        cd $(DIR_APP) && make $(MAKETUNING) CC="$(KGCC)" vmlinuz
        cd $(DIR_APP) && cp -v vmlinuz /boot/vmlinuz-$(VER)-ipfire-xen
        cd $(DIR_APP) && cp -v System.map /boot/System.map-$(VER)-ipfire-xen
-       ln -sf vmlinuz-$(VER)-ipfire-smp /boot/vmlinuz-ipfire-xen
+       ln -sf vmlinuz-$(VER)-ipfire-xen /boot/vmlinuz-ipfire-xen
        cd $(DIR_APP) && make CC="$(KGCC)" $(MAKETUNING) modules
        cd $(DIR_APP) && make CC="$(KGCC)" $(MAKETUNING) modules_install
 else
@@ -220,8 +220,10 @@ endif
        -rm -rf /lib/modules/$(VER)-ipfire{,-smp}/pcmcia
 
 ifeq "$(SMP)" ""
+ifeq "$(XEN)" ""
        # Only do this once on the non-SMP pass 
        cd $(DIR_APP) && install -m 755 usr/gen_init_cpio /sbin/
+endif
 endif 
 
        @rm -rf $(DIR_SRC)/patch-o-matic* $(DIR_SRC)/iptables* $(DIR_SRC)/squashfs* $(DIR_SRC)/mISDN-* $(DIR_SRC)/netfilter-layer7-*
diff --git a/src/install+setup/install/installbootsplash.sh b/src/install+setup/install/installbootsplash.sh
deleted file mode 100644 (file)
index 9522203..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-#!/bin/sh
-if [ -e /harddisk/boot/ipfirerd.img ]; then
-       /sbin/chroot /harddisk /sbin/splash -s -f \
-               /boot/splash/config/bootsplash-1024x768.cfg >> /harddisk/boot/ipfirerd.img
-       /sbin/chroot /harddisk /sbin/splash -s -f \
-               /boot/splash/config/bootsplash-1024x768.cfg >> /harddisk/boot/ipfirerd-smp.img
-else
-       /sbin/chroot /harddisk /sbin/splash -s -f \
-               /boot/splash/config/bootsplash-1024x768.cfg >  /harddisk/boot/initrd.splash
-fi
index ea3c0cc2144f54f84e07ae23c1c543972d30936f..7557c0f5705cc8e5e45ef04d04d939e93bf4006e 100644 (file)
 #define CDROM_INSTALL 0
 #define URL_INSTALL 1
 #define DISK_INSTALL 2
-#define INST_FILECOUNT 7000
+#define INST_FILECOUNT 6000
 #define UNATTENDED_CONF "/cdrom/boot/unattended.conf"
 
+#define REISER4 0
+#define REISERFS 1
+#define EXT3 2
+
 int raid_disk = 0;
 FILE *flog = NULL;
 char *mylog;
@@ -72,6 +76,9 @@ int main(int argc, char *argv[])
        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;
        int choice;
        int i;
        int found = 0;
@@ -194,14 +201,14 @@ int main(int argc, char *argv[])
        if (installtype == CDROM_INSTALL) {
                switch (mysystem("/bin/mountsource.sh")) {
                    case 0:
-                       installtype = CDROM_INSTALL;
-                       cdmounted = 1;
+                                       installtype = CDROM_INSTALL;
+                                       cdmounted = 1;
                        break;
                    case 1:
-                       installtype = DISK_INSTALL;
+                                       installtype = DISK_INSTALL;
                        break;
                    case 10:
-                       errorbox(ctr[TR_NO_CDROM]);
+               errorbox(ctr[TR_NO_CDROM]);
                        goto EXIT;
                }
 
@@ -350,6 +357,18 @@ int main(int argc, char *argv[])
        if (rc == 2)
                goto EXIT;
 
+       if (!unattended) {              
+               sprintf(message, "(TR) Bitte waehlen Sie ihr Dateisystem aus:");
+               rc = newtWinMenu("(TR) Dateisystemauswahl", message,
+                       50, 5, 5, 6, fstypes, &fstype, ctr[TR_OK],
+                       ctr[TR_CANCEL], NULL);
+       } else {
+           rc = 1;
+           fstype = REISER4; // Reiser4 is our standard filesystem. Love it or shut up!
+       }
+       if (rc == 2)
+               goto EXIT;
+
        /* Calculate amount of memory in machine */
         if ((handle = fopen("/proc/meminfo", "r")))
         {
@@ -441,8 +460,17 @@ int main(int argc, char *argv[])
                errorbox(ctr[TR_UNABLE_TO_PARTITION]);
                goto EXIT;
        }
-
-       mysystem("/sbin/udevstart");
+       
+       if (fstype == REISER4) {
+               mysystem("/sbin/modprobe reiser4");
+               sprintf(mkfscommand, "/sbin/mkfs.reiser4 -y");
+       } else if (fstype == REISERFS) {
+               mysystem("/sbin/modprobe reiserfs");
+               sprintf(mkfscommand, "/sbin/mkreiserfs -f");
+       } else if (fstype == EXT3) {
+               mysystem("/sbin/modprobe ext3");
+               sprintf(mkfscommand, "/bin/mke2fs -T ext2 -c");
+       }
 
        snprintf(commandstring, STRING_SIZE, "/bin/mke2fs -T ext2 -c %s1", hdparams.devnode_part);
        if (runcommandwithstatus(commandstring, ctr[TR_MAKING_BOOT_FILESYSTEM]))
@@ -460,23 +488,20 @@ int main(int argc, char *argv[])
                }
        }
 
-       snprintf(commandstring, STRING_SIZE, "/sbin/mkreiserfs -f %s3", hdparams.devnode_part);
+       snprintf(commandstring, STRING_SIZE, "%s %s3", mkfscommand, hdparams.devnode_part);
        if (runcommandwithstatus(commandstring, ctr[TR_MAKING_ROOT_FILESYSTEM]))
        {
                errorbox(ctr[TR_UNABLE_TO_MAKE_ROOT_FILESYSTEM]);
                goto EXIT;
        }
 
-       snprintf(commandstring, STRING_SIZE, "/sbin/mkreiserfs -f %s4", hdparams.devnode_part); 
+       snprintf(commandstring, STRING_SIZE, "%s %s4", mkfscommand, hdparams.devnode_part);     
        if (runcommandwithstatus(commandstring, ctr[TR_MAKING_LOG_FILESYSTEM]))
        {
-               errorbox(ctr[TR_UNABLE_TO_MAKE_ROOT_FILESYSTEM]);
+               errorbox(ctr[TR_UNABLE_TO_MAKE_LOG_FILESYSTEM]);
                goto EXIT;
        }
 
-       /* Mount harddisk. */
-       mysystem("/sbin/modprobe reiserfs"); // to be banished...
-
        snprintf(commandstring, STRING_SIZE, "/bin/mount %s3 /harddisk", hdparams.devnode_part);
        if (runcommandwithstatus(commandstring, ctr[TR_MOUNTING_ROOT_FILESYSTEM]))
        {
@@ -561,6 +586,15 @@ int main(int argc, char *argv[])
 
        /* Update /etc/fstab */
        replace("/harddisk/etc/fstab", "DEVICE", hdparams.devnode_part_run);
+       
+       if (fstype == REISER4) {
+               replace("/harddisk/etc/fstab", "FSTYPE", "reiser4");
+               replace("/harddisk/etc/mkinitcpio.conf", "MODULES=\"", "MODULES=\"reiser4 ");
+       } else if (fstype == REISERFS) {
+               replace("/harddisk/etc/fstab", "FSTYPE", "reiserfs");
+       } else if (fstype == EXT3) {
+               replace("/harddisk/etc/fstab", "FSTYPE", "ext3");
+       }
 
        /* Going to make our initrd... */
        snprintf(commandstring, STRING_SIZE, "/sbin/chroot /harddisk /sbin/mkinitcpio -v -g /boot/ipfirerd.img -k %s-ipfire", KERNEL_VERSION);
@@ -582,9 +616,6 @@ int main(int argc, char *argv[])
                goto EXIT;
        }
 
-       /* Install bootsplash */
-       // mysystem("/bin/installbootsplash.sh"); We cannot use this at the moment, it conflicts with our initrds...
-
        mysystem("ln -s grub.conf /harddisk/boot/grub/menu.lst");
 
        if (!unattended) {
@@ -592,7 +623,7 @@ int main(int argc, char *argv[])
                                NAME, SNAME, NAME);
                newtWinMessage(ctr[TR_CONGRATULATIONS], ctr[TR_OK], message);
        }
-                
+
        allok = 1;
 
 EXIT: