]> git.ipfire.org Git - people/pmueller/ipfire-2.x.git/blob - src/installer/dracut-module/module-setup.sh
103f754e9869db3a1080147fbbfc3938efe3e941
[people/pmueller/ipfire-2.x.git] / src / installer / dracut-module / module-setup.sh
1 #!/bin/bash
2 # -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
3 # ex: ts=8 sw=4 sts=4 et filetype=sh
4
5 # called by dracut
6 check() {
7 return 255
8 }
9
10 # called by dracut
11 depends() {
12 echo base bash mdraid shutdown
13 return 0
14 }
15
16 # called by dracut
17 install() {
18 inst /etc/system-release
19 inst /usr/bin/installer
20 inst /usr/bin/downloadsource.sh
21 inst /usr/bin/execute-postinstall.sh
22 inst /usr/local/bin/iowrap
23
24 # Kernel drivers
25 instmods =drivers/hid
26
27 # Network drivers
28 instmods =drivers/net/ethernet =drivers/net/usb
29 instmods virtio_net hv_netvsc vmxnet3
30
31 # Filesystem support
32 inst_multiple parted mkswap mke2fs mkreiserfs mkfs.xfs mkfs.vfat
33 instmods ext4 iso9660 reiserfs vfat xfs
34
35 # Extraction
36 inst_multiple tar gzip lzma xz
37
38 # Networking
39 inst_multiple dhcpcd ethtool hostname ip ping sort wget
40 inst /usr/bin/start-networking.sh
41 inst /var/ipfire/dhcpc/dhcpcd.conf
42 inst /var/ipfire/dhcpc/dhcpcd-run-hooks
43 inst "$moddir/70-dhcpcd.exe" "/var/ipfire/dhcpc/dhcpcd-hooks/70-dhcpcd.exe"
44
45 # CAs
46 inst /etc/ssl/cert.pem
47
48 inst /etc/host.conf /etc/protocols
49 inst /etc/nsswitch.conf /etc/resolv.conf
50 inst_libdir_file "libnss_dns.so.*"
51
52 # Misc. tools
53 inst_multiple chmod cut grep eject id killall md5sum touch
54 inst_multiple -o fdisk cfdisk df ps top
55
56 # Hardware IDs
57 inst /usr/share/hwdata/pci.ids /usr/share/hwdata/usb.ids
58
59 # Locales
60 mkdir -p "${initdir}/usr/lib/locale"
61 localedef --quiet --prefix="${initdir}" --add-to-archive /usr/lib/locale/en_US
62 localedef --quiet --prefix="${initdir}" --add-to-archive /usr/lib/locale/en_US.utf8
63
64 for file in /usr/share/locale/*/LC_MESSAGES/installer.mo; do
65 inst "${file}"
66 done
67
68 # Bash start files
69 inst_multiple /etc/profile /root/.bash_profile /etc/bashrc /root/.bashrc
70 for file in /etc/profile.d/*.sh; do
71 inst "${file}"
72 done
73
74 inst_hook cmdline 99 "$moddir/fake-root.sh"
75 inst_hook pre-mount 99 "$moddir/run-installer.sh"
76
77 return 0
78 }