Re: please revert commit ce8556cca6 "kbuild: verify that $DEPMOD is installed" introduced in v4.18.4.
On Thu, Aug 23, 2018 at 05:38:27PM +0900, Masahiro Yamada wrote: > Hi Randy, > > > 2018-08-23 8:33 GMT+09:00 Randy Dunlap : > > 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? > > > > thanks. > > --- > > From: Randy Dunlap > > > > When $DEPMOD is not found, only print a warning instead of exiting > > with an error message and error status. > > > > E.g.: > > Warning: 'make modules_install' requires /sbin/depmod. Please install it. > > This is probably in the kmod package. > > ../scripts/depmod.sh: line 44: /sbin/depmod: No such file or directory > > make[1]: *** [/home/rdunlap/lnx/lnx-418/Makefile:1244: _modinst_post] Error > > 127 > > make: *** [Makefile:146: sub-make] Error 2 > > > > Signed-off-by: Randy Dunlap > > Reported-by: H. Nikolaus Schaller > > --- > > scripts/depmod.sh |3 +-- > > 1 file changed, 1 insertion(+), 2 deletions(-) > > > > --- lnx-418.orig/scripts/depmod.sh > > +++ lnx-418/scripts/depmod.sh > > @@ -15,9 +15,8 @@ if ! test -r System.map ; then > > fi > > > > if [ -z $(command -v $DEPMOD) ]; then > > - echo "'make modules_install' requires $DEPMOD. Please install it." > > >&2 > > + echo "Warning: 'make modules_install' requires $DEPMOD. Please > > install it." >&2 > > echo "This is probably in the kmod package." >&2 > > - exit 1 > > > 'exit 0' is missing here. > > This shell script would fail, then abort the build process. > > > > ../scripts/depmod.sh: line 44: /sbin/depmod: No such file or directory > > make[1]: *** [/home/rdunlap/lnx/lnx-418/Makefile:1244: _modinst_post] Error > > 127 > > make: *** [Makefile:146: sub-make] Error 2 > > > > > > > -- > Best Regards > Masahiro Yamada May I suggest the following implementation: diff -U0 scripts/depmod.sh ~/tmp/depmod.sh --- scripts/depmod.sh 2018-08-10 17:14:19.036349222 +0300 +++ /home/sasha/tmp/depmod.sh 2018-08-23 18:07:23.486048827 +0300 # 'if' block may be omitted here. If System.map isn't there and isn't readable, 'exit 0'. @@ -13,3 +13 @@ -if ! test -r System.map ; then - exit 0 -fi +test -r System.map || exit 0 # Have the 'if' test statement syntax conform with the remainder of the script, which uses 'if test' rather then the 2nd form of the test utility, i.e. '[ expr ]'. # In my view, the use of the negation operator, '!', makes the intent clearer, and reads, 'if $DEPMOD not found', rather then 'if the length of $DEPMOD is zero'. @@ -17 +15 @@ -if [ -z $(command -v $DEPMOD) ]; then +if test ! $(command -v $DEPMOD); then @@ -20 +18 @@ - exit 1 + exit 0 [Sample run] # Testing for a non-existant utility: % if test ! $(command -v cmd); then echo cmd not found; fi % cmd not found # Testing for a existing utility: % if test ! $(command -v ed); then echo ed not found; fi % if test $(command -v ed); then echo ed found; fi % ed found
Re: please revert commit ce8556cca6 "kbuild: verify that $DEPMOD is installed" introduced in v4.18.4.
On Thu, Aug 23, 2018 at 05:38:27PM +0900, Masahiro Yamada wrote: > Hi Randy, > > > 2018-08-23 8:33 GMT+09:00 Randy Dunlap : > > 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? > > > > thanks. > > --- > > From: Randy Dunlap > > > > When $DEPMOD is not found, only print a warning instead of exiting > > with an error message and error status. > > > > E.g.: > > Warning: 'make modules_install' requires /sbin/depmod. Please install it. > > This is probably in the kmod package. > > ../scripts/depmod.sh: line 44: /sbin/depmod: No such file or directory > > make[1]: *** [/home/rdunlap/lnx/lnx-418/Makefile:1244: _modinst_post] Error > > 127 > > make: *** [Makefile:146: sub-make] Error 2 > > > > Signed-off-by: Randy Dunlap > > Reported-by: H. Nikolaus Schaller > > --- > > scripts/depmod.sh |3 +-- > > 1 file changed, 1 insertion(+), 2 deletions(-) > > > > --- lnx-418.orig/scripts/depmod.sh > > +++ lnx-418/scripts/depmod.sh > > @@ -15,9 +15,8 @@ if ! test -r System.map ; then > > fi > > > > if [ -z $(command -v $DEPMOD) ]; then > > - echo "'make modules_install' requires $DEPMOD. Please install it." > > >&2 > > + echo "Warning: 'make modules_install' requires $DEPMOD. Please > > install it." >&2 > > echo "This is probably in the kmod package." >&2 > > - exit 1 > > > 'exit 0' is missing here. > > This shell script would fail, then abort the build process. > > > > ../scripts/depmod.sh: line 44: /sbin/depmod: No such file or directory > > make[1]: *** [/home/rdunlap/lnx/lnx-418/Makefile:1244: _modinst_post] Error > > 127 > > make: *** [Makefile:146: sub-make] Error 2 > > > > > > > -- > Best Regards > Masahiro Yamada May I suggest the following implementation: diff -U0 scripts/depmod.sh ~/tmp/depmod.sh --- scripts/depmod.sh 2018-08-10 17:14:19.036349222 +0300 +++ /home/sasha/tmp/depmod.sh 2018-08-23 18:07:23.486048827 +0300 # 'if' block may be omitted here. If System.map isn't there and isn't readable, 'exit 0'. @@ -13,3 +13 @@ -if ! test -r System.map ; then - exit 0 -fi +test -r System.map || exit 0 # Have the 'if' test statement syntax conform with the remainder of the script, which uses 'if test' rather then the 2nd form of the test utility, i.e. '[ expr ]'. # In my view, the use of the negation operator, '!', makes the intent clearer, and reads, 'if $DEPMOD not found', rather then 'if the length of $DEPMOD is zero'. @@ -17 +15 @@ -if [ -z $(command -v $DEPMOD) ]; then +if test ! $(command -v $DEPMOD); then @@ -20 +18 @@ - exit 1 + exit 0 [Sample run] # Testing for a non-existant utility: % if test ! $(command -v cmd); then echo cmd not found; fi % cmd not found # Testing for a existing utility: % if test ! $(command -v ed); then echo ed not found; fi % if test $(command -v ed); then echo ed found; fi % ed found
Re: please revert commit ce8556cca6 "kbuild: verify that $DEPMOD is installed" introduced in v4.18.4.
Hi Randy, 2018-08-23 8:33 GMT+09:00 Randy Dunlap : > 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? > > thanks. > --- > From: Randy Dunlap > > When $DEPMOD is not found, only print a warning instead of exiting > with an error message and error status. > > E.g.: > Warning: 'make modules_install' requires /sbin/depmod. Please install it. > This is probably in the kmod package. > ../scripts/depmod.sh: line 44: /sbin/depmod: No such file or directory > make[1]: *** [/home/rdunlap/lnx/lnx-418/Makefile:1244: _modinst_post] Error > 127 > make: *** [Makefile:146: sub-make] Error 2 > > Signed-off-by: Randy Dunlap > Reported-by: H. Nikolaus Schaller > --- > scripts/depmod.sh |3 +-- > 1 file changed, 1 insertion(+), 2 deletions(-) > > --- lnx-418.orig/scripts/depmod.sh > +++ lnx-418/scripts/depmod.sh > @@ -15,9 +15,8 @@ if ! test -r System.map ; then > fi > > if [ -z $(command -v $DEPMOD) ]; then > - echo "'make modules_install' requires $DEPMOD. Please install it." >&2 > + echo "Warning: 'make modules_install' requires $DEPMOD. Please > install it." >&2 > echo "This is probably in the kmod package." >&2 > - exit 1 'exit 0' is missing here. This shell script would fail, then abort the build process. > ../scripts/depmod.sh: line 44: /sbin/depmod: No such file or directory > make[1]: *** [/home/rdunlap/lnx/lnx-418/Makefile:1244: _modinst_post] Error > 127 > make: *** [Makefile:146: sub-make] Error 2 -- Best Regards Masahiro Yamada
Re: please revert commit ce8556cca6 "kbuild: verify that $DEPMOD is installed" introduced in v4.18.4.
Hi Randy, 2018-08-23 8:33 GMT+09:00 Randy Dunlap : > 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? > > thanks. > --- > From: Randy Dunlap > > When $DEPMOD is not found, only print a warning instead of exiting > with an error message and error status. > > E.g.: > Warning: 'make modules_install' requires /sbin/depmod. Please install it. > This is probably in the kmod package. > ../scripts/depmod.sh: line 44: /sbin/depmod: No such file or directory > make[1]: *** [/home/rdunlap/lnx/lnx-418/Makefile:1244: _modinst_post] Error > 127 > make: *** [Makefile:146: sub-make] Error 2 > > Signed-off-by: Randy Dunlap > Reported-by: H. Nikolaus Schaller > --- > scripts/depmod.sh |3 +-- > 1 file changed, 1 insertion(+), 2 deletions(-) > > --- lnx-418.orig/scripts/depmod.sh > +++ lnx-418/scripts/depmod.sh > @@ -15,9 +15,8 @@ if ! test -r System.map ; then > fi > > if [ -z $(command -v $DEPMOD) ]; then > - echo "'make modules_install' requires $DEPMOD. Please install it." >&2 > + echo "Warning: 'make modules_install' requires $DEPMOD. Please > install it." >&2 > echo "This is probably in the kmod package." >&2 > - exit 1 'exit 0' is missing here. This shell script would fail, then abort the build process. > ../scripts/depmod.sh: line 44: /sbin/depmod: No such file or directory > make[1]: *** [/home/rdunlap/lnx/lnx-418/Makefile:1244: _modinst_post] Error > 127 > make: *** [Makefile:146: sub-make] Error 2 -- Best Regards Masahiro Yamada
Re: please revert commit ce8556cca6 "kbuild: verify that $DEPMOD is installed" introduced in v4.18.4.
2018-08-23 10:07 GMT+09:00 Randy Dunlap : > On 08/22/2018 05:39 PM, Dmitry Torokhov wrote: >> On Wed, Aug 22, 2018 at 4:35 PM Randy Dunlap 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". > > -- > ~Randy Unless I am misunderstanding, he wants to use "make modules_install" just for copying modules. Then, he will run depmod on the target system later. -- Best Regards Masahiro Yamada
Re: please revert commit ce8556cca6 "kbuild: verify that $DEPMOD is installed" introduced in v4.18.4.
2018-08-23 10:07 GMT+09:00 Randy Dunlap : > On 08/22/2018 05:39 PM, Dmitry Torokhov wrote: >> On Wed, Aug 22, 2018 at 4:35 PM Randy Dunlap 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". > > -- > ~Randy Unless I am misunderstanding, he wants to use "make modules_install" just for copying modules. Then, he will run depmod on the target system later. -- Best Regards Masahiro Yamada
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 : > > On 08/22/2018 05:39 PM, Dmitry Torokhov wrote: >> On Wed, Aug 22, 2018 at 4:35 PM Randy Dunlap 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/ 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
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 : > > On 08/22/2018 05:39 PM, Dmitry Torokhov wrote: >> On Wed, Aug 22, 2018 at 4:35 PM Randy Dunlap 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/ 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
Re: please revert commit ce8556cca6 "kbuild: verify that $DEPMOD is installed" introduced in v4.18.4.
On 08/22/2018 05:39 PM, Dmitry Torokhov wrote: > On Wed, Aug 22, 2018 at 4:35 PM Randy Dunlap 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". -- ~Randy
Re: please revert commit ce8556cca6 "kbuild: verify that $DEPMOD is installed" introduced in v4.18.4.
On 08/22/2018 05:39 PM, Dmitry Torokhov wrote: > On Wed, Aug 22, 2018 at 4:35 PM Randy Dunlap 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". -- ~Randy
Re: please revert commit ce8556cca6 "kbuild: verify that $DEPMOD is installed" introduced in v4.18.4.
On Wed, Aug 22, 2018 at 4:35 PM Randy Dunlap 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? Thanks. -- Dmitry
Re: please revert commit ce8556cca6 "kbuild: verify that $DEPMOD is installed" introduced in v4.18.4.
On Wed, Aug 22, 2018 at 4:35 PM Randy Dunlap 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? Thanks. -- Dmitry
Re: please revert commit ce8556cca6 "kbuild: verify that $DEPMOD is installed" introduced in v4.18.4.
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? thanks. --- From: Randy Dunlap When $DEPMOD is not found, only print a warning instead of exiting with an error message and error status. E.g.: Warning: 'make modules_install' requires /sbin/depmod. Please install it. This is probably in the kmod package. ../scripts/depmod.sh: line 44: /sbin/depmod: No such file or directory make[1]: *** [/home/rdunlap/lnx/lnx-418/Makefile:1244: _modinst_post] Error 127 make: *** [Makefile:146: sub-make] Error 2 Signed-off-by: Randy Dunlap Reported-by: H. Nikolaus Schaller --- scripts/depmod.sh |3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) --- lnx-418.orig/scripts/depmod.sh +++ lnx-418/scripts/depmod.sh @@ -15,9 +15,8 @@ if ! test -r System.map ; then fi if [ -z $(command -v $DEPMOD) ]; then - echo "'make modules_install' requires $DEPMOD. Please install it." >&2 + echo "Warning: 'make modules_install' requires $DEPMOD. Please install it." >&2 echo "This is probably in the kmod package." >&2 - exit 1 fi # older versions of depmod require the version string to start with three
Re: please revert commit ce8556cca6 "kbuild: verify that $DEPMOD is installed" introduced in v4.18.4.
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? thanks. --- From: Randy Dunlap When $DEPMOD is not found, only print a warning instead of exiting with an error message and error status. E.g.: Warning: 'make modules_install' requires /sbin/depmod. Please install it. This is probably in the kmod package. ../scripts/depmod.sh: line 44: /sbin/depmod: No such file or directory make[1]: *** [/home/rdunlap/lnx/lnx-418/Makefile:1244: _modinst_post] Error 127 make: *** [Makefile:146: sub-make] Error 2 Signed-off-by: Randy Dunlap Reported-by: H. Nikolaus Schaller --- scripts/depmod.sh |3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) --- lnx-418.orig/scripts/depmod.sh +++ lnx-418/scripts/depmod.sh @@ -15,9 +15,8 @@ if ! test -r System.map ; then fi if [ -z $(command -v $DEPMOD) ]; then - echo "'make modules_install' requires $DEPMOD. Please install it." >&2 + echo "Warning: 'make modules_install' requires $DEPMOD. Please install it." >&2 echo "This is probably in the kmod package." >&2 - exit 1 fi # older versions of depmod require the version string to start with three
Re: please revert commit ce8556cca6 "kbuild: verify that $DEPMOD is installed" introduced in v4.18.4.
On Wed, Aug 22, 2018 at 08:53:46PM +0200, 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. It needs to be reverted in Linus's tree first before I can revert it in the stable tree(s). thanks, greg k-h
Re: please revert commit ce8556cca6 "kbuild: verify that $DEPMOD is installed" introduced in v4.18.4.
On Wed, Aug 22, 2018 at 08:53:46PM +0200, 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. It needs to be reverted in Linus's tree first before I can revert it in the stable tree(s). thanks, greg k-h
please revert commit ce8556cca6 "kbuild: verify that $DEPMOD is installed" introduced in v4.18.4.
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. BR and thanks, Nikolaus Schaller
please revert commit ce8556cca6 "kbuild: verify that $DEPMOD is installed" introduced in v4.18.4.
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. BR and thanks, Nikolaus Schaller