Re: Can't load linux64.ko module

From: Steve Kargl <sgk_at_troutmask.apl.washington.edu>
Date: Wed, 4 Apr 2018 14:13:15 -0700
On Wed, Apr 04, 2018 at 01:19:55PM -0700, Steve Kargl wrote:
> On Wed, Apr 04, 2018 at 12:09:02PM -0700, Steve Kargl wrote:
> > 
> > kernel config file contains
> > 
> > options         COMPAT_LINUX32
> > options         COMPAT_LINUXKPI
> > options         LINPROCFS
> > 
> > When booting, the kernel tries to load the module.  A manual
> > loading of the module results in
> > 
> > % kldload /boot/kernel/linux64.ko
> > kldload: an error occurred while loading module /boot/kernel/linux64.ko.
> > Please check dmesg(8) for more details.
> > sleepdirt:fvwm:root[203] dmesg | tail -2
> > link_elf_obj: symbol elf64_linux_vdso_fixup undefined
> > linker_load_file: /boot/kernel/linux64.ko - unsupported file type
> > 
> > Now, that I look at /sys/amd64/conf/NOTES again, I find that
> > there is a COMPAT_LINUX as well as the COMPAT_LINUX32.  I must
> > have conflated that two options into being the same thing.
> > 

OK, so where is elf64_linux_vdso_fixup suppose to come from?

cd /boot/kernel
foreach i (*.ko)
  nm $i | grep linux_vdso_fixup
end

0000000000018f40 t elf32_linux_vdso_fixup
0000000000017cd0 t elf32_linux_vdso_fixup
                 U elf64_linux_vdso_fixup

nm kernel | grep linux_vdso
ffffffff80f3cb88 d __set_sysinit_set_sym_elf_linux_vdso_init_sys_init
ffffffff80f3e140 d __set_sysuninit_set_sym_elf_linux_vdso_uninit_sys_uninit
ffffffff80a3eae0 T elf32_linux_vdso_fixup
ffffffff80a3ebe0 T elf32_linux_vdso_reloc
ffffffff80a3e9e0 T elf32_linux_vdso_sym_init
ffffffff81180e70 B elf32_linux_vdso_syms
ffffffff80f32ae0 d elf_linux_vdso_init_sys_init
ffffffff80f32af8 d elf_linux_vdso_uninit_sys_uninit
ffffffff80a292d0 t linux_vdso_deinstall
ffffffff80a29210 t linux_vdso_install

-- 
Steve
Received on Wed Apr 04 2018 - 19:13:17 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:15 UTC