Adding /etc/modprobe.d folder for module configuration (#397)

* Add a /etc/modprobe.d folder

populated using a config USB stick with folder modprobe

* Add the documentation for the modprobe folder
This commit is contained in:
Maël Kimmerlin 2019-05-08 14:15:48 +03:00 committed by Pascal Vizeli
parent ad23a94873
commit 93d503cd3c
6 changed files with 30 additions and 5 deletions

View File

@ -8,18 +8,20 @@ Format a USB stick with FAT32/EXT4/NTFS and name it `CONFIG`. Alternative you ca
```text
network/
modules/
modprobe/
udev/
authorized_keys
timesyncd.conf
hassos-xy.raucb
```
- The `network` folder can contain any kind of NetworkManager connection files. For more information see [Network][network.md].
- The `network` folder can contain any kind of NetworkManager connection files. For more information see [Network][network.md].
- The `modules` folder is for modules-load configuration files.
- The `modprobe` folder is for modules configuration files (/etc/modprobe.d)
- The `udev` folder is for udev rules files.
- The `authorized_keys` file activates debug SSH access on port `22222`. See [Debugging Hassio][debug-hassio].
- The `timesyncd.conf` file allow you to set different NTP servers. HassOS won't boot without correct working time servers!
- The `hassos-*.raucb` file is a firmware OTA update which will be installed. These can be found on on the [release][hassos-release] page.
- The `hassos-*.raucb` file is a firmware OTA update which will be installed. These can be found on on the [release][hassos-release] page.
You can put this USB stick into the device and it will be read on startup. You can also trigger this process later over the
API/UI or by calling `systemctl restart hassos-config` on the host.
@ -32,7 +34,7 @@ You can edit or create a `cmdline.txt` in your boot partition. That will be read
### Kernel-Module
The kernel module folder `/etc/modules-load.d` is persistent and you can add your configuration files there. See [Systemd modules load][systemd-modules].
The kernel module folder `/etc/modules-load.d` is persistent and you can add your configuration files there. See [Systemd modules load][systemd-modules]. You can add the modules configuration files in `/etc/modprobe.d` that is also persistent.
### Udev rules

View File

@ -1,2 +1,2 @@
[Unit]
RequiresMountsFor=/etc/modules-load.d
RequiresMountsFor=/etc/modules-load.d /etc/modprobe.d

View File

@ -0,0 +1,14 @@
[Unit]
Description=Kernel persistent modprobe.d
Requires=mnt-overlay.mount
After=mnt-overlay.mount
Before=systemd-modules-load.service hassos-config.service
[Mount]
What=/mnt/overlay/etc/modprobe.d
Where=/etc/modprobe.d
Type=None
Options=bind
[Install]
WantedBy=hassos-bind.target

View File

@ -44,12 +44,21 @@ fi
##
# Modules
if [ -d "${CONFIG_DIR}/modules" ]; then
echo "[Info] Update Modules configuration!"
echo "[Info] Update Modules autoload!"
rm -rf /etc/modules-load.d/*
cp -f ${CONFIG_DIR}/modules/* /etc/modules-load.d/
fi
##
# Modules configuration
if [ -d "${CONFIG_DIR}/modprobe" ]; then
echo "[Info] Update Modules configuration!"
rm -rf /etc/modprobe.d/*
cp -f ${CONFIG_DIR}/modprobe/* /etc/modprobe.d/
fi
##
# Udev
if [ -d "${CONFIG_DIR}/udev" ]; then