SynologyOpenSource / pkgscripts-ng

Synology DSM6.0 package toolkit framework
162 stars 56 forks source link

v1000 toolkit has incorrect .config file #30

Closed zachberger closed 3 years ago

zachberger commented 3 years ago

In the developer toolkit available for v1000, the /toolkit/build_env/ds.v1000-6.2/usr/local/x86_64-pc-linux-gnu/x86_64-pc-linux-gnu/sys-root/usr/lib/modules/DSM-6.2/build/.config file has CONFIG_PREEMPT=y and CONFIG_PREEMPT_NONE is not set, which is incorrect for the platform. On the RS1221+, uname -a does not have preempt in the string indicating that the kernel was not built with the .config file in the toolkit.

Because of this, custom kernel modules built with the toolkit cannot be loaded and show version magic '4.4.59+ SMP preempt mod_unload ' should be '4.4.59+ SMP mod_unload

Can you please fix the toolkit?

gallivanter commented 3 years ago

I can confirm this issue when attempting to build modules for DS1821+.

zachberger commented 3 years ago

I opened a support case on this and here is their latest response:

Our developers indicate there was an incorrect toolchain released for the DSM 6.2.3 official branch. However, the GPL toolkit is ready in DSM 6.2.4. They recommend to update DSM to 6.2.4, and you should be able to deploy a kernel module on the Synology NAS.

That being said pkgscripts-ng still downloads the broken tools, and the GPL source does not contain the 6.2.4 toolkit and source. I've replied to support with the same.

gallivanter commented 3 years ago

Thanks for posting an update. To confirm your findings, I also upgraded to 6.2.4 and retried with no change in result.

zachberger commented 3 years ago

The new toolkit has been posted. I was able to re-download by re-running sudo /toolkit/pkgscripts-ng/EnvDeploy -v 6.2 -p v1000 and I was successfully able to build a module with the correct version magic:

CHROOT@ds.v1000[~/AQtion]# strings atlantic.ko | grep magic
vermagic=4.4.59+ SMP mod_unload