Bug 124389 - [build] make installkernel fails with KMODDIR iff $(KMODDIR) does not exist
Summary: [build] make installkernel fails with KMODDIR iff $(KMODDIR) does not exist
Status: Closed Overcome By Events
Alias: None
Product: Base System
Classification: Unclassified
Component: kern (show other bugs)
Version: 7.0-STABLE
Hardware: Any Any
: Normal Affects Only Me
Assignee: freebsd-bugs mailing list
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-06-08 08:40 UTC by ota
Modified: 2019-08-12 09:32 UTC (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description ota 2008-06-08 08:40:04 UTC
"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
Comment 1 Eitan Adler freebsd_committer freebsd_triage 2017-12-31 08:00:36 UTC
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
Comment 2 ota 2019-08-12 09:32:12 UTC
"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.