From cd8dd8ddc54bf09d993c0604e315a3214cb57d9f Mon Sep 17 00:00:00 2001 From: ms Date: Wed, 30 May 2007 19:01:59 +0000 Subject: [PATCH] Moeglichkeit im Installer das Dateisystem auszuwaehlen... git-svn-id: http://svn.ipfire.org/svn/ipfire/trunk@593 ea5c0bd1-69bd-2848-81d8-4f18e57aeed8 --- config/etc/fstab | 4 +- config/kernel/kernel.config.i586 | 28 +------- lfs/installer | 2 +- lfs/linux | 6 +- .../install/installbootsplash.sh | 10 --- src/install+setup/install/main.c | 65 ++++++++++++++----- 6 files changed, 58 insertions(+), 57 deletions(-) delete mode 100644 src/install+setup/install/installbootsplash.sh diff --git a/config/etc/fstab b/config/etc/fstab index 11db5f9ed8..b9f577476f 100644 --- a/config/etc/fstab +++ b/config/etc/fstab @@ -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 diff --git a/config/kernel/kernel.config.i586 b/config/kernel/kernel.config.i586 index 917e97c3aa..2b05176918 100644 --- a/config/kernel/kernel.config.i586 +++ b/config/kernel/kernel.config.i586 @@ -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 diff --git a/lfs/installer b/lfs/installer index c763bb308c..abb717d7e4 100644 --- a/lfs/installer +++ b/lfs/installer @@ -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) diff --git a/lfs/linux b/lfs/linux index 5d4e0dd090..6907ef8368 100644 --- 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 index 9522203b59..0000000000 --- a/src/install+setup/install/installbootsplash.sh +++ /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 diff --git a/src/install+setup/install/main.c b/src/install+setup/install/main.c index ea3c0cc214..7557c0f570 100644 --- a/src/install+setup/install/main.c +++ b/src/install+setup/install/main.c @@ -14,9 +14,13 @@ #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: -- 2.39.2