Re: [PATCH v2] Makefile: install modules.builtin even if CONFIG_MODULES=n

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sat, Jun 13, 2020 at 12:35 AM Jonas Zeiger <jonas.zeiger@xxxxxxxxxxxx> wrote:
>
> On 2020-06-12 08:56, Masahiro Yamada wrote:
> > On Wed, Jun 10, 2020 at 2:31 AM Guenter Roeck <groeck@xxxxxxxxxx>
> > wrote:
> >>
> >> On Tue, Jun 9, 2020 at 9:38 AM Doug Anderson <dianders@xxxxxxxxxxxx>
> >> wrote:
> >> >
> >> > Hi,
> >> >
> >> > On Tue, Jun 3, 2020 at 9:33 AM Jonas Zeiger <jonas.zeiger@xxxxxxxxxxxx> wrote:
> >> > >
> >> > > Many applications check for available kernel features via:
> >> > >
> >> > >   - /proc/modules (loaded modules, present if CONFIG_MODULES=y)
> >> > >   - $(MODLIB)/modules.builtin (builtin modules)
> >> > >
> >> > > They fail to detect features if the kernel was built with
> >> > > CONFIG_MODULES=n
> >> > > and modules.builtin isn't installed.
> >> > >
> >> > > Therefore, add the target "_builtin_inst_" and make "install" and
> >> > > "modules_install" depend on it.
> >> > >
> >> > > Tests results:
> >> > >
> >> > >   - make install: kernel image is copied as before, modules.builtin
> >> > > copied
> >> > >   - make modules_install: (CONFIG_MODULES=n) nothing is copied, exit 1
> >> > >
> >> > > Signed-off-by: Jonas Zeiger <jonas.zeiger@xxxxxxxxxxxx>
> >> > > ---
> >> > >   Makefile | 14 +++++++++++---
> >> > >   1 file changed, 11 insertions(+), 3 deletions(-)
> >> >
> >> > Note that this change broke builds in the Chrome OS build system
> >> > because we require modules to be installed to a certain path and we
> >> > weren't passing "INSTALL_MOD_PATH" when we called "make install".
> >> >
> >> > We can certainly fix our build system (I have a patch at
> >> > https://crrev.com/c/2237511 for it), but I do wonder if others will
> >> > hit the same issue.  Others might not have such a nice sandboxing
> >> > system so they might unknowingly try to install files to the build
> >> > computer's modules directory instead of their target.
> >> >
> >>
> >> I am more concerned with people getting errors such as
> >>
> >> mkdir: cannot create directory '/lib/modules/5.7.0+/': Permission
> >> denied
> >>
> >> when running "make install", with no documentation or explanation that
> >> or why INSTALL_MOD_PATH is now mandatory for non-root installations.
> >> Even for root installations, it seems odd that "make install" now
> >> installs module files; after all, this is what "make modules_install"
> >> is for.
> >>
> >> I can understand the use case for CONFIG_MODULES=n, but the impact and
> >> changed behavior on systems with CONFIG_MODULES=y is quite unexpected.
> >>
> >> Guenter
> >
> >
> > Sorry, I led this patch in a wrong way.
> >
> > Maybe, we should allow 'make modules_install' for CONFIG_MODULES=n
> > as Jonas did in v1.
> >
> >
> > Another way might be to install it
> > in /boot/modules.builtin.(ver) when CONFIG_MODULES=n
> > but checking multiple locations would be inconvenient.
>
> I have noticed that my build system specified INSTALL_MOD_PATH for "make
> install", so the patch doesn't cause issues in my environment.
>
> However, I should have noticed that the change is breaking some existing
> setups.
>
> Masahiro, I still believe that the approach you favored (v2) makes more
> sense architecturally, but at this point it seems that v1 is more
> pragmatic.
>
> Would you agree to revert v2 and apply v1 instead?


Yes, I agree.

Thanks.


> I will fix issues that may come up with v1, however unlikely.
>


-- 
Best Regards
Masahiro Yamada



[Index of Archives]     [Linux&nblp;USB Development]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite Secrets]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux