| Summary: | test-image: compile and load a kernel module under the qemu-lsb image is failing | ||
|---|---|---|---|
| Product: | [Build System, Metadata & Runtime] BSPs | Reporter: | Jose Perez C <jose.perez.carranza> |
| Component: | bsps-runtime | Assignee: | Bruce Ashfield <bruce.ashfield> |
| Status: | RESOLVED NOTABUG | QA Contact: | |
| Severity: | normal | ||
| Priority: | Medium | CC: | randy.macleod, yp.kernel.watcher, yp.watcher |
| Version: | 2.3 | ||
| Target Milestone: | 2.3 M3 | ||
| Hardware: | x86 | ||
| OS: | Multiple | ||
| Whiteboard: | |||
| OS type for building Yocto: | --- | Type of Regression: | --- |
| Verified: | Documentation change: | No (bug/feature does not impact docs) | |
|
Description
Jose Perez C
2016-12-22 14:35:43 UTC
This is likely modversions kicking in. Can you check to see if the kernel build has MODVERSIONS enabled ? Also, what does dmesg log when the module load fails ? It could also be an invalid entry point, but something should be dumped in those cases. Checking on file /proc/config.gz is giving: # CONFIG_MODVERSIONS is not set ---- The image kernel is giving: $uname -r kernel 4.8.12-yocto-standard ---- and dmesg is giving the following: [ 2337.132062] hello: version magic '4.1.36-yocto-standard SMP preempt mod_unload PENTIUMM ' should be '4.8.12-yocto-standard SMP preempt mod_unload PENTIUMM ' (In reply to comment #2) > Checking on file /proc/config.gz is giving: > # CONFIG_MODVERSIONS is not set > > ---- > > The image kernel is giving: > $uname -r > kernel 4.8.12-yocto-standard > > ---- > and dmesg is giving the following: > > [ 2337.132062] hello: version magic '4.1.36-yocto-standard SMP preempt > mod_unload PENTIUMM ' should be '4.8.12-yocto-standard SMP preempt > mod_unload PENTIUMM ' aha. so it is a version skew. The running kernel is different from the SDK one. Is one build using AUTOREV ? i.e. the image one is AUTOREV but the SDK is fixed ? or vice versa ? (In reply to comment #3) > (In reply to comment #2) > > Checking on file /proc/config.gz is giving: > > # CONFIG_MODVERSIONS is not set > > > > ---- > > > > The image kernel is giving: > > $uname -r > > kernel 4.8.12-yocto-standard > > > > ---- > > and dmesg is giving the following: > > > > [ 2337.132062] hello: version magic '4.1.36-yocto-standard SMP preempt > > mod_unload PENTIUMM ' should be '4.8.12-yocto-standard SMP preempt > > mod_unload PENTIUMM ' > > aha. so it is a version skew. The running kernel is different from the SDK > one. Is one build using AUTOREV ? i.e. the image one is AUTOREV but the SDK > is fixed ? or vice versa ? I'm not building the images, I'm using the ones uploaded to the public AB http://autobuilder.yoctoproject.org/pub/releases/yocto-2.3_M1.rc1/machines/qemu/qemux86-lsb/ is there a way to check this directly on the image booted? (In reply to comment #4) > (In reply to comment #3) > > (In reply to comment #2) > > > Checking on file /proc/config.gz is giving: > > > # CONFIG_MODVERSIONS is not set > > > > > > ---- > > > > > > The image kernel is giving: > > > $uname -r > > > kernel 4.8.12-yocto-standard > > > > > > ---- > > > and dmesg is giving the following: > > > > > > [ 2337.132062] hello: version magic '4.1.36-yocto-standard SMP preempt > > > mod_unload PENTIUMM ' should be '4.8.12-yocto-standard SMP preempt > > > mod_unload PENTIUMM ' > > > > aha. so it is a version skew. The running kernel is different from the SDK > > one. Is one build using AUTOREV ? i.e. the image one is AUTOREV but the SDK > > is fixed ? or vice versa ? > > I'm not building the images, I'm using the ones uploaded to the public AB > http://autobuilder.yoctoproject.org/pub/releases/yocto-2.3_M1.rc1/machines/ > qemu/qemux86-lsb/ is there a way to check this directly on the image booted? Not really. But you can check the captured kernel source in the SDK and note the version from the Makefile. The system is working as expected by refusing to load the version mismatched kernel module and running kernel. Not knowing how the kernel you are booting is associated to the SDK you are downloading I can't say exactly why they are different. Do you know where both are coming from ? Can we confirm they are from the same build / build artifacts ? (In reply to comment #5) > (In reply to comment #4) > > (In reply to comment #3) > > > (In reply to comment #2) > > > > Checking on file /proc/config.gz is giving: > > > > # CONFIG_MODVERSIONS is not set > > > > > > > > ---- > > > > > > > > The image kernel is giving: > > > > $uname -r > > > > kernel 4.8.12-yocto-standard > > > > > > > > ---- > > > > and dmesg is giving the following: > > > > > > > > [ 2337.132062] hello: version magic '4.1.36-yocto-standard SMP preempt > > > > mod_unload PENTIUMM ' should be '4.8.12-yocto-standard SMP preempt > > > > mod_unload PENTIUMM ' > > > > > > aha. so it is a version skew. The running kernel is different from the SDK > > > one. Is one build using AUTOREV ? i.e. the image one is AUTOREV but the SDK > > > is fixed ? or vice versa ? > > > > I'm not building the images, I'm using the ones uploaded to the public AB > > http://autobuilder.yoctoproject.org/pub/releases/yocto-2.3_M1.rc1/machines/ > > qemu/qemux86-lsb/ is there a way to check this directly on the image booted? > > Not really. But you can check the captured kernel source in the SDK and note > the version from the Makefile. > > The system is working as expected by refusing to load the version mismatched > kernel module and running kernel. > > Not knowing how the kernel you are booting is associated to the SDK you are > downloading I can't say exactly why they are different. > > Do you know where both are coming from ? Can we confirm they are from the > same build / build artifacts ? I saw that there are 2 kenles uploade to the AB, I do a test with both and below are the results : http://autobuilder.yoctoproject.org/pub/releases/yocto-2.3_M1.rc1/machines/qemu/qemux86-lsb/ - bzImage--4.1.36+git0+44719fa8f7_fec4924781-r0.2-qemux86-20161216115813.bin: running with this one the test PASS - bzImage-qemux86.bin : running with this one the test FAIL (In reply to comment #6) > (In reply to comment #5) > > (In reply to comment #4) > > > (In reply to comment #3) > > > > (In reply to comment #2) > > > > > Checking on file /proc/config.gz is giving: > > > > > # CONFIG_MODVERSIONS is not set > > > > > > > > > > ---- > > > > > > > > > > The image kernel is giving: > > > > > $uname -r > > > > > kernel 4.8.12-yocto-standard > > > > > > > > > > ---- > > > > > and dmesg is giving the following: > > > > > > > > > > [ 2337.132062] hello: version magic '4.1.36-yocto-standard SMP preempt > > > > > mod_unload PENTIUMM ' should be '4.8.12-yocto-standard SMP preempt > > > > > mod_unload PENTIUMM ' > > > > > > > > aha. so it is a version skew. The running kernel is different from the SDK > > > > one. Is one build using AUTOREV ? i.e. the image one is AUTOREV but the SDK > > > > is fixed ? or vice versa ? > > > > > > I'm not building the images, I'm using the ones uploaded to the public AB > > > http://autobuilder.yoctoproject.org/pub/releases/yocto-2.3_M1.rc1/machines/ > > > qemu/qemux86-lsb/ is there a way to check this directly on the image booted? > > > > Not really. But you can check the captured kernel source in the SDK and note > > the version from the Makefile. > > > > The system is working as expected by refusing to load the version mismatched > > kernel module and running kernel. > > > > Not knowing how the kernel you are booting is associated to the SDK you are > > downloading I can't say exactly why they are different. > > > > Do you know where both are coming from ? Can we confirm they are from the > > same build / build artifacts ? > > I saw that there are 2 kenles uploade to the AB, I do a test with both and > below are the results : > > http://autobuilder.yoctoproject.org/pub/releases/yocto-2.3_M1.rc1/machines/ > qemu/qemux86-lsb/ > > - > bzImage--4.1.36+git0+44719fa8f7_fec4924781-r0.2-qemux86-20161216115813.bin: > running with this one the test PASS > > - bzImage-qemux86.bin : running with this one the test FAIL Seems like there were a mistake on the link for Artifacts download script.. I downloaded correct artifacts and tested again with both Kernels an d the error is not appearing anymore. Will close this as not a bug |