The eclass takes config fragments from BROOT: https://github.com/gentoo/gentoo/blob/master/eclass/kernel-build.eclass#L220 This uses the same config files for the native system and cross-compiled kernels. I think it should search SYSROOT for these build-time files, which allows for different configs for different targets. I'm not sure the best way to express the path, maybe it has to do something like this to account for empty SYSROOT but nonempty EPREFIX: test -n "${SYSROOT}" && local user_configs=( "${ESYSROOT}"/etc/kernel/config.d/*.config ) || local user_configs=( "${BROOT}"/etc/kernel/config.d/*.config )