... | @@ -39,33 +39,6 @@ process, the build will automagically resolve the dependent submodules |
... | @@ -39,33 +39,6 @@ process, the build will automagically resolve the dependent submodules |
|
depending on your hardware configuration, the build should have
|
|
depending on your hardware configuration, the build should have
|
|
terminated successfully.
|
|
terminated successfully.
|
|
|
|
|
|
### The following step requires super user powers
|
|
|
|
|
|
|
|
$ sudo make modules_install
|
|
|
|
|
|
|
|
After success, you should see in the /lib/modules/<kernel-version>/extra
|
|
|
|
directory of the target machine some new stuff like shown below:
|
|
|
|
|
|
|
|
$ ls -l /lib/modules/`uname -r`/extra/
|
|
|
|
total 8608
|
|
|
|
drwxr-xr-x 2 root root 4096 Aug 3 09:44 buffers
|
|
|
|
drwxr-xr-x 2 root root 4096 Aug 3 09:44 drivers
|
|
|
|
-rw-r--r-- 1 root root 2136544 Aug 3 09:44 fmc-adc-100m14b.ko
|
|
|
|
-rw-r--r-- 1 root root 206456 Aug 3 09:44 fmc-chardev.ko
|
|
|
|
-rw-r--r-- 1 root root 208432 Aug 3 09:44 fmc-fakedev.ko
|
|
|
|
-rw-r--r-- 1 root root 609384 Aug 3 09:44 fmc.ko
|
|
|
|
-rw-r--r-- 1 root root 163432 Aug 3 09:44 fmc-trivial.ko
|
|
|
|
-rw-r--r-- 1 root root 163320 Aug 3 09:44 fmc-write-eeprom.ko
|
|
|
|
-rw-r--r-- 1 root root 969232 Aug 3 09:44 spec.ko
|
|
|
|
drwxr-xr-x 2 root root 4096 Aug 3 09:44 triggers
|
|
|
|
-rw-r--r-- 1 root root 2450536 Aug 3 09:44 wr-nic.ko
|
|
|
|
-rw-r--r-- 1 root root 1882592 Aug 3 09:44 zio.ko
|
|
|
|
|
|
|
|
The last step will enable us to load modules by simply using a modprobe
|
|
|
|
command:
|
|
|
|
|
|
|
|
$ sudo depmod -a
|
|
|
|
|
|
|
|
### Prepare firmware
|
|
### Prepare firmware
|
|
|
|
|
|
We are about to load the Linux device drivers for your FMC ADC. There is
|
|
We are about to load the Linux device drivers for your FMC ADC. There is
|
... | @@ -81,14 +54,25 @@ must be made accessible to initialise your hardware: |
... | @@ -81,14 +54,25 @@ must be made accessible to initialise your hardware: |
|
|
|
|
|
### Load the kernel modules
|
|
### Load the kernel modules
|
|
|
|
|
|
Again, super user status is required for this.
|
|
Again, super user status is required for this. Change dir into the cloned repository,
|
|
|
|
and load the modules in the proper order:
|
|
|
|
|
|
$ sudo modprobe spec
|
|
$ cd fmc-adc-100m14b4cha-sw
|
|
$ sudo modprobe fmc-adc-100m14b
|
|
$ sudo insmod fmc-bus/kernel/fmc.ko
|
|
|
|
$ sudo insmod spec-sw/kernel/spec.ko
|
|
|
|
$ sudo insmod zio/drivers/zio/zio.ko
|
|
|
|
$ sudo insmod zio/drivers/zio/buffers/zio-buf-vmalloc.ko
|
|
|
|
$ sudo insmod kernel/fmc-adc-100m14b.ko
|
|
|
|
|
|
These are the required modules to drive an FMC ADC (or more) carried by
|
|
These are the required modules to drive an FMC ADC (or more) carried by
|
|
SPEC boards.
|
|
SPEC boards.
|
|
|
|
|
|
|
|
**Note:** Because these modules are not officially signed, the kernel will refuse to load
|
|
|
|
them if Secure Boot is enabled. Please make sure that Secure Boot is disabled in your BIOS.
|
|
|
|
If you really need to have the Secure Boot feature enabled, please have a look on how to
|
|
|
|
[sign your own modules](https://www.kernel.org/doc/html/v5.0/admin-guide/module-signing.html)
|
|
|
|
and use your own keys to sign all five modules listed above.
|
|
|
|
|
|
If this step is successful, your kernel module list should display at
|
|
If this step is successful, your kernel module list should display at
|
|
least the following:
|
|
least the following:
|
|
|
|
|
... | | ... | |