]> git.ipfire.org Git - ipfire-2.x.git/commitdiff
installer: Create dracut module
authorMichael Tremer <michael.tremer@ipfire.org>
Sun, 27 Jul 2014 14:42:56 +0000 (16:42 +0200)
committerMichael Tremer <michael.tremer@ipfire.org>
Sun, 27 Jul 2014 14:42:56 +0000 (16:42 +0200)
There is now a new installer module for dracut which
will take the installer and put it into the ramdisk.

53 files changed:
config/install/fstab [deleted file]
config/install/group [deleted file]
config/install/halt [deleted file]
config/install/hosts [deleted file]
config/install/nsswitch.conf [deleted file]
config/install/passwd [deleted file]
config/install/profile [deleted file]
config/install/shells [deleted file]
config/rootfiles/installer/coreutils [deleted symlink]
config/rootfiles/installer/dhcpcd [deleted symlink]
config/rootfiles/installer/e2fsprogs [deleted symlink]
config/rootfiles/installer/files [deleted file]
config/rootfiles/installer/findutils [deleted symlink]
config/rootfiles/installer/gawk [deleted symlink]
config/rootfiles/installer/glibc [deleted symlink]
config/rootfiles/installer/grep [deleted symlink]
config/rootfiles/installer/gzip [deleted symlink]
config/rootfiles/installer/hwdata [deleted symlink]
config/rootfiles/installer/iproute2 [deleted symlink]
config/rootfiles/installer/kbd [deleted symlink]
config/rootfiles/installer/libidn [deleted symlink]
config/rootfiles/installer/libusb [deleted symlink]
config/rootfiles/installer/misc-progs [deleted file]
config/rootfiles/installer/ncurses [deleted symlink]
config/rootfiles/installer/newt [deleted symlink]
config/rootfiles/installer/openssl [deleted symlink]
config/rootfiles/installer/parted [deleted symlink]
config/rootfiles/installer/pciutils [deleted symlink]
config/rootfiles/installer/pcmciautils [deleted symlink]
config/rootfiles/installer/pcre [deleted symlink]
config/rootfiles/installer/popt [deleted symlink]
config/rootfiles/installer/reboot [deleted file]
config/rootfiles/installer/reiserfsprogs [deleted symlink]
config/rootfiles/installer/sed [deleted symlink]
config/rootfiles/installer/slang [deleted symlink]
config/rootfiles/installer/sysfsutils [deleted symlink]
config/rootfiles/installer/tar [deleted symlink]
config/rootfiles/installer/udev [deleted symlink]
config/rootfiles/installer/usbutils [deleted symlink]
config/rootfiles/installer/util-linux [deleted symlink]
config/rootfiles/installer/vim [deleted symlink]
config/rootfiles/installer/wget [deleted symlink]
config/rootfiles/installer/xz [deleted symlink]
config/rootfiles/installer/zlib [deleted symlink]
lfs/cdrom
lfs/initrd [deleted file]
lfs/installer
make.sh
src/install+setup/install/Makefile
src/install+setup/install/dracut-module/70-dhcpcd.exe [new file with mode: 0755]
src/install+setup/install/dracut-module/fake-root.sh [new file with mode: 0644]
src/install+setup/install/dracut-module/module-setup.sh [new file with mode: 0755]
src/install+setup/install/dracut-module/run-installer.sh [moved from config/install/rc_installer with 53% similarity]

diff --git a/config/install/fstab b/config/install/fstab
deleted file mode 100644 (file)
index 58297c2..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-/dev/ram0      /       squashfs
-/proc          /proc   proc
-none           /sys    sysfs
-none           /tmp    tmpfs
-none           /dev    tmpfs
diff --git a/config/install/group b/config/install/group
deleted file mode 100644 (file)
index 465a9cf..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-root:x:0:root
-tty:x:5:
-disk:x:6:
-uucp:x:14:
diff --git a/config/install/halt b/config/install/halt
deleted file mode 100644 (file)
index 90a0c80..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-#!/bin/sh
-# Clear screen
-/usr/bin/clear
-echo "Shutting down..."
-echo "Sending all processes the TERM signal..."
-/sbin/killall5 -15
-sleep 3
-echo "Sending all processes the KILL signal..."
-/sbin/killall5 -9
-sleep 3
-echo "Unmounting filesystems..."
-/bin/umount -a > /dev/null 2>&1
-echo "Unmounting root..."
-/bin/mount -n -o remount,ro /
-echo "Rebooting..."
-/sbin/reboot -f
diff --git a/config/install/hosts b/config/install/hosts
deleted file mode 100644 (file)
index f4fb350..0000000
+++ /dev/null
@@ -1 +0,0 @@
-localhost      127.0.0.1
diff --git a/config/install/nsswitch.conf b/config/install/nsswitch.conf
deleted file mode 100644 (file)
index da516c6..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-passwd:     files 
-shadow:     files 
-group:      files 
-hosts:      files
-services:   files
-networks:   files
-protocols:  files
-rpc:        files
-ethers:     files
-netmasks:   files     
-bootparams: files
-automount:  files 
-aliases:    files
-netgroup:   files
-publickey:  files
diff --git a/config/install/passwd b/config/install/passwd
deleted file mode 100644 (file)
index 365a8d7..0000000
+++ /dev/null
@@ -1 +0,0 @@
-root::0:0:root:/:/bin/ash
diff --git a/config/install/profile b/config/install/profile
deleted file mode 100644 (file)
index 02c63b9..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/bin/ash
-
-TERM=linux
-LANG=en_US.UTF-8
-export TERM LANG
-
-/usr/bin/unicode_start
diff --git a/config/install/shells b/config/install/shells
deleted file mode 100644 (file)
index 006aa38..0000000
+++ /dev/null
@@ -1 +0,0 @@
-/bin/ash
diff --git a/config/rootfiles/installer/coreutils b/config/rootfiles/installer/coreutils
deleted file mode 120000 (symlink)
index b41d95a..0000000
+++ /dev/null
@@ -1 +0,0 @@
-../common/coreutils
\ No newline at end of file
diff --git a/config/rootfiles/installer/dhcpcd b/config/rootfiles/installer/dhcpcd
deleted file mode 120000 (symlink)
index ea5996c..0000000
+++ /dev/null
@@ -1 +0,0 @@
-../common/dhcpcd
\ No newline at end of file
diff --git a/config/rootfiles/installer/e2fsprogs b/config/rootfiles/installer/e2fsprogs
deleted file mode 120000 (symlink)
index 2a6ee42..0000000
+++ /dev/null
@@ -1 +0,0 @@
-../common/e2fsprogs
\ No newline at end of file
diff --git a/config/rootfiles/installer/files b/config/rootfiles/installer/files
deleted file mode 100644 (file)
index aba14d8..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-etc/host.conf
-etc/hosts
-etc/protocols
-
diff --git a/config/rootfiles/installer/findutils b/config/rootfiles/installer/findutils
deleted file mode 120000 (symlink)
index 1114c4c..0000000
+++ /dev/null
@@ -1 +0,0 @@
-../common/findutils
\ No newline at end of file
diff --git a/config/rootfiles/installer/gawk b/config/rootfiles/installer/gawk
deleted file mode 120000 (symlink)
index a7660cf..0000000
+++ /dev/null
@@ -1 +0,0 @@
-../common/gawk
\ No newline at end of file
diff --git a/config/rootfiles/installer/glibc b/config/rootfiles/installer/glibc
deleted file mode 120000 (symlink)
index 4a46726..0000000
+++ /dev/null
@@ -1 +0,0 @@
-../common/i586/glibc
\ No newline at end of file
diff --git a/config/rootfiles/installer/grep b/config/rootfiles/installer/grep
deleted file mode 120000 (symlink)
index f7bf2d9..0000000
+++ /dev/null
@@ -1 +0,0 @@
-../common/grep
\ No newline at end of file
diff --git a/config/rootfiles/installer/gzip b/config/rootfiles/installer/gzip
deleted file mode 120000 (symlink)
index 1cbc376..0000000
+++ /dev/null
@@ -1 +0,0 @@
-../common/gzip
\ No newline at end of file
diff --git a/config/rootfiles/installer/hwdata b/config/rootfiles/installer/hwdata
deleted file mode 120000 (symlink)
index 7ed7e21..0000000
+++ /dev/null
@@ -1 +0,0 @@
-../common/hwdata
\ No newline at end of file
diff --git a/config/rootfiles/installer/iproute2 b/config/rootfiles/installer/iproute2
deleted file mode 120000 (symlink)
index efe83c5..0000000
+++ /dev/null
@@ -1 +0,0 @@
-../common/iproute2
\ No newline at end of file
diff --git a/config/rootfiles/installer/kbd b/config/rootfiles/installer/kbd
deleted file mode 120000 (symlink)
index 3efe86a..0000000
+++ /dev/null
@@ -1 +0,0 @@
-../common/kbd
\ No newline at end of file
diff --git a/config/rootfiles/installer/libidn b/config/rootfiles/installer/libidn
deleted file mode 120000 (symlink)
index 9750546..0000000
+++ /dev/null
@@ -1 +0,0 @@
-../common/libidn
\ No newline at end of file
diff --git a/config/rootfiles/installer/libusb b/config/rootfiles/installer/libusb
deleted file mode 120000 (symlink)
index efe4a28..0000000
+++ /dev/null
@@ -1 +0,0 @@
-../common/libusb
\ No newline at end of file
diff --git a/config/rootfiles/installer/misc-progs b/config/rootfiles/installer/misc-progs
deleted file mode 100644 (file)
index 1e4226b..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-bin/ping
-usr/local/bin/iowrap
diff --git a/config/rootfiles/installer/ncurses b/config/rootfiles/installer/ncurses
deleted file mode 120000 (symlink)
index 7aac8a2..0000000
+++ /dev/null
@@ -1 +0,0 @@
-../common/ncurses
\ No newline at end of file
diff --git a/config/rootfiles/installer/newt b/config/rootfiles/installer/newt
deleted file mode 120000 (symlink)
index b63c480..0000000
+++ /dev/null
@@ -1 +0,0 @@
-../common/newt
\ No newline at end of file
diff --git a/config/rootfiles/installer/openssl b/config/rootfiles/installer/openssl
deleted file mode 120000 (symlink)
index 8317ffd..0000000
+++ /dev/null
@@ -1 +0,0 @@
-../common/openssl
\ No newline at end of file
diff --git a/config/rootfiles/installer/parted b/config/rootfiles/installer/parted
deleted file mode 120000 (symlink)
index 5c544a4..0000000
+++ /dev/null
@@ -1 +0,0 @@
-../common/parted
\ No newline at end of file
diff --git a/config/rootfiles/installer/pciutils b/config/rootfiles/installer/pciutils
deleted file mode 120000 (symlink)
index 903f124..0000000
+++ /dev/null
@@ -1 +0,0 @@
-../common/pciutils
\ No newline at end of file
diff --git a/config/rootfiles/installer/pcmciautils b/config/rootfiles/installer/pcmciautils
deleted file mode 120000 (symlink)
index 47b2fe8..0000000
+++ /dev/null
@@ -1 +0,0 @@
-../common/pcmciautils
\ No newline at end of file
diff --git a/config/rootfiles/installer/pcre b/config/rootfiles/installer/pcre
deleted file mode 120000 (symlink)
index ffd8616..0000000
+++ /dev/null
@@ -1 +0,0 @@
-../common/pcre
\ No newline at end of file
diff --git a/config/rootfiles/installer/popt b/config/rootfiles/installer/popt
deleted file mode 120000 (symlink)
index d15b2c6..0000000
+++ /dev/null
@@ -1 +0,0 @@
-../common/popt
\ No newline at end of file
diff --git a/config/rootfiles/installer/reboot b/config/rootfiles/installer/reboot
deleted file mode 100644 (file)
index f1f6d64..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-sbin/reboot
-sbin/halt
diff --git a/config/rootfiles/installer/reiserfsprogs b/config/rootfiles/installer/reiserfsprogs
deleted file mode 120000 (symlink)
index f596f68..0000000
+++ /dev/null
@@ -1 +0,0 @@
-../common/reiserfsprogs
\ No newline at end of file
diff --git a/config/rootfiles/installer/sed b/config/rootfiles/installer/sed
deleted file mode 120000 (symlink)
index 4b0d3a3..0000000
+++ /dev/null
@@ -1 +0,0 @@
-../common/sed
\ No newline at end of file
diff --git a/config/rootfiles/installer/slang b/config/rootfiles/installer/slang
deleted file mode 120000 (symlink)
index 405fd40..0000000
+++ /dev/null
@@ -1 +0,0 @@
-../common/slang
\ No newline at end of file
diff --git a/config/rootfiles/installer/sysfsutils b/config/rootfiles/installer/sysfsutils
deleted file mode 120000 (symlink)
index 9c56a9a..0000000
+++ /dev/null
@@ -1 +0,0 @@
-../common/sysfsutils
\ No newline at end of file
diff --git a/config/rootfiles/installer/tar b/config/rootfiles/installer/tar
deleted file mode 120000 (symlink)
index f994ef6..0000000
+++ /dev/null
@@ -1 +0,0 @@
-../common/tar
\ No newline at end of file
diff --git a/config/rootfiles/installer/udev b/config/rootfiles/installer/udev
deleted file mode 120000 (symlink)
index d96e0b7..0000000
+++ /dev/null
@@ -1 +0,0 @@
-../common/udev
\ No newline at end of file
diff --git a/config/rootfiles/installer/usbutils b/config/rootfiles/installer/usbutils
deleted file mode 120000 (symlink)
index dcc136f..0000000
+++ /dev/null
@@ -1 +0,0 @@
-../common/usbutils
\ No newline at end of file
diff --git a/config/rootfiles/installer/util-linux b/config/rootfiles/installer/util-linux
deleted file mode 120000 (symlink)
index f672071..0000000
+++ /dev/null
@@ -1 +0,0 @@
-../common/i586/util-linux
\ No newline at end of file
diff --git a/config/rootfiles/installer/vim b/config/rootfiles/installer/vim
deleted file mode 120000 (symlink)
index 3ae92f3..0000000
+++ /dev/null
@@ -1 +0,0 @@
-../common/vim
\ No newline at end of file
diff --git a/config/rootfiles/installer/wget b/config/rootfiles/installer/wget
deleted file mode 120000 (symlink)
index b75cdbc..0000000
+++ /dev/null
@@ -1 +0,0 @@
-../common/wget
\ No newline at end of file
diff --git a/config/rootfiles/installer/xz b/config/rootfiles/installer/xz
deleted file mode 120000 (symlink)
index 61772c7..0000000
+++ /dev/null
@@ -1 +0,0 @@
-../common/xz
\ No newline at end of file
diff --git a/config/rootfiles/installer/zlib b/config/rootfiles/installer/zlib
deleted file mode 120000 (symlink)
index fcdedec..0000000
+++ /dev/null
@@ -1 +0,0 @@
-../common/zlib
\ No newline at end of file
index 5a85002bae545d35d6b3bb75e086505bcaaaf796..39b485cb9e8982698104c9f0ecd5c61235dfa8b9 100644 (file)
--- a/lfs/cdrom
+++ b/lfs/cdrom
@@ -95,7 +95,7 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        dd if=/dev/zero  bs=1k count=2            > /install/cdrom/boot/isolinux/boot.catalog
 ifneq "$(MACHINE_TYPE)" "arm"
        cp /boot/vmlinuz-$(KVER)-ipfire             /install/cdrom/boot/isolinux/vmlinuz
