compiled vmlinux symbols doesn't match the /proc/kallsyms

Juerg Haefliger juerg.haefliger at canonical.com
Fri Apr 13 06:26:30 UTC 2018


On 04/12/2018 05:10 AM, zerons wrote:
> Hi,
> 
> Environment:
> 	Ubuntu 16.04, kernel 4.4.0-119-generic, amd64
> 
> cmdline:
> 	BOOT_IMAGE=/boot/vmlinuz-4.4.0-119-generic root=UUID=54a30539-d55c-4664-a716-409963511419 ro find_preseed=/preseed.cfg auto noprompt priority=critical locale=en_US quiet
> 
> Steps:
> 	sudo apt-get install linux-image-4.4.0-119-generic
> 	reboot
> 	apt-get source linux-image-4.4.0-119-generic
> 	cd linux-4.4.0
> 	cp /boot/config-4.4.0-119-generic .config
> 	make vmlinux

This is not how you build an Ubuntu kernel. See
https://wiki.ubuntu.com/Kernel/BuildYourOwnKernel

> I also tried `make CONFIG_DEBUG_SECTION_MISMATCH=y vmlinux`, and got some 'section mismatch'
> messages.
> 
> After that, I checked symbols in vmlinux, for example, 'tty_open', the address was 0xffffffff81502bc0,
> while that symbol in /proc/kallsyms was 0xffffffff81502c30. This is very inconvenient to debug the kernel. 
> 
> For this case(download the source code and `make vmlinux`), how can I get the vmlinux file which can match 
> the symbols in /proc/kallsyms? 

Why not install the debug package linux-image-4.4.0-119-generic-dbgsym?

...Juerg

> Thanks.
> 





More information about the kernel-team mailing list