]>
Commit | Line | Data |
---|---|---|
95d2dabc | 1 | #!/bin/bash |
95d2dabc | 2 | |
8bcfd683 | 3 | # called by dracut |
95d2dabc | 4 | installkernel() { |
794b2d2c | 5 | local _blockfuncs='ahci_platform_get_resources|ata_scsi_ioctl|scsi_add_host|blk_cleanup_queue|register_mtd_blktrans|scsi_esp_register|register_virtio_device|usb_stor_disconnect|mmc_add_host|sdhci_add_host|scsi_add_host_with_dma' |
8bc04b98 | 6 | |
794b2d2c | 7 | if [[ -z $drivers ]]; then |
28609baf HH |
8 | hostonly='' instmods \ |
9 | sr_mod sd_mod scsi_dh ata_piix hid_generic unix \ | |
8d9ab275 | 10 | ehci-hcd ehci-pci ehci-platform \ |
28609baf HH |
11 | ohci-hcd ohci-pci \ |
12 | uhci-hcd \ | |
6bc2096c | 13 | xhci-hcd xhci-pci xhci-plat-hcd \ |
180e9d78 HH |
14 | "=drivers/hid" \ |
15 | "=drivers/input/serio" \ | |
6bc2096c | 16 | "=drivers/input/keyboard" \ |
8d9ab275 HH |
17 | "=drivers/usb/storage" \ |
18 | ${NULL} | |
19 | ||
20 | instmods \ | |
6bc2096c HH |
21 | yenta_socket scsi_dh_rdac scsi_dh_emc scsi_dh_alua \ |
22 | atkbd i8042 usbhid firewire-ohci pcmcia hv-vmbus \ | |
23 | virtio virtio_blk virtio_ring virtio_pci virtio_scsi \ | |
a84c391b | 24 | "=drivers/pcmcia" =ide nvme |
cbc21754 | 25 | |
3e35441f | 26 | if [[ "$(uname -p)" == arm* ]]; then |
cbc21754 | 27 | # arm specific modules |
b96ea1e1 | 28 | instmods \ |
2602a74e | 29 | "=drivers/clk" \ |
b96ea1e1 | 30 | "=drivers/i2c/busses" \ |
e752d42d PR |
31 | "=drivers/phy" \ |
32 | "=drivers/power" \ | |
b96ea1e1 NC |
33 | "=drivers/regulator" \ |
34 | "=drivers/rtc" \ | |
0c5e5f27 PR |
35 | "=drivers/usb/chipidea" \ |
36 | "=drivers/usb/dwc2" \ | |
37 | "=drivers/usb/dwc3" \ | |
b96ea1e1 | 38 | "=drivers/usb/host" \ |
0c5e5f27 | 39 | "=drivers/usb/musb" \ |
b96ea1e1 NC |
40 | "=drivers/usb/phy" \ |
41 | ${NULL} | |
cbc21754 HH |
42 | fi |
43 | ||
8d9ab275 | 44 | dracut_instmods -o -s "${_blockfuncs}" "=drivers" |
dc67eda6 | 45 | |
95d2dabc HH |
46 | # if not on hostonly mode, install all known filesystems, |
47 | # if the required list is not set via the filesystems variable | |
48 | if ! [[ $hostonly ]]; then | |
49 | if [[ -z $filesystems ]]; then | |
8d9ab275 | 50 | dracut_instmods -o -P ".*/(kernel/fs/nfs|kernel/fs/nfsd|kernel/fs/lockd)/.*" '=fs' |
95d2dabc HH |
51 | fi |
52 | else | |
794b2d2c | 53 | hostonly='' instmods "${host_fs_types[@]}" |
95d2dabc | 54 | fi |
343b7d74 | 55 | fi |
c9e5b753 | 56 | : |
b6e244f7 HH |
57 | } |
58 | ||
8bcfd683 | 59 | # called by dracut |
b6e244f7 | 60 | install() { |
af119460 | 61 | inst_multiple -o /lib/modprobe.d/*.conf |
5a575820 | 62 | [[ $hostonly ]] && inst_multiple -H -o /etc/modprobe.d/*.conf /etc/modprobe.conf |
6ae68b46 HH |
63 | if ! dracut_module_included "systemd"; then |
64 | inst_hook cmdline 01 "$moddir/parse-kernel.sh" | |
65 | fi | |
b6e244f7 | 66 | inst_simple "$moddir/insmodpost.sh" /sbin/insmodpost.sh |
95d2dabc | 67 | } |