nixos-hardware/framework/README.md

62 lines
2.3 KiB
Markdown
Raw Normal View History

2023-11-11 17:19:50 -05:00
# NOTE: Structure changes from 2023-11-11
Please read the [Deprecated Behaviour README](./OLD-BEHAVIOUR-DEPRECATION.md) to understand how some structural changes to
the code might affect you!
# [Framework Laptops](https://frame.work/)
## Updating Firmware
First put enable `fwupd`
```nix
services.fwupd.enable = true;
```
> [!Note]
> For Intel CPU's, even [stable BIOS versions](https://community.frame.work/t/responded-11th-gen-intel-core-bios-3-17-release/25137#update-april-11-2023-2) are currently marked as [test versions](https://fwupd.org/lvfs/devices/work.frame.Laptop.TGL.BIOS.firmware) in LVFS (the default remote fwupd uses to get firmware).
>
> If you want to use these versions, you'll have to [explicitly enable the lvfs-testing remote](https://community.frame.work/t/responded-11th-gen-intel-core-bios-3-17-release/25137#linuxlvfs-7):
>
> ```nix
> services.fwupd.extraRemotes = [ "lvfs-testing" ];
> # Might be necessary once to make the update succeed
> services.fwupd.uefiCapsuleSettings.DisableCapsuleUpdateOnDisk = true;
> ```
> [!Caution]
> Before running the update, make sure you have a [NixOS live ISO](https://nixos.org/download/#nixos-iso) on a USB stick, because some firmware updates [make your system unbootable](https://community.frame.work/t/drive-not-bootable-after-bios-update/12887).
Then run
```sh
$ fwupdmgr update
```
If you cannot boot into your system after upgrading:
1. Boot into the live USB
2. Mount your system into `/mnt`
3. Run
```
sudo nixos-enter
```
4. Run
```
NIXOS_INSTALL_BOOTLOADER=1 /run/current-system/bin/switch-to-configuration boot
```
2023-11-11 17:19:50 -05:00
## Common Modules
For the Framework 13 laptops, there are common configuration modules available under the `13-inch/common/` directory,
including some modules specific to AMD- or Intel-based laptops. By preference, there will already be a specialised
module for your model's configuration. Otherwise, it can be added alongside the existing modules.
## Support Tools
### fw-ectool
There is a `fw-ectool` package available in nixpkgs-unstable that provides some system configuration options via the EC.
This ectool only works with the Intel-based Framework laptops at present, as the Framework EC for AMD-based mainboards
is based on the Zephyr port of the ChromeOS EC, which involves a slightly changed communication interface.