Bug ID | 1123348 |
---|---|
Summary | Error in make kernel or its documentation. Missing targets. |
Classification | openSUSE |
Product | openSUSE Distribution |
Version | Leap 15.0 |
Hardware | Other |
OS | Other |
Status | NEW |
Severity | Normal |
Priority | P5 - None |
Component | Kernel |
Assignee | kernel-maintainers@forge.provo.novell.com |
Reporter | carlos.e.r@opensuse.org |
QA Contact | qa-bugs@suse.de |
Found By | --- |
Blocker | --- |
I tried this, which had been working for a decade at least and is documented: Telcontar:~ # cd /usr/src/linux Telcontar:/usr/src/linux # make cloneconfig make[1]: *** No rule to make target 'cloneconfig'. Stop. make: *** [Makefile:569: cloneconfig] Error 2 Telcontar:/usr/src/linux # The documentation still says to use it: /usr/share/doc/packages/kernel-source-4.12.14-lp150.12.45/README.SUSE: �In addition, the running kernel exposes a gzip compressed version of its configuration file as /proc/config.gz. The kernel sources can be configured based on /proc/config.gz with ``make cloneconfig''.� The alternative seems to be: # cd /usr/src/linux/ # zcat /proc/config.gz > .config # make silentoldconfig Then I do: Telcontar:/usr/src/linux # echo -e "\n-- scripts --" && make scripts && echo -e "\n-- prepare --" && make prepare && echo -e "\n-- Done good! --" which fails with: scripts/mod/modpost.c:26:10: fatal error: ../../include/generated/uapi/linux/suse_version.h: No such file or directory #include "../../include/generated/uapi/linux/suse_version.h" ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ compilation terminated. Apparently, the order has to be reversed, firs prepare, then scripts; but the official documentation has not changed; at "/usr/src/linux/README.SUSE", it says: The first method involves the following steps: (1) Install the kernel-source package. (2) Configure the kernel, see HOW TO CONFIGURE THE KERNEL SOURCES. (3) Create files required for compiling external modules: ``make scripts'' and ``make prepare''. <======================== (4) Compile the module(s) by changing into the module source directory and typing ``make -C $(your_build_dir) M=$(pwd)''. (5) Install the module(s) by typing ``make -C $(your_build_dir) M=$(pwd) modules_install''.