On Mon, Aug 22, 2022 at 03:49:51PM +0800, Qu Wenruo wrote: > > > On 2022/8/22 15:33, Greg KH wrote: > > On Mon, Aug 22, 2022 at 03:24:53PM +0800, Qu Wenruo wrote: > > > > > > > > > On 2022/8/22 14:25, Greg KH wrote: > > > > On Mon, Aug 22, 2022 at 09:15:59AM +0800, Qu Wenruo wrote: > > > > > Hi, > > > > > > > > > > When backporting some btrfs specific patches to all LTS kernels, I found > > > > > v4.14.290 kernel unable to boot as a KVM guest with edk2-ovmf > > > > > (edk2-ovmf: 202205, qemu 7.0.0, libvirt 1:8.6.0). > > > > > > > > > > While all other LTS/stable branches (4.19.x, 5.4.x, 5.10.x, 5.15.x, > > > > > 5.18.x, 5.19.x) can boot without a hipccup. > > > > > > > > > > I tried the following configs, but none of them can even provide an > > > > > early output: > > > > > > > > > > - CONFIG_X86_VERBOSE_BOOTUP > > > > > - CONFIG_EARLY_PRINTK > > > > > - CONFIG_EARLY_PRINTK_EFI > > > > > > > > > > Is this a known bug or something new? > > > > > > > > Has this ever worked properly on this very old kernel tree? If so, can > > > > you use 'git bisect' to find the offending commit? > > > > > > Unfortunately the initial v4.14 from upstream can not even be compiled. > > > > Really? Try using an older version of gcc and you should be fine. It > > did build properly back in 2017 when it was released :) > > Yeah, I'm pretty sure my toolchain is too new for v4.14.0. But my distro > only provides the latest and mostly upstream packages. > > It may be a even worse disaster to find a way to rollback to older > toolchains using my distro... > > Also my hardware may not be well suited for older kernels either. > (Zen 3 CPU used here) > > In fact, I even find it hard just to locate a v4.14.x tag that can compile. > After some bisection between v4.14.x tags, only v4.14.268 and newer tags > can even be compiled using latest toolchain. > (But still tons of warning, and tons of objdump warnings against > insn_get_length()). > > I'm not sure what's the normal practice for backports to such old branch. > > Do you stable guys keep dedicated VMs loaded with older distro just for > these old branches? I don't, that's why those kernels can be built with newer versions of gcc. Your distro should have a version of gcc-10 or gcc-9 that can be installed, right? Or maybe use the gcc versions on kernel.org that only work for kernel builds? > If so, any recommendation on those kinda retro distro? Try installing an old version of Debian, or better yet, use a distro that provides old versions of gcc :) good luck! greg k-h