New: kernel can't support SUBDIR
https://bugs.busybox.net/show_bug.cgi?id=15161
Bug ID: 15161
Summary: kernel can't support SUBDIR
Product: buildroot
Version: 2022.08.2
Hardware: All
OS: Linux
Status: NEW
Severity: normal
Priority: P5
Component: Other
Assignee: [email protected]
Reporter: [email protected]
CC: [email protected]Target Milestone: ---
My kernel path is top/kernel/linux-x.y.z
I must keep to relative path because of some special reason
the local.mk like thisLINUX_OVERRIDE_SRCDIR = ../kernelLINUX_SUBDIR = linux-x.y.z
After run make, I found the build directory follow my idea, the top/kernel/linux-x.y.z be copied as output/build/linux-custom/linux-x.y.z/
but make oldconfig failed, because it use LINUX_DIR, I hope it use LINUX_SRCDIR in package/pkg-kconfig.mk, I saw this code:
$$($(2)_DIR)/$$($(2)_KCONFIG_STAMP_DOTCONFIG): $$($(2)_KCONFIG_FILE) $$($(2)_KCONFIG_FRAGMENT_FILES)
$$(call prepare-per-package-directory,$$($(2)_KCONFIG_DEPENDENCIES))
$$(call
kconfig-package-merge-config,$(2),$$(@D)/$$($(2)_KCONFIG_DOTCONFIG),\
$$($(2)_KCONFIG_FRAGMENT_FILES))
$$(Q)touch $$(@D)/$$($(2)_KCONFIG_STAMP_DOTCONFIG)build log:
lujiang@cn028lnx02:~/work/mt_sdk/symphony/Lznux/linux/buildroot $ make V=1 /usr/bin/install -m 0644 -D ../kernel/linux-x.y.z/arch/arm64/configs/symphony6_fpga_dbg_defconfig /home/lujiang/work/mt_sdk/symphony/Lznux/linux/buildroot/output/build/linux-custom/.config support/kconfig/merge_config.sh -m -O /home/lujiang/work/mt_sdk/symphony/Lznux/linux/buildroot/output/build/linux-custom/ /home/lujiang/work/mt_sdk/symphony/Lznux/linux/buildroot/output/build/linux-custom/.config Using /home/lujiang/work/mt_sdk/symphony/Lznux/linux/buildroot/output/build/linux-custom/.config as base
#
# merged configuration written to /home/lujiang/work/mt_sdk/symphony/Lznux/linux/buildroot/output/build/linux-custom/.config (needs make) # (yes "" | PATH="/home/lujiang/work/mt_sdk/symphony/Lznux/linux/buildroot/output/host/bin:/home/lujiang/work/mt_sdk/symphony/Lznux/linux/buildroot/output/host/sbin:/home/lujiang/work/mt_sdk/symphony/Lznux/linux/build/script/mt-pkg-config-dir:/home/lujiang/bin:/home/lujiang/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/home/lujiang/crosstool-ng/crosstool-ng-1.24.0/bin:/home/lujiang/bin:/usr/local/crosstool-ng/gcc-9.3-glibc-2.28-mipsel-linux-gnu-rm2.0/bin:/usr/local/linaro/gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf/bin:/usr/local/linaro/gcc-arm-10.2-2020.11-x86_64-aarch64-none-linux-gnu/bin" PKG_CONFIG="/home/lujiang/work/mt_sdk/symphony/Lznux/linux/buildroot/output/host/bin/pkg-config" PKG_CONFIG_SYSROOT_DIR="/" PKG_CONFIG_ALLOW_SYSTEM_CFLAGS=1 PKG_CONFIG_ALLOW_SYSTEM_LIBS=1 PKG_CONFIG_LIBDIR="/home/lujiang/work/mt_sdk/symphony/Lznux/linux/buildroot/output/host/lib/pkgconfig:/home/lujiang/work/mt_sdk/symphony/Lznux/linux/buildroot/output/host/share/pkgconfig" BR_BINARIES_DIR=/home/lujiang/work/mt_sdk/symphony/Lznux/linux/buildroot/output/images KCFLAGS=-Wno-attribute-alias /usr/bin/make -j33 -C /home/lujiang/work/mt_sdk/symphony/Lznux/linux/buildroot/output/build/linux-custom HOSTCC="/usr/bin/gcc" HOSTCC="/usr/bin/gcc -O2 -I/home/lujiang/work/mt_sdk/symphony/Lznux/linux/buildroot/output/host/include -L/home/lujiang/work/mt_sdk/symphony/Lznux/linux/buildroot/output/host/lib -Wl,-rpath,/home/lujiang/work/mt_sdk/symphony/Lznux/linux/buildroot/output/host/lib" ARCH=arm64 INSTALL_MOD_PATH=/home/lujiang/work/mt_sdk/symphony/Lznux/linux/buildroot/output/target CROSS_COMPILE="/home/lujiang/work/mt_sdk/symphony/Lznux/linux/buildroot/output/host/bin/aarch64-none-linux-gnu-" WERROR=0 DEPMOD=/home/lujiang/work/mt_sdk/symphony/Lznux/linux/buildroot/output/host/sbin/depmod INSTALL_MOD_STRIP=1 HOSTCC="/usr/bin/gcc" oldconfig) make[1]: Entering directory '/home/lujiang/work/mt_sdk/symphony/Lznux/linux/buildroot/output/build/linux-custom' make[1]: *** No rule to make target 'oldconfig'. Stop. make[1]: Leaving directory '/home/lujiang/work/mt_sdk/symphony/Lznux/linux/buildroot/output/build/linux-custom' linux/linux.mk:617: recipe for target '/home/lujiang/work/mt_sdk/symphony/Lznux/linux/buildroot/output/build/linux-custom/.stamp_dotconfig' failed make: *** [/home/lujiang/work/mt_sdk/symphony/Lznux/linux/buildroot/output/build/linux-custom/.stamp_dotconfig] Error 2
you can see, the kernel config file be copied as output/build/linux-custom/.config, but I want it be copied as output/build/linux-custom/linux-x.y.z/.config
and make oldconfig in output/build/linux-custom/.config, but I want to i run in output/build/linux-custom/linux-x.y.z
I print the var LINUX_SRCDIR and LINUX_DIR
$ make show-vars VARS=LINUX_SRCDIR the value is "/home/lujiang/work/mt_sdk/symphony/Lznux/linux/buildroot/output/build/linux-custom/linux-x.y.z" $ make show-vars VARS=LINUX_DIR the value is "/home/lujiang/work/mt_sdk/symphony/Lznux/linux/buildroot/output/build/linux-custom"
Signature · 6 lines
You are receiving this mail because: You are on the CC list for the bug. _______________________________________________ buildroot mailing list [email protected] https://lists.buildroot.org/mailman/listinfo/buildroot
[Buildroot] [Bug 15161] kernel can't support SUBDIR
https://bugs.busybox.net/show_bug.cgi?id=15161
[email protected] changed:
What |Removed |Added
----------------------------------------------------------------------------
Priority|P5 |P1
Severity|normal |majorSignature · 6 lines
You are receiving this mail because: You are on the CC list for the bug. _______________________________________________ buildroot mailing list [email protected] https://lists.buildroot.org/mailman/listinfo/buildroot
[Buildroot] [Bug 15161] kernel can't support SUBDIR
In reply to [email protected]https://bugs.busybox.net/show_bug.cgi?id=15161
--- Comment #1 from Thomas Petazzoni <[email protected]> --- I don't understand why you're not doing:
LINUX_OVERRIDE_SRCDIR = ../kernel/linux-x.y.z
and stop using _SUBDIR ?
In your case, I don't understand why you would be using _SUBDIR.
Signature · 6 lines
You are receiving this mail because: You are on the CC list for the bug. _______________________________________________ buildroot mailing list [email protected] https://lists.buildroot.org/mailman/listinfo/buildroot
[Buildroot] [Bug 15161] kernel can't support SUBDIR
In reply to [email protected]https://bugs.busybox.net/show_bug.cgi?id=15161
--- Comment #2 from [email protected] --- some kernel space code is not in kernel/linux-x.y.z my directory tree like this:
top/kernel/msp/drv
top/kernel/linux-x.y.z
top/kernel/linux-x.y.z/drivers
there is a soft link in kernel/linux-x.y.z/drivers kernel/linux-x.y.z/drivers/msp point to top/kernel/msp/drv the content of soft link is: ../../msp/drv
I hope set LINUX_OVERRIDE_SRCDIR at kernel level, then rsync can copy all kernel directory, then the relative path can be fixed
Signature · 6 lines
You are receiving this mail because: You are on the CC list for the bug. _______________________________________________ buildroot mailing list [email protected] https://lists.buildroot.org/mailman/listinfo/buildroot
[Buildroot] [Bug 15161] kernel can't support SUBDIR
In reply to [email protected]https://bugs.busybox.net/show_bug.cgi?id=15161
Yann E. MORIN <[email protected]> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |[email protected] Resolution|--- |INVALID Status|NEW |RESOLVED
--- Comment #3 from Yann E. MORIN <[email protected]> --- Luffy, All,
When you provide overrides of standard pacjages, you have to provide them with the same layout as the upstream version of those programs.
We can't support arbitrary overrides.
You should fix your kernel tree and your out-of-tree driver, either:
- move the driver in-tree rather than rely on a symlink, or
- ensure the driver is a proper out-of-tree driver and can compile standalone, and create a buildroot package for it (see kernel-module in the manual and existing packages for examples).
Regards,
Yann E. MORIN.
Signature · 6 lines
You are receiving this mail because: You are on the CC list for the bug. _______________________________________________ buildroot mailing list [email protected] https://lists.buildroot.org/mailman/listinfo/buildroot