How to survive a UEFI BOOT-OF-DEATH on Samsung laptops
Matthew Garrett reveals the software surgery needed
Former Red Hatter Matthew Garrett, who cleared Linux's name when the open-source kernel appeared to cause shiny new Samsung laptops to destroy themselves, has offered a survival guide to avoid similar catastrophes.
Nebula programmer Garrett this week warned that Samsung laptops may brick themselves if the computer's UEFI firmware variable storage space is more than 50 per cent full.
The firmware is the first thing that executes when the computer is switched on; its job is to power up the hardware and start the operating system, be it a Linux distro, Windows, Mac OS X, BSD or alternatives. But if the Samsung UEFI firmware's variable storage is less than half empty, apparently the machine will end up refusing to start. The trigger? “Writing a crash dump to the NVRAM [non-volatile random access memory],” Garrett said.
Linux was initially solely blamed for causing the meltdown - simply booting Ubuntu Linux from a USB stick seemed to provoke the flaw - but Garrett was able to demonstrate that even an application running on Microsoft Windows could wreck a machine.
When the Linux kernel triggers an exception (such as a hardware driver poking the wrong bit of memory), it writes diagnostic data to the UEFI firmware's variable storage space. According to Garrett, if this area becomes more than 50 per cent full, the Samsung laptop may refuse to start-up. The UEFI specification states this sort of failure shouldn't happen.
Garrett’s advice is to make sure you’ve got plenty of space in the machine’s protected storage area to avoid being bitten by the boot bug on Linux. He also submitted a patch to the kernel source code to ensure Linux does not use more than 50 per cent of the UEFI firmware's flash memory. Users can either make sure they're using the most up-to-date kernel, boot the machine in plain-old BIOS mode, or try the following:
Next time you get a system crash that doesn't make it to system logs, mount pstore again and (with luck) there'll be a bunch of files there. For tedious reasons these need to be assembled in reverse order (part 12 comes before part 11, and so on) but you should have a crash log. Report that, delete the files again and marvel at the benefits that technology has brought to your life.
Rebooting is needed so the firmware can perform garbage collection, effectively cleaning up unused memory. Some firmware builds require two reboot cycles to work properly, Garrett noted. There have been noises that a software update is coming from Samsung.
Reports first surfaced in January that Sammy laptops were being permanently bricked by accident. The machines affected, we're told, are the 300E5C, NP700Z5C, NP700Z7C and 530U3C models. ®