--- title: ASUS KCMA-D8 desktop/workstation board x-unreviewed: true ... Introduction ============ Specifications available here: Quite a nice board; can have up to 16 Opteron 4200/4300 CPU cores, with up to 64GiB of RAM. It holds its own against more modern machines, especially when compiling large source trees (for compilers, what you want is high RAM and more CPU cores). This is a desktop board using AMD hardware (Fam10h *and Fam15h* CPUs available). It can also be used for building a high-powered workstation. Libreboot also supports it. The coreboot port was done by Timothy Pearson of Raptor Engineering Inc. and, working with them, merged into libreboot many years ago. Note that not all boards are compatible. See [board status](#boardstatus) below to determine compatibility with your board. Flashing instructions can be found at [../install/](../install/) - note that external flashing is required (e.g. RPi), if the proprietary (ASUS) firmware is currently installed. If you already have libreboot/osboot/coreboot, by default it is possible to re-flash using software running in GNU+Linux on the kcma-d8, without using external hardware. If you currently have the ASUS firmware, please ignore the above link and instead refer to the section below: Flashing ======== The default ASUS firmware write-protects the flash, so you have to remove the chip and re-flash it using external hardware. It has a 25XX NOR flash (SPI protocol) in a P-DIP 8 socket, which looks like this: ![](../../img/dip8/dip8.jpg) The default chip is a 2MiB one, but we recommend upgrading it to a 16MiB chip. NOTE: If you're already running Libreboot, you probably don't need to re-flash externally. Refer instead to the generic instructions on this page: [../install/](../install/) Refer to the following guide:\ [Externally rewrite 25xx NOR flash via SPI protocol](../install/spi.html) PCI option ROMs =============== Unlike Libreboot 20160907, Libreboot in newer releases now supports finding and loading PCI option ROMs automatically, both in GRUB and SeaBIOS on this machine. So for example, if you wish to use an add-on graphics card, you can! It's no problem, and should work just fine. CPU coolers =========== With some creativity, standard AM3+ coolers will work fine. 2 x Socket C32 (LGA1207) available, so you can use 2 CPUs. (up to 32GiB per CPU) CPU compatibility ================= - Opteron 4100 series: Incompatible - Opteron 4200 series: Compatible, does not require microcode updates - Opteron 4300 series: Compatible, requires microcode updates (nonfree!) "Requires" means needed for stability. Opteron 4200 series CPUs work very well, even without microcode updates. Because the updates are non-free, Libreboot does not include them. In particular, the 4200 series works well with hardware virtualization even without the microcode updates; 4300 series on the other hand is more dependent upon these microcode updates. Microcode configures the logic gate arrays inside your CPU, to implement the instruction set architecture, which in turn is what enables *instructions* to execute on your CPU. What do you think will happen if you don't have these updates? The answer is: bugs are possible, and the updates fix those bugs. AMD CPUs are generally better engineered than Intel ones, and work much nicer without updates compared to Intel CPUs, but CPU manufacturers design their chips to accept updates for a reason! Board status (compatibility) {#boardstatus} ============================ There are two ways to identify a supported KCMA-D8 board: 1. Serial number (sticker attached to the 24-pin ATX power connector) 2. BIOS version (sticker next to CPU slot 1, last four digits) Supported boards begin with a serial number of **B9S2xxxxxxxx** or above where the first character refers to the year of manufacture (A = 2010, B = 2011, etc.) and the following character the month in hexadecimal (1...9, A, B, C). Thus, any board produced September 2011 *or later* are compatible with Libreboot. Boards originally shipped with BIOS version **2001** or higher are also compatible. For help locating these identifying markers, see [ASUS documentation for determining Opteron 4200 series compatibility](https://web.archive.org/web/20200710022605/https://dlcdnets.asus.com/pub/ASUS/mb/SocketC%281027%29/KCMA-D8/Manual&QVL/How_to_identify_MB_supporting_Opteron_4200_CPU.pdf) For more detailed information regarding the coreboot port, see Form factor {#formfactor} =========== This board is ATX form factor. While the [ATX standard, version 2.2](https://web.archive.org/web/20120725150314/http://www.formfactors.org/developer/specs/atx2_2.pdf) specifies board dimensions 305mm x 244mm, this board measures 305mm x 253mm; please ensure that your case supports this extra ~cm in width. IPMI iKVM module add-on {#ipmi} ======================= Don't use it. It uses proprietary firmware and adds a backdoor (remote out-of-band management chip, similar to the [Intel Management Engine](../../faq.html#intelme). Fortunately, the firmware is unsigned (possible to replace) and physically separate from the mainboard since it's on the add-on module, which you don't have to install. Flash chips {#flashchips} =========== 2MiB flash chips are included by default, on these boards. It's on a P-DIP 8 slot (SPI chip). The flash chip can be upgraded to higher sizes: 4MiB, 8MiB or 16MiB. With at least 8MiB, you could feasibly fit a compressed linux+initramfs image (BusyBox+Linux system) into CBFS and boot that, loading it into memory (and nowadays there is LinuxBoot, for which we would recommend a 16MiB boot flash) *DO NOT hot-swap the chip with your bare hands. Use a P-DIP 8 chip extractor. These can be found online. See * Ideally, you should not hot-swap. Only remove the IC when the system is powered down and disconnected from mains. Native graphics initialization {#graphics} ============================== Only text-mode is known to work, but linux(kernel) can initialize the framebuffer display (if it has KMS - kernel mode setting). NOTE: This section relates to the onboard ASpeed GPU. You *can* use an add-on PCI-E GPU in one of the available slots on the mainboard. Nvidia GTX 780 cards are what Libreboot recommends; it has excellent support in Nouveau (free Linux kernel / mesa driver for Nvidia cards) and generally works well; however, the performance won't be as high in Nouveau, compared to the non-free Nvidia driver because the Nouveau driver can't increase the GPU clock (it doesn't know how, as of 18 March 2021). Current issues {#issues} ============== - Opteron 4100 series CPUs are currently incompatible - LRDIMM memory modules are currently incompatible (use UDIMMs please) - Memory initialization is still problematic for some modules. We recommend avoiding Kingston and Super Talent modules for this reason. The coreboot wiki has some information about RAM compatibility. The wiki is deprecated but the info on it is still correct for this board. Some other considerations: - Booting from USB mass storage devices is currently broken under GRUB. Consequently, the textmode ROM with SeaBIOS is recommended otherwise in order to install an operating system you will need a hard disk with a pre-installed OS or will have to plug in another HDD or CD/DVD reader in order to boot OS installation media. - SeaBIOS lacked serial console support out-of-the-box in release 20160907 and as such a workaround using SGABIOS is necessary. You can find instructions on how to do this on the [Notabug issue tracker](http://web.archive.org/web/20210416011941/https://notabug.org/libreboot/libreboot/issues/736) TODO: test whether this is still the case in Libreboot, which uses a newer version of coreboot nowadays) - SAS (via PIKE 2008 module) requires non-free option ROM (and SeaBIOS) to boot from it (theoretically possible to replace, but you can put a kernel in CBFS or on SATA and use that to boot GNU, which can be on a SAS drive. The linux kernel can use those SAS drives (via PIKE module) without an option ROM). NOTE: SeaBIOS can load PCI-E option ROMs, and by default it will do so in Libreboot, so you could use it. However, you could *also* simply install 16MiB NOR flash with linuxboot payload in it, and use linuxboot which has the Linux kernel, which can use SAS drives without needing that option ROM; then it can kexec another linux kernel, which in turn also can can use those drives. Or just put a standard linux kernel and initramfs in cbfs and chainload that from GRUB, with the right parameters. - IPMI iKVM module (optional add-on card) uses proprietary firmware. Since it's for remote out-of-band management, it's theoretically a backdoor similar to the Intel Management Engine. Fortunately, unlike the ME, this firmware is unsigned which means that a free replacement is theoretically possible. For now, the Libreboot project recommends not installing the module. [This project](https://github.com/facebook/openbmc) might be interesting to derive from, for those who want to work on a free replacement. In practise, out-of-band management isn't very useful anyway (or at the very least, it's not a major inconvenience to not have it). - Graphics: only text-mode works. See [\#graphics](#graphics) Hardware specifications {#specifications} ----------------------- Check the ASUS website.