6 ms·
Sandy Bridge-era motherboard gets M.2 SSD boot support 12 years after launch
- fithisux 1y agoThe issue here is the lack of open documentation of chipset, device providers. The end user is hostage. We talk about AI/smartphones whatever but the devices are not open or smart.
- doublerabbit 1y agonor are the users 95% of the time.
- claudex 1y agoI'm concerned that you want to open users /j
- Calwestjobs 1y ago[flagged]
- Calwestjobs 1y agoWho cares, people still use bootloaders in era of UEFI (uefi can directly call your freaking kernel), so this is like throwing pearls to pigs. But it is awesome that there is community of people who are interesting enough in this stuff to find these things out.
- tyami94 1y agoThe ROMs on these old boards typically don't have the driver needed to speak NVMe. Can't load your kernel if the UEFI doesn't know how to talk to your drive. This patch adds a driver to the ROM that allows it to natively access NVMe drives as block devices, solving the problem. Newer boards don't have this issue since nowadays it's standard practice to embed NvmExpressDxe or a similar driver from the factory.
- Calwestjobs 1y agoyes. similar as with ZFS, iSCSI Target,... or they ship with coreboot which can have final linux kernel payload without shims or kexec.
- jeffbee 1y agoIt is weird how the article freely confuses M.2, a physical expansion card form factor, with NVMe, a logical peripheral device interface. The motherboard obviously did not gain M.2 slots after the fact, even as the article points out that it has always been possible to use adapters to put M.2 devices into any PCI slot, and there have always been NVMe devices in the larger card form factors. What the platform gained from its new software is NVMe support.
- whalesalad 1y agois it not in the title? boot support ? even if you populate a pcie card with nvme drives a lot of platforms won't let you boot from it.
- cstrahan 1y agoThe article received a ton of edits since it was first posted. See this comment: https://news.ycombinator.com/item?id=43915500 https://news.ycombinator.com/item?id=43915500 And see my comment with examples of edits below that.
- sjsdaiuasgdia 1y ago"Notably, Gigabyte has seemingly updated the 13-year-old B75M-D3H motherboard to support booting from NVMe SSDs, like M.2 SSDs, a previously unavailable functionality." "An analysis of the F16f firmware using UEFITool reveals the inclusion of the NVMe DXE trifecta (Nvme, NvmeSmm, NVMEINT13), which is essential for booting from NVMe drives, like M.2." "The motherboard features one SATA III and five SATA II connectors for storage, explaining its initial lack of support for booting from NVMe drives. Nonetheless, users can employ M.2 to PCIe adapters, allowing M.2 drives to connect with the motherboard via its expansion ports." The article says NVMe before it says M.2 for every sentence where M.2 is mentioned. Every time, it's using M.2 as an example of NVMe storage. Given M.2 is the most common format most consumers experience for NVMe storage, this seems sensible. This criticism seems like it's intended for a different article that didn't make the effort to be clear. This one made the effort.
- 1y ago
- accrual 1y agoAlways cool to see old boards learn new tricks. I thought for a second "wait, my Thinkpad X230 from 2012 can boot from M.2" but then I remembered it has mSATA, not M.2.
- deleted 1y ago[deleted]
- muziq 1y agoCould stick a drive on an ExpressCard to NVMe adapter.. I’ve got one in mine, I don’t boot off it, but I believe it can.. Runs a bit warm, but it’s been powered up and running 24/7 for 2 years with no issues..
- accrual 1y agoVery cool! Do you see decent performance with the adapter? Sounds like a nice setup though. I too have an old laptop that's been running 24/7 for years. Kind of the perfect small server - low noise/heat/power and has a built-in console.
- muziq 1y agoIt’s not stunning, ~420MB/s and 36k IOP/s and it’s limited to 2242 sizes.. But it was a nice cheap 2TB upgrade for the old girl :)
- eqvinox 1y agoReminds me of editing NVMe support into my Supermicro X9DR7-LN4F server mainboard (Sandy/Ivy Bridge) I have at home. It involved "unpacking" the 'BIOS' (UEFI) image, adding an NVMe module that was published somewhere (I think it was actually generic, as in plain UEFI and not specific to the BIOS vendor, AMI in this case), repacking it, and then flashing it on the mainboard (with clenched buttcheeks — I'm not sure this board has a recovery mode…) (It works perfectly to this day.) It's a little sad that Supermicro didn't do this at their end, it's maybe an hour of work, two with testing… > inclusion of the NVMe DXE trifecta (Nvme, NvmeSmm, NVMEINT13) Now that I think about it, this sounds very much like what I threw into the X9DR7-LN4F BIOS image. Ed.: apparently these are the files I used, though I cannot dig up how or where I did this :) -rw-r--r-- 1 41917 May 28 2020 P-X9DR7-E-LN4F_BIOS_3_3_release_notes.pdf -rw-r--r-- 1 30493975 May 28 2020 FD12LITE.zip -rw-r--r-- 1 16293994 May 28 2020 Aptio_V_AMI_Firmware_Update_Utility.zip -rw-r--r-- 1 818096 May 28 2020 UEFI_Shell_Spec_2_0.pdf -rw-r--r-- 1 2104626 May 28 2020 AMIBCP 4.53.zip -rw-r--r-- 1 5910147 May 28 2020 UEFITool_v0.27.0.rar -rw-r--r-- 1 10665 May 28 2020 NvmExpressDxe_4.rar -rw-r--r-- 1 404236 May 28 2020 MMTool 4.50.0.23.zip -rw-r--r-- 1 6150536 May 28 2020 Aptio_4_AMI_Firmware_Update_Utility.zip (…10kB compressed for the actual NVMe DXE…) ..A.... 20832 2018-04-18 00:00 NvmExpressDxe_4.ffs
- os2warpman 1y agoI take the even riskier route. Frankenstein motherboards direct from Shenzhen with recycled parts and features that didn't exist at the time that allow me to strip out high core count Xeons and max-capacity ECC DIMMs from servers being tossed at work and shove them in standard mATX/ATX motherboards in tiny quiet cases at home for my homelab. Plus, the recyclers add in NVMe boot support (and M.2 slots) at the factory!
- myself248 1y agoNow that's intriguing. I presume you underclock/undervolt them or something to keep the thermals reasonable without jet-engine-level fans?
- rfv6723 1y agoYou can boot an OS on NVME drive from another bootloader on a USB drive. I have been using CloverBootloader for years. https://github.com/CloverHackyColor/CloverBootloader https://github.com/CloverHackyColor/CloverBootloader
- Calwestjobs 1y agoor KEXEC from linux kernel.
- rwmj 1y agoKexec is fine but I think the NMBL folk (https://fizuxchyk.wordpress.com/2024/06/13/nmbl-we-dont-need-a-bootloader/ https://fizuxchyk.wordpress.com/2024/06/13/nmbl-we-dont-need...) found that some hardware doesn't really like being initialized by the kernel twice (or by two different kernels if you prefer). This hardware or the drivers is written to assume that the kernel only boots once between resets.
- Calwestjobs 1y agoHow Clover deals with that ? Im not sure about initializing twice problem, sounds more like FUD to me. it is possible to leave computer as is for next kernel even with "whole memory allocation intact". maybe problem for "soft restart", but not for using linux as bootloader providing NVME boot capability usecase. you can literally tell linux kernel - make my cpu XYZ look like cpu ABC... and everything works fine. [this was possible even before AI chatbots were a thing (ai joke sorry)]
- oakwhiz 1y agoKexec is amazing when this doesn't happen to you
- AIoverlord 1y agoWould be interesting to know what hardware generations are completly useless today due to other issues like this. Linux packages no longer being available, sourcecode missing, CPU features missing, etc. Windows 11 also kills quite a lot of hardware. I had to upgrade my working laptop because my 4k display broke the GCP console when doing a screenshare (GCP Console became very slow when doing screensharing). I had to upgrade my CPU when upgrading my camera because the RAW Fileformat of my new campare made my old high end CPU so much slower, it was crazy (i guess the new size broke cache line alignment or whatever, it wasn't slow with the older files). My high end CPU from 6 years ago, i just replaced it with a new CPU (for less money than 6 years ago) and the CPU is double the performance. I used a older system of mine on a hacker event for file sharing and other hacker experiments and redid the same thing with a better system. All the issues disappeared i had regarding performance. Doing this now for 20 years, hardware is a lot more commodity than i thought.
- Dwedit 1y agoWay way back, there were hard disk size limitations that were really only software limitations rather than hardware limitations. So there were tools that could install themselves to the boot sector of the drive, and provide support for larger hard disks by replacing the BIOS's disk access functions. There's the 504MB or 2GB limit that was removed by using EZ-Drive, and the 8GB limit that was removed by using EZ-BIOS.
- ahartmetz 1y agoI managed to boot Linux from a multi-GB drive in a Siemens 486, years after the 486 era. There was a BIOS update to IIRC fully support somewhat (several times) larger disks than the original version and at least not choke on even larger ones. It allowed to boot Linux from a low position on the disk, and Linux had no trouble at all using the full size of the disk.
- hedora 1y agoIt's cool they issued a new BIOS. I have an extremely similar (but older, I think -- it is the first gen of boards that support EFI) Gigabyte motherboard, and the community hacked in support for M.2 boot (with a PCIe adapter passthrough board) maybe 5 years ago. I only looked into this because I had to upgrade the video card (NVidia's drivers go obsolete way before the hardware), and the new video card wouldn't post without a new BIOS. Gigabyte had issed one even though the motherboard was ten years old. I thought about going the NVME route, but didn't bother. The video card higher priority. I even ran stable diffusion on a machine like that one, but a few years newer (with a covid-era video card).
- lotharcable 1y agoBoard firmwares are full of copy-paste and code lifted from other devices that is never intended to get used and is supposed to be disabled by default. I wouldn't be surprised if this was 100% by accident.
- oso2k 1y agoThe Dell Optiplex community did this a few years ago and they were even able support older generations of Optiplex. The actual NVMe boot module is pretty generic and I’d suspect it would work with other machines. https://tachytelic.net/2021/12/dell-optiplex-7010-pcie-nvme/ https://tachytelic.net/2021/12/dell-optiplex-7010-pcie-nvme/ https://tachytelic.net/2022/02/dell-optiplex-790-990-nvme/?amp https://tachytelic.net/2022/02/dell-optiplex-790-990-nvme/?a...