make install (kernel) without /modules dir
Roman Kurakin
rik at cronyx.ru
Fri Mar 12 07:11:09 PST 2004
Ruslan Ermilov wrote:
>Roman Kurakin wrote:
>
>
>>I forget to say that this problem is for 4. branch
>>
>>Roman Kurakin wrote:
>>
>>
>>
>>>Hi,
>>>
>>> It seems that I've found another problem. If /modules dir would be
>>>removed,
>>>make install (of kernel and kernel modules) will not create modules
>>>dir and you'll
>>>get /modules file with one of the modules inside.
>>>
>>>One of the variants is to add flag -d to install or other to mkdir -p
>>>explicitly:
>>>
>>>
misprint: -d flag should be -D flag
I forgot to check that this is only linux's install behavior.
>>>--- Makefile.old Fri Mar 12 00:13:45 2004
>>>+++ Makefile Fri Mar 12 00:15:03 2004
>>>@@ -626,6 +626,7 @@
>>> cp -p ${DESTDIR}/modules/* ${DESTDIR}/modules.old; \
>>> fi;
>>>.endif
>>>+ mkdir -p ${DESTDIR}/modules
>>> cd $S/modules ; env ${MKMODULESENV} ${MAKE} install
>>>
>>>modules-reinstall modules-reinstall.debug:
>>>
>>>
>
>An old problem. 5.x is only partly affected by this, because
>of a side effect of kern.post.mk creating the necessary directory,
>but if you attempt to install from src/sys/modules/ when
>/boot/kernel doesn't exist, it exhibits the same behavior.
>
>In RELENG_4 the situation is worse, as even "make installkernel"
>can exhibit such behavior. I once had a patch locally that adds
>"make hierarchy" to the installkernel path, similar to how this
>is done for installworld.
>
>The problem is not unique to just kernel modules; if you attempt
>to install "src/bin/" when /bin doesn't exist you'll see the same
>behavior, that's why I think the below change is not quite
>incorrect.
>
>I believe there's a PR open on this (probably even assigned to
>myself), but I just don't have a clever idea of how to fix it
>properly, sorry -- generally, standard directories are created
>with mtree(8), and not with mkdir(1).
>
>
If our install was like linux one which have -D flag, we could solve our
problem
by setting it globaly to install in sys.mk:
-INSTALL ?= install -D
+INSTALL ?= install -D
This flag dictates to create all necessary dirs if needed.
It would be nice to have such option, not -D of course.
My FreeBSD 3.4 machine tolds me that -D is debug flag.
Roman
>
>Cheers,
>
>
More information about the freebsd-hackers
mailing list