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

1 Like

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.

Just chiming in to share my experience running Linux on Sarien flashed using @MrChromebox excellent RW_Legacy UEFI payload. My system:

           .-------------------------:                    user@L5400C
          .+=========================.                    -----------
         :++===++==================-       :++-           OS: CachyOS Linux x86_64
        :*++====+++++=============-        .==:           Host: Sarien (rev17)
       -*+++=====+***++==========:                        Kernel: Linux 6.10.9-2-cachyos
      =*++++========------------:                         Uptime: 9 hours, 33 mins
     =*+++++=====-                     ...                Packages: 1013 (pacman)
   .+*+++++=-===:                    .=+++=:              Shell: fish 3.7.1
  :++++=====-==:                     -*****+              Display (LGD068B): 1920x1080 @ 60 Hz in 14″ [Built-in]
 :++========-=.                      .=+**+.              DE: Cinnamon 6.2.9
.+==========-.                          .                 WM: Muffin (X11)
 :+++++++====-                                .--==-.     WM Theme: Mint-Y-Dark-Grey (Adwaita)
  :++==========.                             :+++++++:    Theme: Fusion [Qt], Mint-Y-Dark-Grey [GTK2/3/4]
   .-===========.                            =*****+*+    Icons: Mint-Y-Grey [Qt], Mint-Y-Grey [GTK2/3/4]
    .-===========:                           .+*****+:    Font: Cantarell (11pt) [Qt], Cantarell (11pt) [GTK2/3/4]
      -=======++++:::::::::::::::::::::::::-:  .---:      Cursor: Bibata-Modern-Classic (24px)
       :======++++====+++******************=.             Terminal: GNOME Terminal 3.52.2
        :=====+++==========++++++++++++++*-               Terminal Font: Source Code Pro (11pt)
         .====++==============++++++++++*-                CPU: Intel(R) Core(TM) i5-8265U (8) @ 3.90 GHz
          .===+==================+++++++:                 GPU: Intel UHD Graphics 620 @ 1.10 GHz [Integrated]
           .-=======================+++:                  Memory: 4.58 GiB / 31.22 GiB (15%)
             ..........................                   Swap: 768.00 KiB / 31.22 GiB (0%)
                                                          Disk (/): 16.81 GiB / 120.00 GiB (14%) - btrfs
                                                          Disk (/mnt/datastor): 8.22 GiB / 755.58 GiB (1%) - ext4
                                                          Local IP (wlan0): 10.0.11.15/24
                                                          Battery (DELL 27W580C): 80% [AC Connected]
                                                          Locale: en_PH.UTF-8

Everything works so far, including keyboard backlight:

ls -l /sys/class/leds/
lrwxrwxrwx - root 13 Sep 07:21  input2::capslock -> ../../devices/platform/i8042/serio0/input/input2/input2::capslock
lrwxrwxrwx - root 13 Sep 07:21  input2::numlock -> ../../devices/platform/i8042/serio0/input/input2/input2::numlock
lrwxrwxrwx - root 13 Sep 07:21  input2::scrolllock -> ../../devices/platform/i8042/serio0/input/input2/input2::scrolllock
lrwxrwxrwx - root 13 Sep 16:57  phy0-led -> ../../devices/pci0000:00/0000:00:14.3/leds/phy0-led
lrwxrwxrwx - root 13 Sep 07:21  platform::kbd_backlight -> ../../devices/pci0000:00/0000:00:1f.0/PNP0C09:00/GOOG000C:00/leds/platform::kbd_backlight

I’m using custom shortcuts, mapped to F5 and F6 and Alt+F5 and Alt+F6, to control screen and keyboard backlight brightness respectively under Cinnamon. I’m still waiting for my USB-C to DP cable to test display output.

Also, battery charging control may be set to limit charging at predefined thresholds:

grep . /sys/class/power_supply/wilco-charger/*
/sys/class/power_supply/wilco-charger/charge_control_end_threshold:80
/sys/class/power_supply/wilco-charger/charge_control_start_threshold:75
/sys/class/power_supply/wilco-charger/charge_type:Custom
/sys/class/power_supply/wilco-charger/type:Mains
/sys/class/power_supply/wilco-charger/uevent:DEVTYPE=power_supply
/sys/class/power_supply/wilco-charger/uevent:POWER_SUPPLY_NAME=wilco-charger
/sys/class/power_supply/wilco-charger/uevent:POWER_SUPPLY_TYPE=Mains
/sys/class/power_supply/wilco-charger/uevent:POWER_SUPPLY_CHARGE_TYPE=Custom
/sys/class/power_supply/wilco-charger/uevent:POWER_SUPPLY_CHARGE_CONTROL_START_THRESHOLD=75
/sys/class/power_supply/wilco-charger/uevent:POWER_SUPPLY_CHARGE_CONTROL_END_THRESHOLD=80

I’ve set mine to start charging at 75, and stop at 80. Set /sys/class/power_supply/wilco-charger/charge_type to values defined here:
https://www.kernel.org/doc/Documentation/ABI/testing/sysfs-class-power-wilco

Also, WWAN slot may be used as additional storage! The SSD must be M.2 2242 NGFF B+M key, that’s SATA and not NVMe.

This is quite the Chromebook so far that I have encountered given the upgradable components. Would have been nice to get the one with touchscreen function, but that which can fold like a tablet. :smiley:

EDIT: Cable just arrived, and as expected, USB-C to DP works. I was only able to test 1080p at 100Hz. I don’t have the hardware to test 4K display.

1 Like