LPIC-1 System Architecture Practice Question
A system administrator needs to ensure that a custom kernel module named 'mydriver.ko' is loaded automatically at boot on a system that uses systemd. The module is located in /lib/modules/$(uname -r)/extra/. Which approach is most appropriate?
⚠ Common exam trap
The trap here is assuming that any file named /etc/modules will be honored by systemd, when the correct directory is /etc/modules-load.d/.
Answer choices
Why each option matters
Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.
Correct answer & explanation
✓
Create a file /etc/modules-load.d/mydriver.conf containing the line 'mydriver'.
On systemd-based systems, the systemd-modules-load service is responsible for loading modules at boot based on configuration files in /etc/modules-load.d/, /run/modules-load.d/, and /usr/lib/modules-load.d/. Creating a .conf file with the module name in /etc/modules-load.d/ is the correct, supported method. Other approaches may work incidentally but are not the intended mechanism.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
Add the line 'mydriver' to /etc/modules.
Why it's wrong here
The /etc/modules file is used by some non-systemd distributions and by the kmod package's modules-load.d compatibility, but on a systemd system the authoritative location is /etc/modules-load.d/. Relying on /etc/modules may not work if the systemd-modules-load service is not configured to read it.
- ✗
Insert the module into the initramfs using 'mkinitrd' and rely on it being loaded during early boot.
Why it's wrong here
Including a module in the initramfs makes it available during early userspace, but it does not automatically load it unless something in the initramfs triggers it or it is listed for loading. The initramfs is for essential boot modules, not general automatic loading of arbitrary drivers.
- ✗
Run 'modprobe mydriver' and add it to /etc/rc.local.
Why it's wrong here
modprobe loads the module immediately, but /etc/rc.local is not guaranteed to be executed on modern systemd systems unless the rc-local.service is enabled. Using rc.local is a legacy approach and may fail if the service is not active, so it is not the most appropriate method.
- ✓
Create a file /etc/modules-load.d/mydriver.conf containing the line 'mydriver'.
Why this is correct
The systemd-modules-load.service reads configuration files from /etc/modules-load.d/ and loads the listed modules at boot. Placing the module name in a .conf file there ensures it is loaded automatically. This is the systemd-native method for specifying modules to load at startup.
Go deeper
Related to this question
About these practice questions
Courseiva writes every LPIC-1 question from scratch — 402 in total, each with an explanation and a wrong-answer breakdown. None are copied from real exams or dumps. Learn why practice questions differ from exam dumps →
JA
Written and reviewed by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
Last reviewed September 2026 · checked against the official LPI exam blueprint
This LPIC-1 practice question is part of Courseiva's free LPI certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the LPIC-1 exam.