Recently I came across a problem when installing a VirtualBox machine for CentOS 10 Stream.
I kept getting a kernel panic error when installing the Operating System (OS). Nothing I did fixed it.
Everyone on the Internet made a response that I needed to enable my Virtualization. Guess what? I had it enabled, because other Distros ran fine. So, I knew it was specifically an error with CentOS 10 Stream.
Red Hat has set requirements for processor code (micro-architecture) which only works with newer processors.
Instruction Set
The base 64-bit processors had the general instruction set. When a new base instruction set came out, around 2008, it included SSE3, SSE4.1, and SSE4.2 and was called x86-64v2.
Streaming SIMD Extensions 3 (SSE3) allows for better handling of gaming systems. The SSE4.1 and SSE4.2 allow for instructions to help with things other than gaming.
The process has these functions built into it to help speed up specific instruction types.
To be clear, the SSE3, SSE4.1 and SSE4.2 are all part of x86_64v2.
There is also x86_64v3 and x86_64v4. Currently, there is no version 5.
x86-64-v3
Version 3 of the instruction set includes bit manipulation and AVX2, MOVBE, FMA.
Advanced Vector Extensions (AVX) is an improvement to allow the use of integer commands up to a size of 256 bits.
The Move Data After Swapping Bytes (MOVB) instruction allows for swapping data to (write) or from RAM (read).
Fused-Multiply-Add (FMA) allows for the multiplication and addition of integers in a single operation without requiring multiple steps. This speeds up operations of math functions.
x86-64-v4
Version 4 of the instruction set contains Advanced Vector Extensions for 512 bit (AVX-512) which allows for two 512 bit instructions in a single operation. This doubles the capability from AVX2.
AVX-512 helps improve processing of data sets and especially ray tracing.
What does all this mean for Linux?
What this means for right now is that CentOS 10 Stream requires x86-64-v3. CentOS 9 Stream still works on x86-64-v2.
Speculation is that Fedora will be as well at some point.
You may wonder if this only affects Red Hat distros on Virtual Box. This is not the case. If you try to install the OS on the hardware directly, it will not work either. The micro-architecture passes through to the VirtualBox machine.
Other Linux Distros might follow suit at some point. Most have already dropped support for 32-bit processors.
If other distros follow suit, then some people may need to get upgraded systems.
Determining Your Version
If you are looking to change distros or perform an upgrade, you will need to know what version of micro-architecture you have in your CPU.
So, within Linux, you need to perform the following command in a terminal:
The response should show you which versions of the micro-architecture are available. Of course, if you have a version, then you have all the lower versions as well. You can see the output in Figure 1.
FIGURE 1
You can see that this system has support for Version 2 and Version 3, but no support for Version 4.
As long as you have support for Version 3, you can run CentOS 10 Stream as your main OS, or on VirtualBox since the hardware micro-architecture is still present while being virtualized.
Conclusion
In the future, there may be more Linux distros that require certain micro-architecture instruction sets. You can always run a Live CD to test your instruction set version.
Be aware when buying a new system that you may need to check these requirements for running Red Hat Distros, or at least the newer ones.
I kept getting a kernel panic error when installing the Operating System (OS). Nothing I did fixed it.
Everyone on the Internet made a response that I needed to enable my Virtualization. Guess what? I had it enabled, because other Distros ran fine. So, I knew it was specifically an error with CentOS 10 Stream.
Red Hat has set requirements for processor code (micro-architecture) which only works with newer processors.
Instruction Set
The base 64-bit processors had the general instruction set. When a new base instruction set came out, around 2008, it included SSE3, SSE4.1, and SSE4.2 and was called x86-64v2.
Streaming SIMD Extensions 3 (SSE3) allows for better handling of gaming systems. The SSE4.1 and SSE4.2 allow for instructions to help with things other than gaming.
The process has these functions built into it to help speed up specific instruction types.
To be clear, the SSE3, SSE4.1 and SSE4.2 are all part of x86_64v2.
There is also x86_64v3 and x86_64v4. Currently, there is no version 5.
x86-64-v3
Version 3 of the instruction set includes bit manipulation and AVX2, MOVBE, FMA.
Advanced Vector Extensions (AVX) is an improvement to allow the use of integer commands up to a size of 256 bits.
The Move Data After Swapping Bytes (MOVB) instruction allows for swapping data to (write) or from RAM (read).
Fused-Multiply-Add (FMA) allows for the multiplication and addition of integers in a single operation without requiring multiple steps. This speeds up operations of math functions.
x86-64-v4
Version 4 of the instruction set contains Advanced Vector Extensions for 512 bit (AVX-512) which allows for two 512 bit instructions in a single operation. This doubles the capability from AVX2.
AVX-512 helps improve processing of data sets and especially ray tracing.
What does all this mean for Linux?
What this means for right now is that CentOS 10 Stream requires x86-64-v3. CentOS 9 Stream still works on x86-64-v2.
Speculation is that Fedora will be as well at some point.
You may wonder if this only affects Red Hat distros on Virtual Box. This is not the case. If you try to install the OS on the hardware directly, it will not work either. The micro-architecture passes through to the VirtualBox machine.
Other Linux Distros might follow suit at some point. Most have already dropped support for 32-bit processors.
If other distros follow suit, then some people may need to get upgraded systems.
Determining Your Version
If you are looking to change distros or perform an upgrade, you will need to know what version of micro-architecture you have in your CPU.
So, within Linux, you need to perform the following command in a terminal:
Code:
/usr/lib64/ld-linux-x86-64.so.2 --help
The response should show you which versions of the micro-architecture are available. Of course, if you have a version, then you have all the lower versions as well. You can see the output in Figure 1.
FIGURE 1
You can see that this system has support for Version 2 and Version 3, but no support for Version 4.
As long as you have support for Version 3, you can run CentOS 10 Stream as your main OS, or on VirtualBox since the hardware micro-architecture is still present while being virtualized.
Conclusion
In the future, there may be more Linux distros that require certain micro-architecture instruction sets. You can always run a Live CD to test your instruction set version.
Be aware when buying a new system that you may need to check these requirements for running Red Hat Distros, or at least the newer ones.
Last edited by a moderator: