Running: cat /sys/devices/virtual/dmi/id/{sys_vendor,chassis_vendor,product_name} produces the output:

To Be Filled By O.E.M.
To Be Filled By O.E.M.
To Be Filled By O.E.M.

How would I change these values? I know it can be done through the registry in Windows, so hopefully there's a similarly simple way in Linux.

Edit: I've tried changing the files with sudoedit, but they're locked for editing (like most of the /sys/ directory, from what I understand). There are a couple ways to accomplish this in Windows, but I haven't found any information online about how to edit these values in Linux.

  • Welcome to the the Unix and Linux stack exchange! Please review the Help Center to get information on how to best post to the site. Take the Tour if you are not familiar with how this site works. Please edit your post to include some additional context. Why do you need these values changed and what have you tried so far to do so? Thank you! – kemotep May 29 at 19:48
  • After some research I have found this article which was very enlightening. So you are looking at a part of sysfs, a read only filesystem that is generated by the kernel at boot. Check out this stack exchange post. Consider why do you need to change these values? Does sudo dmidecode | more reveal accurate information or the same results as in your question? To change these you will need to make changes to specific kernel files and rebuild your kernel or manipulate the DMI table. Is this really necessary? – kemotep May 29 at 20:09
  • My pc is custom built, so the results I posted are actually accurate and dmidecode doesn't return anything new. The DMI table information seems like exactly what I was looking for, thanks so much! My only real motivation for this is to better learn Linux, so it's definitely not necessary but I'll probably give it a try anyway. Thanks again for the help! – user355403 May 29 at 20:20
  • Since you built the computer that would technically make you the O.E.M! Best of Luck! – kemotep May 29 at 20:22

BIOS writers provide tools to update the DMI information, without needing to modify BIOS images, to companies which manufacture devices using those BIOSs. For example, AMI has a AMIDEDOS tool under DOS, or AMIDEWIN or DMIEdit for Windows (there used to be an AMIDELNX for Linux but that is no longer provided). These tools are usually provided under NDA, but some manufacturers provide them in their BIOS update images. This article provides a good description of the possibilities, and a list of tools (relevant when it was written, in 2012).

Basically, what you’re asking for is possible, but using tools you probably don’t officially have access to, unless your system’s manufacturer provides them (e.g. Lenovo, but then you wouldn’t have “To Be Filled By O.E.M.” entries in the first place).


As far as I know, and according to this SE link posted in the comments, the DMI information comes from tables hardcoded into system BIOS (or UEFI firmware). To persistently change them would require unpacking a BIOS update, modifying the DMI tables within it using BIOS-vendor-specific tools, and then packaging it back up into a custom BIOS update and flashing it to your system. Any mistakes in the process would have the risk of bricking your computer.

Systems with Secure Boot often require firmware updates being cryptographically signed, so without the vendor's private keys you would not be able to create an custom firmware update package that would install in the normal way anyway.

Windows may have registry entries that may override the DMI information reported by the BIOS, but that's basically just setting up your OS to tell little white lies to your applications, nothing more.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.