-       cp /install/images/initrd                   /install/cdrom/boot/isolinux/instroot
+       dracut --force -a "installer" --xz /install/cdrom/boot/isolinux/instroot $(KVER)-ipfire
        cp $(DIR_SRC)/config/syslinux/boot.png      /install/cdrom/boot/isolinux/boot.png
        cp /usr/lib/memtest86+/memtest.bin          /install/cdrom/boot/isolinux/memtest
        cp /usr/share/ipfire-netboot/ipxe.lkrn      /install/cdrom/boot/isolinux/netboot
diff --git a/lfs/initrd b/lfs/initrd
deleted file mode 100644 (file)
index ce7f794..0000000
+++ /dev/null
@@ -1,121 +0,0 @@
-###############################################################################
-#                                                                             #
-# IPFire.org - A linux based firewall                                         #
-# Copyright (C) 2007-2014  IPFire Team  <info@ipfire.org>                     #
-#                                                                             #
-# 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    = initrd
-DIR_APP    = $(DIR_SRC)/$(THISAPP)
-TARGET     = $(DIR_INFO)/$(THISAPP)
-
-SUP_ARCH   = i586
-
-###############################################################################
-# Top-level Rules
-###############################################################################
-
-install : $(TARGET)
-
-check :
-
-download :
-
-md5 :
-
-###############################################################################
-# Installation Details
-###############################################################################
-
-$(TARGET) :
-       @$(PREBUILD)
-       rm -f /install/images/initrd
-
-       # Finish up initrd directory
-       -mkdir -p /install/initrd/{dev,etc,mnt,root,lib/modules/$(KVER)-ipfire/kernel/drivers,cdrom,dev,harddisk,proc,tmp,usr/share/terminfo/l,var/run,sys}
-       cd /install/initrd && lzma -d -c /boot/initramfs-$(KVER)-ipfire.img | cpio -i
-
-       # Copy Files packages for installer
-       find $(DIR_SRC)/config/rootfiles/installer/* -maxdepth 1 | xargs cat | grep -v "^#" > /tmp/ROOTFILES
-
-       # Patch Kernel Version to rootfiles
-       sed -e "s/KVER/$(KVER)/g" -i /tmp/ROOTFILES
-
-       -cd / && cpio -d -p /install/initrd < /tmp/ROOTFILES
-
-       # Copy hid and network modules (and deps)
-       cp -aRf /lib/modules/$(KVER)-ipfire/kernel/drivers/hid \
-               /install/initrd/lib/modules/$(KVER)-ipfire/kernel/drivers/
-       cp -aRf /lib/modules/$(KVER)-ipfire/kernel/drivers/net \
-               /install/initrd/lib/modules/$(KVER)-ipfire/kernel/drivers/
-       cp -aRf /lib/modules/$(KVER)-ipfire/kernel/drivers/pcmcia \
-               /install/initrd/lib/modules/$(KVER)-ipfire/kernel/drivers/
-       cp -aRf /lib/modules/$(KVER)-ipfire/kernel/drivers/ssb \
-               /install/initrd/lib/modules/$(KVER)-ipfire/kernel/drivers/
-       cp -aRf /lib/modules/$(KVER)-ipfire/kernel/drivers/uio \
-               /install/initrd/lib/modules/$(KVER)-ipfire/kernel/drivers/
-       cp -aRf /lib/modules/$(KVER)-ipfire/kernel/drivers/ptp \
-               /install/initrd/lib/modules/$(KVER)-ipfire/kernel/drivers/
-       cp -aRf /lib/modules/$(KVER)-ipfire/kernel/drivers/dca \
-               /install/initrd/lib/modules/$(KVER)-ipfire/kernel/drivers/
-       cp -aRf /lib/modules/$(KVER)-ipfire/kernel/drivers/pps \
-               /install/initrd/lib/modules/$(KVER)-ipfire/kernel/drivers/
-       # Remove wireless modules
-       rm -rf /install/initrd/lib/modules/$(KVER)-ipfire/kernel/drivers/net/wireless
-
-       cd /install/initrd/etc && rm -f fstab
-       cp -aRf $(DIR_SRC)/config/install/* /install/initrd/etc/
-       rm -rf /install/initrd/usr/share/man
-       chmod 755 /install/initrd/etc/halt /install/initrd/etc/rc_installer
-
-       cd /install/initrd/ && patch -Np0 < $(DIR_SRC)/src/patches/dracut-init_start_ipfireinstaller.patch
-
-       # Hide udev messages
-       sed -i -e "s|err|none|g" /install/initrd/etc/udev/udev.conf
-
-       # make new dependencies 
-       depmod -a -F /boot/System.map-$(KVER)-ipfire $(KVER)-ipfire
-
-       -mkdir -p /install/{images,mnt}
-       rm -rf /install/mnt/*
-
-       #Build Module deps for installer.
-       depmod -a -b /install/initrd/ -F /boot/System.map-$(KVER)-ipfire $(KVER)-ipfire
-
-       #Name service from dhcpcd
-       cp -f /etc/nsswitch.conf /install/initrd/etc/
-       cp -f $(DIR_SRC)/config/initrd/dhcpc/* /install/initrd/var/ipfire/dhcpc/dhcpcd-hooks/
-
-       # Install needed locales.
-       -mkdir -pv /install/initrd/usr/lib/locale
-       for lang in $(DIR_SRC)/langs/*; do \
-               for path in /usr/lib/locale/$${lang##*/}*; do \
-                       [ -d "$${path}" ] && cp -lrvf "$${path}" /install/initrd/usr/lib/locale/; \
-               done; \
-       done
-
-       cd /install/initrd && find . | cpio -o -H newc | lzma > /install/images/initrd
-       cd /install/initrd && find ./ -ls > $(DIR_INFO)/_build.initrd.log
-
-       @$(POSTBUILD)
index 1fc2058858e5767843a1e7f56990bcb519632841..f25268bfdc042d93e8bf0f87ab61070c6b39cfe3 100644 (file)
@@ -60,11 +60,14 @@ $(TARGET) :
        cd $(DIR_APP)/install && make CFLAGS="-Os -std=gnu99 -fomit-frame-pointer -Wall \
            -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 \
-               downloadsource.sh mountdest.sh /install/initrd/bin
+       cd $(DIR_APP)/install && install -v -m 0755 installer probenic.sh \
+               downloadsource.sh mountdest.sh /usr/bin
+       rm -rvf /usr/lib/dracut/modules.d/99installer
+       cd $(DIR_APP)/install && cp -rvf dracut-module /usr/lib/dracut/modules.d/99installer
+
        #Patch ISO Name for download ...
        sed -i -e "s|ipfire.iso|download.ipfire.org/releases/ipfire-2.x/$(VERSION)-core$(CORE)/$(SNAME)-$(VERSION).$(MACHINE)-full-core$(CORE).iso|g" \
-                               /install/initrd/bin/downloadsource.sh
+                               /usr/bin/downloadsource.sh
        #Patch version for mediacheck ...
        @rm -rf $(DIR_APP)
        @$(POSTBUILD)
diff --git a/make.sh b/make.sh
index e6a96fd519023971f64d05d2616e717913d442f6..beafd3342512eaa0172cbda3c01ef7590f9074af 100755 (executable)
--- a/make.sh
+++ b/make.sh
@@ -811,7 +811,6 @@ buildinstaller() {
   ipfiremake memtest
   ipfiremake installer
   installmake strip
-  ipfiremake initrd
 }
 
 buildpackages() {
index 3feb635427538b3f71a7a7782c63df2ffb59a7cf..a7861171883bc453ffa62cc8ab76e6c370bed397 100644 (file)
@@ -33,7 +33,7 @@ LINK = $(LD) $(LDFLAGS)
 
 all : programs
 
-programs : install
+programs : installer
 
 clean :
        -rm -f *.o install core
@@ -42,7 +42,7 @@ clean :
 
 OBJS=main.o config.o ../libsmooth/libsmooth.o unattended.o hw.o
 
-install: $(OBJS)
+installer: $(OBJS)
        $(LINK) $(OBJS) -o $@ $(LIBS)
 
 %.o : %.c
diff --git a/src/install+setup/install/dracut-module/70-dhcpcd.exe b/src/install+setup/install/dracut-module/70-dhcpcd.exe
new file mode 100755 (executable)
index 0000000..4100fc9
--- /dev/null
@@ -0,0 +1,32 @@
+#/bin/bash
+########################################################################
+# Begin
+#
+# Description : DHCP Client Script (initrd version)
+#
+# Authors     : Arne Fitzenreiter - arne_f@ipfire.org
+#
+# Version     : 02.00
+#
+# Notes       : 
+#
+########################################################################
+
+dhcpcd_up()
+{
+       set | grep "^new_" | sed "s|^new_||g" | \
+       sed "s|'||g" | \
+       sort > /var/ipfire/dhcpc/dhcpcd-$interface.info
+
+       DNS=`grep "domain_name_servers" /var/ipfire/dhcpc/dhcpcd-$interface.info | cut -d"=" -f2`
+       DNS1=`echo $DNS | cut -d" " -f1`
+       DNS2=`echo $DNS | cut -d" " -f2`
+
+       echo "nameserver $DNS1" > /etc/resolv.conf
+       echo "nameserver $DNS2" >> /etc/resolv.conf
+
+}
+
+case "$reason" in
+BOUND|INFORM|REBIND|REBOOT|RENEW|TIMEOUT|STATIC)       dhcpcd_up;;
+esac
diff --git a/src/install+setup/install/dracut-module/fake-root.sh b/src/install+setup/install/dracut-module/fake-root.sh
new file mode 100644 (file)
index 0000000..7c41f35
--- /dev/null
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+# Fake root so dracut will start our installer
+root="installer"
+rootok=1
diff --git a/src/install+setup/install/dracut-module/module-setup.sh b/src/install+setup/install/dracut-module/module-setup.sh
new file mode 100755 (executable)
index 0000000..53ea93b
--- /dev/null
@@ -0,0 +1,63 @@
+#!/bin/bash
+# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
+# ex: ts=8 sw=4 sts=4 et filetype=sh
+
+# called by dracut
+check() {
+    return 255
+}
+
+# called by dracut
+depends() {
+    echo base bash mdraid shutdown
+    return 0
+}
+
+# called by dracut
+install() {
+    inst /usr/bin/installer
+    inst /usr/bin/downloadsource.sh
+    inst /usr/local/bin/iowrap
+
+    # Kernel drivers
+    instmods =drivers/hid
+
+    # Network drivers
+    instmods =drivers/net/ethernet =drivers/net/usb
+    instmods virtio_net hv_netvsc vmxnet3
+
+    # Filesystem support
+    inst_multiple parted mkswap mke2fs mkreiserfs
+    instmods ext4 iso9660 reiserfs vfat
+
+    # Extraction
+    inst_multiple tar gzip lzma xz
+
+    # DHCP Client
+    inst dhcpcd
+    inst /var/ipfire/dhcpc/dhcpcd-run-hooks
+    inst /var/ipfire/dhcpc/dhcpcd.conf
+    for file in /var/ipfire/dhcpc/dhcpcd-hooks/*; do
+        inst "${file}"
+    done
+    inst "$moddir/70-dhcpcd.exe" "/var/ipfire/dhcpc/dhcpcd-hooks/70-dhcpcd.exe"
+
+    # Misc. tools
+    inst_multiple eject ping wget
+    inst_multiple -o fdisk cfdisk
+
+    # Hardware IDs
+    inst /usr/share/hwdata/pci.ids /usr/share/hwdata/usb.ids
+
+    # Locales
+    for locale in de en es fr nl pl ru tr; do
+        for file in $(find /usr/lib/locale/${locale}*); do
+            inst "${file}"
+        done
+    done
+
+    inst_hook cmdline 99 "$moddir/fake-root.sh"
+    inst_hook pre-mount 99 "$moddir/run-installer.sh"
+
+    return 0
+}
similarity index 53%
rename from config/install/rc_installer
rename to src/install+setup/install/dracut-module/run-installer.sh
index c1dd5b6e54ca98f4da0dd6ae41bef3ce684892cb..53f7cd331479478b546d29d5112c0281b6051d8d 100644 (file)
@@ -1,21 +1,20 @@
+#!/bin/sh
 #
 # IPFire Installer RC
 #
 
+# Silence the kernel
 echo >/proc/sys/kernel/printk "1 4 1 7"
 echo -n -e "\033[9;0]"
 
-ln -snf /proc/self/fd/0 /dev/stdin
-ln -snf /proc/self/fd/1 /dev/stdout
-ln -snf /proc/self/fd/2 /dev/stderr
-ln -s /proc/kcore /dev/core
-mount tmpfs -t tmpfs /tmp
-
 echo "Starting shells on tty2 and tty3 ..."
 /usr/local/bin/iowrap /dev/tty2 /bin/bash &
 /usr/local/bin/iowrap /dev/tty3 /bin/bash &
 
 echo "Loading Installer..."
-/bin/bash --login -c "/bin/install /dev/tty2"
+/bin/bash --login -c "/usr/bin/installer /dev/tty2"
+
+sleep 60
 
-/etc/halt
+# Reboot the system
+/shutdown reboot