Last active
October 4, 2019 11:49
-
-
Save psammarco/96376d590dff5a029ddc6dc401185722 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| In order for a Ryzen 3000 SOC temperature to be logged under "sensors", a kernel 5.4.X or newer is required as it contains the instructions needed for these CPUs. | |
| Alternatively the SOC instruction patches can be applied to a earlier kernel, however this guide won't be covering that. | |
| Note: This won't work if your motherboard comes with a NCT chip. | |
| I am assuming you are on Debian Buster and know how to resolve basic apt dependencies. | |
| A. Downloading the kernel sources and setting up the build environment; | |
| # cd /usr/src | |
| # wget https://git.kernel.org/torvalds/t/linux-5.4-rc1.tar.gz | |
| # tar xvf linux-5.4-rc1.tar.gz | |
| # cd linux-5.4-rc1 | |
| B. Copying old kernel config; | |
| # cp /boot/config-$(uname -r) .config | |
| C. I don't know you, but fuck Secure Boot; | |
| # scripts/config --disable SYSTEM_TRUSTED_KEYRING | |
| # scripts/config --set-str SYSTEM_TRUSTED_KEYS '' | |
| D. Now run “make menuconfing” and set all it87 drivers as well as k10temp driver as module, save and exit; | |
| E. Detect available cores; | |
| # jobs=$(nproc --all) | |
| F. Building the kernel; | |
| (Note, using debian linux kernel default config will require over 25GB of available space in /usr/src) | |
| (Also, if the build fails due to missing dependencies, take time to read what is needed. These are often simple deps you can resolve through apt) | |
| # make -j$jobs bindeb-pkg | |
| G. Installing the newly built kernel; | |
| # dpkg -i ../*.deb | |
| # reboot | |
| H. Assuming your system is back up, now you want to load the k10temp driver; | |
| # modprobe k10temp force=1 | |
| I. Take time to read what ID your IT87 chip uses (My MSI B450 CARBON AC uses 0x8628, same as the Asus B450); | |
| https://github.com/a1wong/it87/blob/master/it87.c | |
| # modprobe it87 force_id=0x8628 | |
| L. If all went well, sensors should now detect your CPU's temperature (example below); | |
| psammarco@miner1:~$ sensors |grep k10 -A3 | |
| k10temp-pci-00c3 | |
| Adapter: PCI adapter | |
| Tdie: +28.2°C (high = +70.0°C) | |
| Tctl: +28.2°C | |
| psammarco@miner1:~$ | |
| m. Lastly, we want to make sure the modules and their parameters are loaded at boot; | |
| # echo -e "it87\nk10temp" >> /etc/modules-load.d/modules.conf | |
| # echo "options it87 force_id=0x8628" > /etc/modprobe.d/it87.conf | |
| # echo "options k10temp force=1" > /etc/modprobe.d/k10temp.conf | |
| Next... FAN control and temperature regulation. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment