| Summary: | wf111 package removes all kernel module dependencies | ||
|---|---|---|---|
| Product: | buildroot | Reporter: | Matthew Starr <mstarr> |
| Component: | Other | Assignee: | unassigned |
| Status: | RESOLVED FIXED | ||
| Severity: | normal | CC: | buildroot |
| Priority: | P5 | ||
| Version: | 2015.05 | ||
| Target Milestone: | --- | ||
| Hardware: | PC | ||
| OS: | Linux | ||
| Host: | Target: | ||
| Build: | |||
| Attachments: | Patch to fix wf111 overwriting module files during install | ||
I have managed to reproduce this issue using qemu_x86_64_defconfig in the 2015.11 release. My initial tests seem to show it's related to using uclibc. To reproduce the npm crash do the following: 1) start with qemu_x86_64_defconfig 2) add the C++ compiler 3) enable node.js version 0.12.7 4) enable npm for the target 5) build and run in qemu as per the instructions in board/qemu/x86_64/readme.txt 6) login and type npm -v, it will crash. Changing the toolchain from uclibc to glibc causes npm to start working. So as a work around use glibc. I'll try and narrow down the issue further. (In reply to comment #1) > I have managed to reproduce this issue using qemu_x86_64_defconfig in the > 2015.11 release. My initial tests seem to show it's related to using uclibc. > > To reproduce the npm crash do the following: > > 1) start with qemu_x86_64_defconfig > 2) add the C++ compiler > 3) enable node.js version 0.12.7 > 4) enable npm for the target > 5) build and run in qemu as per the instructions in > board/qemu/x86_64/readme.txt > 6) login and type npm -v, it will crash. > > Changing the toolchain from uclibc to glibc causes npm to start working. So as > a work around use glibc. I'll try and narrow down the issue further. Oops, this is meant for bug #8296 not this bug. Sorry. |
Created attachment 6161 [details] Patch to fix wf111 overwriting module files during install If the wf111 package is selected and the source is given, the package builds and runs depmod in its output directory. Then in the install target the contents of the output directory are copied to the target/lib/modules/<VERSION> directory. When the install step occurs the module.* files are overwritten with the wf111 files resulting in only the wf111 driver kernel module showing up on the target. This is detected by running "modprobe -l" on the target hardware and it will only show the extra/unifi_sdio.ko kernel module. This prevents loading of any other kernel modules enabled in the kernel configuration. As a solution the WF111_INSTALL_CMDS is removed and under the WF111_BUILD_CMDS, the following can be added to the make command: OUTPUT=$(TARGET_DIR). This points the build to install to the target directory and not the local output directory. This in turn catches all the other kernel modules when depmod is run. The only issue with this is that under the build target of wf111, it will also be installing the software too which is usually handled under the install target. Attached is a patch that makes the changes suggested above.