Experience On Dell Latitude 5400 Chrommebook (Sarien)

On a whim I bought this Chromebook at an Ebay auction because it was cheap, despite the lack of information about that. Because of this I am sharing my experience running Debian GNU/Linux 12 on this device.

Installation notes: Full ROM is unsupported due to barriers to development (lack of ccd and difficult to access bios chip). I installed altfw edk2 using the standard script. I unplugged the battery and ran option 3 to make edk2 the default firmware. I found that this didn’t work under Debian and I had to run it under Chrome OS. The Debian installation is mostly standard however it fails at the GRUB install, luckily it is installed enough to continue. But you must copy [ESP]/EFI/Debian/grubx64.efi to [ESP]/EFI/BOOT/BOOTX64.EFI Chrome OS has a (I believe useless) EFI partition and as I was dual booting I deleted the /BOOT directory on it to prevent issues. I also had to fix /etc/apt/sources.list and delete the install media list in /etc/apt/sources.list.d/.

Working:
-suspend/resume
-keyboard
-trackpad
-power management (charging on both dell power jack and usb c, battery, install p-states)
-display
-gpu
-sound
-wifi
-bluetooth
-virtualization
-HDMI
-probably everything else not mentioned

Not Working:
-keyboard backlight
-firmware is not fully UEFI compatible, no nvram, causes errors during install, probably wont boot without manually copying grubx64.efi
-sound breaks on Linux after booting ChromeOS, works after full shutdown (but not reboot)
-Windows 11 boots but is missing too many drivers to be useful.

Untested:
-USB-C DP, no reason to believe it wouldn’t work.

Benefits:
-very cheap secondhand
-upgradable ram, wifi, and nvme storage! (Awsome)
-cpu supports vp9 decoder, can watch 4k video in firefox after setting media.ffmpeg.vaapi.enabled to true in about:config
-cpu draws less than 0.8W idle, battery life is great

Drawbacks:
-no full rom firmware
-proprietary ec (hasn’t caused any problems so far)

Info:
Parition layout (dual boot):

/dev/nvme0n1p1   17096704  151314431 134217728    64G Linux filesystem
/dev/nvme0n1p2      22533      55300     32768    16M ChromeOS kernel
/dev/nvme0n1p3    8706056   17094663   8388608     4G ChromeOS root fs
/dev/nvme0n1p4      55301      88068     32768    16M ChromeOS kernel
/dev/nvme0n1p5     317448    8706055   8388608     4G ChromeOS root fs
/dev/nvme0n1p6      16448      16448         1   512B ChromeOS kernel
/dev/nvme0n1p7      16449      16449         1   512B ChromeOS root fs
/dev/nvme0n1p8      88072     120839     32768    16M Linux filesystem
/dev/nvme0n1p9      16456      18503      2048     1M Linux filesystem
/dev/nvme0n1p10     18504      18504         1   512B ChromeOS reserved
/dev/nvme0n1p11        64      16447     16384     8M unknown
/dev/nvme0n1p12    251912     317447     65536    32M EFI System
/dev/nvme0n1p13 169140224 1000214527 831074304 396.3G Linux filesystem
/dev/nvme0n1p14 151314432  152363007   1048576   512M EFI System
/dev/nvme0n1p15 152363008  169140223  16777216     8G Linux swap

Partition table entries are not in disk order.

/etc/apt/sources.list/

deb http://deb.debian.org/debian/ bookworm main non-free-firmware
deb-src http://deb.debian.org/debian/ bookworm main non-free-firmware

deb http://deb.debian.org/debian/ bookworm-updates main non-free-firmware
deb-src http://deb.debian.org/debian/ bookworm-updates main non-free-firmware

deb http://security.debian.org/debian-security/ bookworm-security main non-free-firmware
deb-src http://security.debian.org/debian-security/ bookworm-security main non-free-firmware

deb http://deb.debian.org/debian/ bookworm-backports main non-free-firmware
deb-src http://deb.debian.org/debian/ bookworm-backports main non-free-firmware

neofetch

       _,met$$$$$gg.          catloaf@paloma 
    ,g$$$$$$$$$$$$$$$P.       -------------- 
  ,g$$P"     """Y$$.".        OS: Debian GNU/Linux 12 (bookworm) x86_64 
 ,$$P'              `$$$.     Host: Sarien rev17 
',$$P       ,ggs.     `$$b:   Kernel: 6.5.0-0.deb12.1-amd64 
`d$$'     ,$P"'   .    $$$    Uptime: 38 mins 
 $$P      d$'     ,    $$P    Packages: 2863 (dpkg) 
 $$:      $$.   -    ,d$$'    Shell: bash 5.2.15 
 $$;      Y$b._   _,d$P'      Resolution: 1920x1080 
 Y$$.    `.`"Y$$$$P"'         DE: Plasma 5.27.5 
 `$$b      "-.__              WM: kwin 
  `Y$$                        Theme: [Plasma], Breeze [GTK2/3] 
   `Y$$.                      Icons: [Plasma], breeze-dark [GTK2/3] 
     `$$b.                    Terminal: konsole 
       `Y$$b.                 CPU: Intel i5-8365U (8) @ 4.100GHz 
          `"Y$b._             GPU: Intel WhiskeyLake-U GT2 [UHD Graphics 620] 
              `"""            Memory: 3324MiB / 7811MiB                                  

EDIT: Virtualization works as expected
EDIT 2: Windows

Funny story, installing Grub also failed for me when I did a Debian install with RWL. I wasn’t dual booting though. I ended up having to chroot from a Arch live ISO lol

Setting GBB flags is not the only way to change the default boot option. You can also set dev_default_boot in crossystem to disk, usb or altfw. The GBB flags method is probably more convenient though as you can change the timeout and therefore get rid of the beep as well.

I think the grub issue is that it tries to create an NVRAM entry but altfw has no NVRAM support.

Would be nice if the altfw/edk2 had an option to create a fake NVRAM on a file.