[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <75BCA8F9-B649-48BD-9A30-2561AEFBB877@goldelico.com>
Date: Thu, 23 Aug 2018 09:16:23 +0200
From: "H. Nikolaus Schaller" <hns@...delico.com>
To: Randy Dunlap <rdunlap@...radead.org>
Cc: Dmitry Torokhov <dmitry.torokhov@...il.com>,
lucas.demarchi@...fusion.mobi, lucas.de.marchi@...il.com,
michal.lkml@...kovi.net, jeyu@...nel.org, cwhuang@...ux.org.tw,
"3.8+" <stable@...r.kernel.org>,
lkml <linux-kernel@...r.kernel.org>,
Discussions about the Letux Kernel
<letux-kernel@...nphoenux.org>,
Masahiro Yamada <yamada.masahiro@...ionext.com>,
Linux Kbuild mailing list <linux-kbuild@...r.kernel.org>
Subject: Re: please revert commit ce8556cca6 "kbuild: verify that $DEPMOD is installed" introduced in v4.18.4.
Hi Randy,
> Am 23.08.2018 um 03:07 schrieb Randy Dunlap <rdunlap@...radead.org>:
>
> On 08/22/2018 05:39 PM, Dmitry Torokhov wrote:
>> On Wed, Aug 22, 2018 at 4:35 PM Randy Dunlap <rdunlap@...radead.org> wrote:
>>>
>>> On 08/22/2018 11:53 AM, H. Nikolaus Schaller wrote:
>>>> This patch requires that /sbin/depmod is installed and installable on
>>>> the build host.
>>>>
>>>> But not all build hosts for cross compiling Linux are Linux systems
>>>> and are able to provide a working port of depmod, especially at the
>>>> file patch /sbin/depmod.
>>>>
>>>> I use, for example, a Darwin system to cross compile Linux and I run
>>>> depmod -a on the embedded system once, after installing a new Linux
>>>> kernel there.
>>>>
>>>> I have no problem with seeing a warning, but aborting the build process
>>>> is IMHO a bad idea since the previous behaviour didn't harm many people
>>>> as far as I see. Probably 99% of people compiling Linux kernels do that
>>>> on Linux and 99% of those have depmod installed for optimal operation of
>>>> their build host. So IMHO printing the warning is good enough.
>>>
>>> Thanks for the report and sorry about the problem.
>>>
>>> I'm OK with changing the error to a warning.
>>> Does the patch below work for you?
>>
>> Why would one want a warning on a host that never runs "make modules_install"?
>> Can this check be only done when we actually try to install modules?
>
>
> So Nikolaus: how do you provoke this problem that you are reporting?
> It's not just a theoretical problem, is it?
>
> The way that I read the top-level Makefile, this check for $DEPMOD only happens
> when you run "make modules_install".
Yes,
we run on the build host
make letux_defconfig dtbs uImage INSTALL_MOD_PATH=/tmp/kernel-modules-$$ modules modules_install
and then scp the files from /tmp/kernel-modules-$$ to the embedded device.
Or pack into some installable file setfor download on our server.
So we run modules_install on the build host as well to copy the modules into the correct hierarchy
and give it the correct lib/modules/<kernel_release> prefix.
I would have to duplicate this what module_install does in some wrapper script.
BTW: it is a standard technique described by others:
http://labs.isee.biz/index.php/The_Linux_kernel#IGEP_Boards_based_on_Texas_Instruments_.C2.A0Processors
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- modules_install INSTALL_MOD_PATH=/media/user/rootfs
http://en.gnublin.org/index.php/Kernel_compile_%2B_Module_installation#Compile_the_modules
mkdir kernel_archiv
make modules_install INSTALL_MOD_PATH=kernel_archiv
cp arch/arm/boot/zImage kernel_archiv
cd kernel_archiv
tar cfvz kernel.tar.gz zImage lib/
All these descriptions will now break if run on a host without /sbin/depmod installed.
BR and thanks,
Nikolaus
Powered by blists - more mailing lists