samsung-laptop
no longer loads when booting in UEFI mode on Samsung hardware.I got a beautiful new Samsung NP900X3C ultrabook this week. It came with Windows 7, which I only used to go download the Arch Linux ISO (ok fine, I also checked my email). As this machine is very new it comes with UEFI (the BIOS replacement). I’m actually not sure what the technical benefits of booting in UEFI mode are, but UEFI is the future so there we go.
After a few hours of fiddling I now have a pure UEFI + GPT boot, with / on a 128GB SSD with btrfs + compress=lzo. Zoom zoom zoom!
Rough edges
All is not well, though. The hardware is amazing, but Linux support is still a bit raw on this hardware. Booting in UEFI mode seems to have some rough edges with kernels I’ve tested (3.6.10 and 3.7.1). In particular, the samsung-laptop
kernel module (used for rfkill, keyboard backlight, etc) apparently touches some memory areas which are off limits and causes a kernel panic.
The solution is to blacklist the samsung-laptop
kernel module. /etc/modprobe.d/samsung-laptop.conf:
# See: https://bugzilla.kernel.org/show_bug.cgi?id=47121
blacklist samsung_laptop
It seems I’m not alone; lots of people are having seemingly-random kernel panics on this hardware when booting Linux in UEFI mode. There’s an upstream bugzilla entry here.
Do you mean the samsung-laptop package from the “Linux On My Samsung” project? Or is there another Kernel module of the same Name? The package from “Linux On My Samsung” didn’t work for me on my Samsung Series 7 chronos. I deinstalled it completely, and yet the Kernel Panic Machine Check Exception errors occured regularly. They disappeared only when I selected “UEFI OS” boot mode in the BIOS, instead to “UEFI and CSM OS” (which was necessary to install Ubuntu). Looks like UEFI sucks..
Hmm, I was talking about the mainline kernel’s
samsung-laptop
module:… so I’m not sure what Linux on my Samsung provides (isn’t it just a userland program?). I guess UEFI will be better eventually, but there are still some bugs (at least on Samsung hardware!).
There are some problems with UEFI management in the core kernel and the samsung_laptop module:
https://bugzilla.kernel.org/show_bug.cgi?id=47121
When booting in “UEFI only”, the module is not loaded, while it is loaded (if not blacklisted) when booting in “UEFI and CMS OS”.
With the module loaded, it often occurs the kernel panic, while blacklistening it solves the problem (and deactivates some useful features).
Problem is, when using UEFI only it could occur the infamous bug
https://bugs.launchpad.net/ubuntu-cdimage/+bug/1040557
also if it is mostly relevant to usb boot
Ouch, a bricked laptop from booting an Ubuntu Live USB? Ahhhh! That sucks. I’m using Arch, but UEFI is a pain in the ass still it seems. Maybe I should go back to BIOS boot…
It can get messy, it seems http://mjg59.dreamwidth.org/22028.html
Yeah, I’m lucky I didn’t brick my shiny new thing… phew!
How did you even get to that point where you could diable it? According to this: http://www.h-online.com/open/news/item/Booting-Linux-using-UEFI-can-brick-Samsung-laptops-1793958.html booting/installing on UEFI can brick a Samsung laptop. How did you make that change to blacklist the samsung-laptop module?
Also, why did you choose to keep UEFI? Can’t you disable it? Would that have fixed the problem?
I booted the Arch Linux ISO in UEFI mode. At the boot prompt I specified
modprobe.blacklist=samsung-laptop
in the kernel cmdline. Turning UEFI off probably would have been the smart thing to do, but I just figured all these issues would be fixed eventually, and I don’t mind being a bit on the bleeding edge. At the time I had no idea that other Samsungs were being bricked or I wouldn’t have even tried!Hi Alan,
I’m considering purchasing this notebook. Would you mind doing a quick writeup on what setup you did on bios side to get Arch on this laptop? The internet is rife with users reporting issues with some Samsung laptops getting bricked upon booting into Linux via USB (which is probably how most of us would install a distro).
Thanks.
I was planning on doing a writeup but never got around to it. Not sure I’ll get time now, though. Booting the Arch Linux ISO in UEFI mode and installing was as standard as it could be, but booting without grub was a bit tricky at first (requires a custom FAT system partition and some non-obvious command line magic with
efibootmgr
[1]).[1] https://wiki.archlinux.org/index.php/UEFI_Bootloaders#Booting_EFISTUB