Skip to content
View in the app

A better way to browse. Learn more.

Unraid

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

N5100, N5105系列更新CPU微代码,增强虚拟机稳定性

Featured Replies

以下内容是根据英文版的某位大佬的帖子,结合我自己的实践总结,供有需要的朋友参考。

 

由于N5105系列的CPU本身固有的一些缺陷,导致这个系列的处理器无论是在PVE下还是UNRAID下面的虚拟机稳定性都不好,经常在有大量并发io或其他负载的时候导致虚拟机崩溃。之前搜索到网上有PVE相关的教程,利用Intel的early load update功能在系统内核层面加载微代码补丁来解决这个问题,但是一直没有看到UNRAID有相关的内容。对于N5105系列来说,通过查询得知6.12.2版本的系统自带的是0x24000023版本的补丁,但是为了修正上述问题,需要更新到0x24000024,因此需要通过以下的方法手动更新微代码补丁文件让系统加载。

 

首先使用任意工具连接主机,创建并切换到类似  /mnt/user/main/tmp的目录,然后运行以下命令,解压系统自带的微代码文件。

 

dd if=/boot/bzroot bs=512 count=$(cpio -ivt -H newc < /boot/bzroot 2>&1 > /dev/null | awk '{print $1}') of=/mnt/user/main/tmp/ucode.orig.cpio
dd if=/boot/bzroot bs=512 skip=$(cpio -ivt -H newc < /boot/bzroot 2>&1 > /dev/null | awk '{print $1}') of=/mnt/user/main/tmp/others

 

dd if=/mnt/user/main/tmp/ucode.orig.cpio bs=512 | cpio -i -d -H newc --no-absolute-filenames

 

从网上下载Intel最新的微代码补丁文件,https://slackware.pkgs.org/current/slackers/intel-microcode-20230512-noarch-1cf.txz.html

 

解压缩下载的补丁文件,复制boot目录中的intel-ucode.cpio文件,上传到前述的/mnt/user目录

运行dd if=/mnt/user/intel-ucode.cpio bs=512 | cpio -i -d -H newc --no-absolute-filenames,在解压出的目录中得到GenuineIntel.bin

 

将上述得到的GenuineIntel.bin文件,复制到前面从系统文件中解压缩出的目录中,覆盖/mnt/user/main/tmp/kernel/x86/microcode/下的同名文件

 

 

使用以下命令重新将文件打包

find kernel/ | cpio -o -H newc >ucode.cpio

cat ucode.cpio others > bzroot

sha256sum bzroot >bzroot.sha256

 

备份并替换文件

mv /boot/bzroot /boot/bzroot.bak
mv /boot/bzroot.sha256 /boot/bzroot.sha256.bak
mv bzroot /boot/
mv bzroot.sha256 /boot/

 

reboot -f重启之后,微代码就应该已经更新了。可以使用dmesg | grep microcode命令查看升级前后的微代码作为对比。

 

 

  • Author
On 7/12/2023 at 9:14 PM, strong0018 said:

以下内容是根据英文版的某位大佬的帖子,结合我自己的实践总结,供有需要的朋友参考。

 

由于N5105系列的CPU本身固有的一些缺陷,导致这个系列的处理器无论是在PVE下还是UNRAID下面的虚拟机稳定性都不好,经常在有大量并发io或其他负载的时候导致虚拟机崩溃。之前搜索到网上有PVE相关的教程,利用Intel的early load update功能在系统内核层面加载微代码补丁来解决这个问题,但是一直没有看到UNRAID有相关的内容。对于N5105系列来说,通过查询得知6.12.2版本的系统自带的是0x24000023版本的补丁,但是为了修正上述问题,需要更新到0x24000024,因此需要通过以下的方法手动更新微代码补丁文件让系统加载。

 

首先使用任意工具连接主机,创建并切换到类似  /mnt/user/main/tmp的目录,然后运行以下命令,解压系统自带的微代码文件。

 

dd if=/boot/bzroot bs=512 count=$(cpio -ivt -H newc < /boot/bzroot 2>&1 > /dev/null | awk '{print $1}') of=/mnt/user/main/tmp/ucode.orig.cpio
dd if=/boot/bzroot bs=512 skip=$(cpio -ivt -H newc < /boot/bzroot 2>&1 > /dev/null | awk '{print $1}') of=/mnt/user/main/tmp/others

 

dd if=/mnt/user/main/tmp/ucode.orig.cpio bs=512 | cpio -i -d -H newc --no-absolute-filenames

 

从网上下载Intel最新的微代码补丁文件,https://slackware.pkgs.org/current/slackers/intel-microcode-20230512-noarch-1cf.txz.html

 

解压缩下载的补丁文件,复制boot目录中的intel-ucode.cpio文件,上传到前述的/mnt/user目录

运行dd if=/mnt/user/intel-ucode.cpio bs=512 | cpio -i -d -H newc --no-absolute-filenames,在解压出的目录中得到GenuineIntel.bin

 

将上述得到的GenuineIntel.bin文件,复制到前面从系统文件中解压缩出的目录中,覆盖/mnt/user/main/tmp/kernel/x86/microcode/下的同名文件

 

 

使用以下命令重新将文件打包

find kernel/ | cpio -o -H newc >ucode.cpio

cat ucode.cpio others > bzroot

sha256sum bzroot >bzroot.sha256

 

备份并替换文件

mv /boot/bzroot /boot/bzroot.bak
mv /boot/bzroot.sha256 /boot/bzroot.sha256.bak
mv bzroot /boot/
mv bzroot.sha256 /boot/

 

reboot -f重启之后,微代码就应该已经更新了。可以使用dmesg | grep microcode命令查看升级前后的微代码作为对比。

 

 

为什么内容一直在审核中?

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.