]> git.ipfire.org Git - people/pmueller/ipfire-2.x.git/blobdiff - src/install+setup/install/dracut-module/module-setup.sh
installer: Create dracut module
[people/pmueller/ipfire-2.x.git] / src / install+setup / install / dracut-module / module-setup.sh
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
+}