forge:~$ man forgeos
From download to daily use: make a USB stick, install, and keep the system up to date.
Download · USB stick · Install · Use · CPU schedulers · Upgrading
Download
No installation image has been published yet.
You need a 64-bit UEFI computer with Secure Boot turned off, at least 24 GiB of disk for forgeOS, an internet connection during installation, and a USB stick of 8 GB or more.
Make a USB stick
Writing the image erases everything on the USB stick.
On Windows, with Rufus
- Download Rufus (the portable version is fine) and start it.
- Under Device, pick your USB stick.
- Under Boot selection, click SELECT and choose the forgeOS ISO.
- Click START. When Rufus asks how to write the image, choose Write in DD Image mode.
- Confirm that the stick will be erased, wait until it says READY, then eject the stick.
Optional check before writing, in PowerShell (compare with the SHA-256 above):
Get-FileHash .\forgeos-YYYY.MM.DD-iso-XXXXXXXX-x86_64.iso
On Linux, in a terminal
Check the download (both files in one folder):
sha256sum -c forgeos-YYYY.MM.DD-iso-XXXXXXXX-x86_64.iso.sha256
Find the stick's device name (for example sdb), by its size and model:
lsblk -d -o NAME,SIZE,MODEL,TRAN
Write the image, replacing sdX with that name. Use the whole device, not a partition like sdX1:
sudo dd if=forgeos-YYYY.MM.DD-iso-XXXXXXXX-x86_64.iso of=/dev/sdX bs=4M status=progress oflag=direct conv=fsync
To also check the signature (Linux, or Windows with GnuPG):
curl -O https://forgeos.isengard.no/forgeos.gpg
gpg --import forgeos.gpg
gpg --verify forgeos-YYYY.MM.DD-iso-XXXXXXXX-x86_64.iso.sig forgeos-YYYY.MM.DD-iso-XXXXXXXX-x86_64.iso
It should say Good signature from "forgeOS Package Signing" with the fingerprint 9D73 46A8 72CB 485A 896D 1802 9503 3E86 C2FE C5B8.
Install
- Boot the stick. Turn off Secure Boot in the firmware settings, then pick the USB stick's UEFI entry in the boot menu (often F12, F8 or Esc at power-on). forgeOS starts a live desktop.
- Connect to the internet. Ethernet works right away. For Wi-Fi, click the network icon in the top bar and pick your network.
- Start the installer. Press
Super+Spaceand choose Install forgeOS, or open a terminal withSuper+Returnand runforgeos-install. - Choose your settings. Use the arrow keys and Enter; Esc goes back. Pick the disk, your account and password, language, time zone, keyboard, whether to encrypt the disk, graphics, browsers, Steam and developer tools.
- Confirm. The installer downloads and checks all packages first. Only then does it ask
Erase /dev/... and install forgeOS? [Y/n]. Nothing on the disk changes before you answer. - Restart. Remove the USB stick when the installer finishes, restart, and log in on the forgeOS login screen.
Disks with something on them already
- Erase: the whole disk is replaced. There is no dual-boot option.
- Reinstall forgeOS: if the disk already has forgeOS, the installer offers to reinstall the system and keep
/homewith all your files and settings. - Replace another Linux: on many Btrfs layouts, and with a separate unencrypted
/homepartition, it can replace the old system and keep/home. It tells you what it found and the risks before you confirm. Back up first.
Use
Super is the Windows key. Super+Shift+/ shows the full list of keys at any time.
Desktop
| Super+Return | Terminal (kitty) |
| Super+Space | App launcher |
| Super+Tab | Overview of all windows |
| Super+B / Super+E | Browser / file manager |
| Super+Q | Close window |
| Super+F / Super+V | Fullscreen / floating |
| Super+arrows | Move focus |
| Super+Shift+arrows | Move window |
| Super+1..0 | Workspace 1..10 |
| Super+Shift+1..0 | Move window to workspace |
| Super+L | Lock screen |
| Super+C | Clipboard history |
| Super+Shift+S | Snip and annotate a screenshot |
Terminal (kitty)
| Ctrl+Shift+T | New tab |
| Ctrl+Shift+PgUp/PgDn | Previous / next tab |
| Ctrl+Shift+Return | New pane |
| Ctrl+Shift+arrows | Move between panes |
| Ctrl+Shift+C / V | Copy / paste |
forge commands
| forge system-upgrade | Update the system, tested first |
| forge tweaks | Colors, wallpaper, fonts, sizes |
| forge tweaks preset NAME | Switch theme from the terminal |
| forge calendar setup | Show your Google Calendar in the bar |
| nwg-displays | Arrange monitors |
| forge --help | Everything else |
CPU schedulers
The kernel runs its own EEVDF scheduler by default. The schedulers from the sched-ext project (scx) are installed and can take over while the system runs. To start the gaming-oriented scx_lavd at every boot, create /etc/scx_loader.toml:
default_sched = "scx_lavd"
default_mode = "Gaming"
then enable it:
sudo systemctl enable --now scx_loader.service
scxtui switches schedulers and modes interactively. To go back to the kernel's scheduler:
sudo systemctl disable --now scx_loader.service
Which scheduler is faster depends on the game and the machine. Try it with your own games before keeping it on.
Upgrading with forge system-upgrade
forgeOS is rolling, like Arch: there are no version jumps, just regular updates. Run this in a terminal every week or two:
forge system-upgrade
It asks for your password, then does the whole upgrade on a copy of your system before it changes anything:
- Snapshot. A read-only Btrfs snapshot of the system and a backup of the boot files. This is your way back if an upgrade goes wrong.
- Download. It refreshes every repository in
/etc/pacman.conf: forgeOS's own packages (kernel, desktop, tools) come from the [forgeos] repository on this site, and everything else from Arch's mirrors. Signatures are checked for both. - Trial. The full upgrade runs in a writable copy of the system, in a container. It checks package consistency, builds the boot images, and verifies the enabled services.
- Review. It shows every package that is added, removed or changes version, the results of the checks, and what it could not test.
- Approve. Only when you answer
ytoReal run? [y/N]does it install the exact packages it tested. Anything else leaves your system as it was.
It never restarts the computer on its own: restart when it suits you, especially after a kernel or graphics driver update. If there is nothing to update, it says so and stops.
Old upgrade sessions keep their snapshots. forge system-upgrade --clean removes them after asking, but always keeps the newest snapshot.
Plain sudo pacman -Syu still works, as on any Arch system, but it upgrades the running system directly, without the trial and snapshot.