"make installkernel" does not create $(KMODDIR). As a result, all files are installed as $(KMODDIR) but not under $(KMODDIR). Quick-workaround is "mkdir $(KMODDIR)" before installkernel; but installkernel process is broken. How-To-Repeat: # ls /boot/dir ls: /boot/dir: No such file or directory # make installkernel KMODDIR=/boot/dir .. ===> zyd (install) install -o root -g wheel -m 555 if_zyd.ko /boot/dir install -o root -g wheel -m 555 if_zyd.ko.symbols /boot/dir kldxref /boot/dir kldxref: /boot/dir: Not a directory *** Error code 1 Stop in /usr/src/sys/modules. *** Error code 1 Stop in /usr/obj/usr/src/sys/GENERIC. *** Error code 1 Stop in /usr/src. *** Error code 1 Stop in /usr/src. # ls -l /boot/dir -r-xr-xr-x 1 root wheel 89690 Jun 8 03:35 /boot/dir
For bugs matching the following criteria: Status: In Progress Changed: (is less than) 2014-06-01 Reset to default assignee and clear in-progress tags. Mail being skipped
"make installkernel KMODDIR=/boot/dir" still fails in 13-CURRENT but I haven't needed to specify KMODDIR long enough years. Also, some changes have been done to kernel modules since this PR was submitted like below in /usr/src/UPDATING. 20160510: Kernel modules compiled outside of a kernel build now default to installing to /boot/modules instead of /boot/kernel. Many kernel modules built this way (such as those in ports) already overrode KMODDIR explicitly to install into /boot/modules. However, manually building and installing a module from /sys/modules will now install to /boot/modules instead of /boot/kernel.