diff --git a/site/docs/build/index.md b/site/docs/build/index.md
index d1c163cd284e493d0d9d6365cdc549eaba48ff34..7b7a9e5e80932fad65a34cbd991f11ac6599a41f 100644
--- a/site/docs/build/index.md
+++ b/site/docs/build/index.md
@@ -116,29 +116,29 @@ However, you will have to write your own script for installing build
 dependencies. 
 
 libreboot Make (lbmk) automatically runs all necessary commands; for
-example, `./build fw coreboot` will automatically run `./build fw grub`
+example, `./build roms` will automatically run `./build grub`
 if the required GRUB payload (under `elf/grub/`) does not exist.
 
 As a result, you can now (after installing the correct build dependencies) run
 just a single command, from a fresh Git clone, to build all ROM images:
 
-	./build fw coreboot all
+	./build roms all
 
 or even just build specific ROM images, e.g.:
 
-	./build fw coreboot x60
+	./build roms x60
 
 or get a list of supported build targets:
 
-	./build fw coreboot list
+	./build roms list
 
 If you wish to build payloads, you can also do that. For example:
 
-	./build fw grub
+	./build grub
 
-	./update project trees -b seabios
+	./update trees -b seabios
 
-	./update project trees -b u-boot
+	./update trees -b u-boot
 
 Previous steps will be performed automatically. However, you can *still* run
 individual parts of the build system manually, if you choose. This may be
@@ -174,7 +174,7 @@ for context:
 <https://libreboot.org/docs/install/ivy_has_common.html>
 
 The scripts under directory `script/update/vendor/` are the ones that do this.
-Specifically, `script/update/vendor/download`. The benefit of this is that you
+Specifically, `script/vendor/download`. The benefit of this is that you
 do not need to extract anything from the original vendor image (e.g. Lenovo
 UEFI image).
 
diff --git a/site/docs/build/index.uk.md b/site/docs/build/index.uk.md
index eb8a180d45f5dc8ebea1ad28688c310d0e9275b3..e2a0eeadb4e29aaec09f51ec893a1e0a65f54e2c 100644
--- a/site/docs/build/index.uk.md
+++ b/site/docs/build/index.uk.md
@@ -93,29 +93,29 @@ Check: `config/dependencies/` for list of supported distros.
 побудови. 
 
 libreboot Make (lbmk) автоматично виконує всі необхідні команди; наприклад,
-`./build fw coreboot` автоматично виконає `./build fw grub`,
+`./build roms` автоматично виконає `./build grub`,
 якщо затребувані утиліти для GRUB не збудовано, для виготовлення корисних навантажень.
 
 В якості результату, ви тепер можете (після встановлення правильних залежностей побудови) виконати
 лише одну команду, з свіжого Git clone, для побудови образів ROM:
 
-	./build fw coreboot all
+	./build roms all
 
 або навіть побудувати конкретні образи ROM, такі як:
 
-	./build fw coreboot x60
+	./build roms x60
 
 or get a list of supported build targets:
 
-	./build fw coreboot list
+	./build roms list
 
 Якщо ви бажаєте побудувати корисні навантаження, можете зробити це. Наприклад:
 
-	./build fw grub
+	./build grub
 
-	./update project trees -b seabios
+	./update trees -b seabios
 
-	./update project trees -b u-boot
+	./update trees -b u-boot
 
 Попередні кроки буде виконано автоматично. Однак, ви можете *досі* виконати
 окремі частини системи побудови власноруч, якщо виберете. Це може бути
diff --git a/site/docs/hardware/ga-g41m-es2l.md b/site/docs/hardware/ga-g41m-es2l.md
index c79065104af5ccdc00025065b9bc8586846ff64d..77f5ec252107bd70562265e946d2f110b3de346b 100644
--- a/site/docs/hardware/ga-g41m-es2l.md
+++ b/site/docs/hardware/ga-g41m-es2l.md
@@ -79,7 +79,7 @@ image is named `libreboot.rom` for your board. You can find cbfstool
 under `cbutils/` after running the following command
 in the build system:
 
-	./update project trees -b coreboot utils
+	./update trees -b coreboot utils
 
 You can learn more about using the build system, lbmk, here:\
 [libreboot build instructions](../build/)
diff --git a/site/docs/hardware/hp2170p.md b/site/docs/hardware/hp2170p.md
index 3704c11c41fb35dc0ef3fd72a65b5ff449331766..db9e6a1cb44a5b20b8b13e960e892c1ede1d9a73 100644
--- a/site/docs/hardware/hp2170p.md
+++ b/site/docs/hardware/hp2170p.md
@@ -72,7 +72,7 @@ Build ROM image from source
 
 The build target, when building from source, is thus:
 
-	./build fw coreboot hp2170p_16mb
+	./build roms hp2170p_16mb
 
 Installation
 ============
diff --git a/site/docs/hardware/hp2560p.md b/site/docs/hardware/hp2560p.md
index be7f1ba960beac960800d4d7123e448b378cef23..5e8f3f664199f491977ff0114f54ed4e9a9b34b2 100644
--- a/site/docs/hardware/hp2560p.md
+++ b/site/docs/hardware/hp2560p.md
@@ -60,7 +60,7 @@ about this:
 Refer to the coreboot guide for flashing instructions, and you can build the
 images for it in Libreboot like so:
 
-	./build fw coreboot hp2560p_8mb
+	./build roms hp2560p_8mb
 
 More information about building ROM images can be found in
 the [build guide](../build/).
diff --git a/site/docs/hardware/hp2570p.md b/site/docs/hardware/hp2570p.md
index 2610bf74dc4716463db5b3bd2660137ed76b0c0f..9e698b139936329c91f2048af9a029beb0f0e8ff 100644
--- a/site/docs/hardware/hp2570p.md
+++ b/site/docs/hardware/hp2570p.md
@@ -99,7 +99,7 @@ a SOIC-16 chip instead of SOIC-8. Follow these instructions:
 Refer to that coreboot guide for flashing instructions, and you can
 build the images for it in Libreboot like so:
 
-	./build fw coreboot hp2570p_16mb
+	./build roms hp2570p_16mb
 
 More information about building ROM images can be found in
 the [build guide](../build/).
diff --git a/site/docs/hardware/hp8200sff.md b/site/docs/hardware/hp8200sff.md
index ad1eda9c8868484229b3ae5ee2f3904f3451cbd0..760547e1eae24d9d5bc7fc944fbdc6fb792c3a8d 100644
--- a/site/docs/hardware/hp8200sff.md
+++ b/site/docs/hardware/hp8200sff.md
@@ -88,7 +88,7 @@ to recover from an unbootable BIOS:
 
 You can build the images for it in Libreboot like so:
 
-	./build fw coreboot hp8200sff_8mb
+	./build roms hp8200sff_8mb
 
 More information about building ROM images can be found in
 the [build guide](../build/).
@@ -151,7 +151,7 @@ Pin-Strap is set". If it doesn't, start again from the beginning.
 
 Now build the **4** MiB Libreboot image.
 
-	./build fw coreboot hp8200sff_4mb
+	./build roms hp8200sff_4mb
 
 More information about building ROM images can be found in
 the [build guide](../build/).
@@ -256,7 +256,7 @@ the *ROM* by using the `-C` option in nvramtool. You can find this under the
 directory `src/coreboot/default/util/nvramtool` when downloading coreboot inside
 of lbmk by running the command:
 
-	./update project trees -f coreboot default
+	./update trees -f coreboot default
 
 Go in there and type `make` to build nvramtool. Simply run nvramtool without
 arguments, and it will show a list of options.
diff --git a/site/docs/hardware/hp8470p.md b/site/docs/hardware/hp8470p.md
index 6abbad75bcbc5b4b39ef12e306a1e563ecb0179f..f6e1f5d262adc0bb2ff6bafe94f1b81b8083da9b 100644
--- a/site/docs/hardware/hp8470p.md
+++ b/site/docs/hardware/hp8470p.md
@@ -72,7 +72,7 @@ Build ROM image from source
 
 The build target, when building from source, is thus:
 
-	./build fw coreboot hp8470pintel_16mb
+	./build roms hp8470pintel_16mb
 
 Installation
 ============
diff --git a/site/docs/hardware/hp9470m.md b/site/docs/hardware/hp9470m.md
index 68b310fce2ee97d589f85b02c8da3d584d62acac..aa8af896623347959660ec6d1f8f52ce10e45f88 100644
--- a/site/docs/hardware/hp9470m.md
+++ b/site/docs/hardware/hp9470m.md
@@ -47,7 +47,7 @@ Installation of Libreboot
 
 You must first compile the Libreboot ROM
 
-    ./build fw coreboot hp9470m_16mb
+    ./build roms hp9470m_16mb
 
 More information about building ROM images can be found in
 the [build guide](../build).
diff --git a/site/docs/hardware/t1650.md b/site/docs/hardware/t1650.md
index 958c47ac5e438dbc2b173cdf7aa3a6db6001b917..7cec1f4ea0806b7c5f8690fba8ea936952d17c3f 100644
--- a/site/docs/hardware/t1650.md
+++ b/site/docs/hardware/t1650.md
@@ -70,7 +70,7 @@ Build ROM image from source
 
 The build target, when building from source, is thus:
 
-	./build fw coreboot t1650_12mb
+	./build roms t1650_12mb
 
 Installation
 ============
diff --git a/site/docs/install/ivy_has_common.md b/site/docs/install/ivy_has_common.md
index 27546210cba34adcaea017a3f233fc1231267f5c..0b9907b50026ac72f020ed488c0e40a039587e72 100644
--- a/site/docs/install/ivy_has_common.md
+++ b/site/docs/install/ivy_has_common.md
@@ -80,7 +80,7 @@ Injecting vendor files into ROM
 You must determine the correct board name, for your board, based on the list
 generated when running this command:
 
-	./build fw coreboot list
+	./build roms list
 
 For example, `t440pmrc_12mb` corresponds to ThinkPad T440p with MRC firmware.
 Whereas `t440plibremrc_12mb` corresponds to T440p with libre MRC firmware.
@@ -91,7 +91,7 @@ In order to inject the necessary files into a rom image, run the script from the
 If you only wish to flash a release rom then the process of injecting the necessary files is quite simple.
 Run the injection script pointing to the release archive you downloaded:
 
-	./update vendor inject /path/to/libreboot-20230319-18-g9f76c92_t440pmrc_12mb.tar.xz
+	./vendor inject /path/to/libreboot-20230319-18-g9f76c92_t440pmrc_12mb.tar.xz
 
 The script can automatically detect the board as long as you do not change the file name.
 You can then find flash-ready ROMs in `/bin/release/`
@@ -100,12 +100,12 @@ Alternatively, you may patch only a single rom file, but you must supply the
 correct board target name as alluded to above.
 For example:
 
-	./update vendor inject -r x230_libreboot.rom -b x230_12mb
+	./vendor inject -r x230_libreboot.rom -b x230_12mb
 
 Optionally, you can use this script to modify the mac address of the rom with the `-m` flag.
 For example:
 
-	./update vendor inject -r x230_libreboot.rom -b x230_12mb -m 00:f6:f0:40:71:fd
+	./vendor inject -r x230_libreboot.rom -b x230_12mb -m 00:f6:f0:40:71:fd
 
 Check that the files were inserted
 ==================================
@@ -114,7 +114,7 @@ You *must* ensure that the files were inserted.
 
 Some examples of how to do that in lbmk:
 
-	./update project trees -b coreboot utils
+	./update trees -b coreboot utils
 
 Now you find `cbutitls/default`, which is a directory containing `cbfstool`
 and `ifdtool`. Do this on your ROM image (`libreboot.rom` in the example
@@ -148,7 +148,7 @@ Errata
 ROM image configuration. These ROM configs have `mrc.bin`: `t440pmrc_12mb`
 and `w541mrc_12mb`. These ROM configs have libre MRC: `t440p_12mb`
 and `w541_12mb` - it is critical that you choose the right one, when using
-the `-b` flag in the `./update vendor inject` command. For example, if you
+the `-b` flag in the `./vendor inject` command. For example, if you
 used `-b t440p_12mb` on a ROM image that actually corresponds
 to `t440pmrc_12mb`, then the required `mrc.bin` file would not be added
 and that ROM would not boot when flashed.**
diff --git a/site/docs/install/ivy_has_common.uk.md b/site/docs/install/ivy_has_common.uk.md
index 3d7850c12caaee83fc67618ece0e4fb14e73db60..a30d9a4f2c4658dff95b691024bfb037a184e17a 100644
--- a/site/docs/install/ivy_has_common.uk.md
+++ b/site/docs/install/ivy_has_common.uk.md
@@ -84,7 +84,7 @@ Inject vendor files into ROM
 You must determine the correct board name, for your board, based on the list
 generated when running this command:
 
-	./build fw coreboot list
+	./build roms list
 
 For example, `t440pmrc_12mb` corresponds to ThinkPad T440p with MRC firmware.
 Whereas `t440plibremrc_12mb` corresponds to T440p with libre MRC firmware.
@@ -95,7 +95,7 @@ In order to inject the necessary files into a rom image, run the script from the
 If you only wish to flash a release rom then the process of injecting the necessary files is quite simple.
 Run the injection script pointing to the release archive you downloaded:
 
-	./update vendor inject /path/to/libreboot-20230319-18-g9f76c92_t440pmrc_12mb.tar.xz
+	./vendor inject /path/to/libreboot-20230319-18-g9f76c92_t440pmrc_12mb.tar.xz
 
 The script can automatically detect the board as long as you do not change the file name.
 You can then find flash-ready ROMs in `/bin/release/`
@@ -104,12 +104,12 @@ Alternatively, you may patch only a single rom file, but you must supply the
 correct board target name as alluded to above.
 For example:
 
-	./update vendor inject -r x230_libreboot.rom -b x230_12mb
+	./vendor inject -r x230_libreboot.rom -b x230_12mb
 
 Optionally, you can use this script to modify the mac address of the rom with the `-m` flag.
 For example:
 
-	./update vendor inject -r x230_libreboot.rom -b x230_12mb -m 00:f6:f0:40:71:fd
+	./vendor inject -r x230_libreboot.rom -b x230_12mb -m 00:f6:f0:40:71:fd
 
 Check that the files were inserted
 ==================================
@@ -118,7 +118,7 @@ You *must* ensure that the files were inserted.
 
 Some examples of how to do that in lbmk:
 
-	./update project trees -b coreboot utils
+	./update trees -b coreboot utils
 
 Now you find `cbutitls/default`, which is a directory containing `cbfstool`
 and `ifdtool`. Do this on your ROM image (`libreboot.rom` in the example
@@ -152,7 +152,7 @@ Errata
 ROM image configuration. These ROM configs have `mrc.bin`: `t440pmrc_12mb`
 and `w541mrc_12mb`. These ROM configs have libre MRC: `t440p_12mb`
 and `w541_12mb` - it is critical that you choose the right one, when using
-the `-b` flag in the `./update vendor inject` command. For example, if you
+the `-b` flag in the `./vendor inject` command. For example, if you
 used `-b t440p_12mb` on a ROM image that actually corresponds
 to `t440pmrc_12mb`, then the required `mrc.bin` file would not be added
 and that ROM would not boot when flashed.**
diff --git a/site/docs/install/spi.md b/site/docs/install/spi.md
index beb863c3515bd3f0ff34067e403625ea408b1288..4c40fa93e4dc6ef5a3990ae7763be0132ebba168 100644
--- a/site/docs/install/spi.md
+++ b/site/docs/install/spi.md
@@ -72,11 +72,11 @@ could build it yourself or you could also clone `lbmk.git` and [install build
 dependencies](..//build/#first-install-build-dependencies), then inside lbmk,
 do:
 
-	./build fw serprog rp2040 pico
+	./build serprog rp2040 pico
 
 or for the W version:
 
-	./build fw serprog rp2040 pico_w
+	./build serprog rp2040 pico_w
 
 This will automatically build the rpi-pico firmware, and the file will be
 at `bin/serprog_rp2040/serprog_pico.uf2`. This binary will be provided
@@ -461,7 +461,7 @@ install flashrom. Do this after downloading the
 NOTE: debian, arch or void can be written instead of ubuntu2004. the debian
 script is also applicable to newer ubuntu versions
 
-	./update project trees -b flashrom
+	./update trees -b flashrom
 
 If the `ubuntu2004` script complains about missing dependencies, just modify
 the dependencies config to remove those dependencies. The script is located
diff --git a/site/docs/install/spi.zh-cn.md b/site/docs/install/spi.zh-cn.md
index 4658e93f320b5c3ff70b0af57dfb1eb6e01d860d..7cf377a9cfe28a92f67798cf527f93bf1ff22c83 100644
--- a/site/docs/install/spi.zh-cn.md
+++ b/site/docs/install/spi.zh-cn.md
@@ -55,11 +55,11 @@ could build it yourself or you could also clone `lbmk.git` and [install build
 dependencies](..//build/#first-install-build-dependencies), then inside lbmk,
 do:
 
-	./build fw serprog rp2040 pico
+	./build serprog rp2040 pico
 
 or for the W version:
 
-	./build fw serprog rp2040 pico_w
+	./build serprog rp2040 pico_w
 
 This will automatically build the rpi-pico firmware, and the file will be
 at `bin/serprog_rp2040/serprog_pico.uf2`. This binary will be provided
@@ -323,7 +323,7 @@ Flashrom 是用来读出、擦除、重写 NOR flash 内容的软件。
 
 注意:你可以输入 debian、arch 或 void 来替换 ubuntu。debian 脚本也可以用于新版 ubuntu。
 
-	./update project trees -b flashrom
+	./update trees -b flashrom
 
 如果 `ubuntu2004` 报告了依赖缺失,编辑一下这个脚本,把缺失的依赖移除就行了。脚本位于 `config/dependencies/ubuntu2004`,它是写给 Ubuntu 20.04 的,但在其他使用 `apt-get` 包管理器的 Linux 发行版应该也能用。
 
diff --git a/site/docs/install/t420_external.md b/site/docs/install/t420_external.md
index 704141f9afdcd7ad14350bbf526de58c26a89d83..b7b953605d28c8942499393acc023164353c973b 100644
--- a/site/docs/install/t420_external.md
+++ b/site/docs/install/t420_external.md
@@ -25,19 +25,19 @@ In order to inject the necessary files into a rom image, run the script from the
 If you only wish to flash a release rom then the process of injecting the necessary files is quite simple.
 Run the injection script pointing to the release archive you downloaded:
 	
-	./update vendor inject /path/to/libreboot-20230423_t420_8mb.tar.xz
+	./vendor inject /path/to/libreboot-20230423_t420_8mb.tar.xz
 
 The script can automatically detect the board as long as you do not change the file name.
 You can then find flash-ready ROMs in `/bin/release/`
 
 Alternatively, you may patch only a single rom file.
 
-	./update vendor inject -r t420_libreboot.rom -b t420_8mb
+	./vendor inject -r t420_libreboot.rom -b t420_8mb
 
 Optionally, you can use this script to modify the mac address of the rom with the `-m` flag.
 For example:
 
-	./update vendor inject -r t420_libreboot.rom -b t420_8mb -m 00:f6:f0:40:71:fd
+	./vendor inject -r t420_libreboot.rom -b t420_8mb -m 00:f6:f0:40:71:fd
 
 Disassembly
 -----------
diff --git a/site/docs/install/t440p_external.md b/site/docs/install/t440p_external.md
index 52981f07e31083c0a64624f12fe67857da324368..6870f023aa2a2f38ec635b0f8f8c5337939816d6 100644
--- a/site/docs/install/t440p_external.md
+++ b/site/docs/install/t440p_external.md
@@ -28,7 +28,7 @@ In order to inject the necessary files into a rom image, run the script from the
 If you only wish to flash a release rom then the process of injecting the necessary files is quite simple.
 Run the injection script pointing to the release archive you downloaded:
 
-	./update vendor inject /path/to/libreboot-20230319-18-g9f76c92_t440_12mb.tar.xz
+	./vendor inject /path/to/libreboot-20230319-18-g9f76c92_t440_12mb.tar.xz
 
 The script can automatically detect the board as long as you do not change the file name.
 You can then find flash-ready ROMs in `/bin/release/`
@@ -36,21 +36,21 @@ You can then find flash-ready ROMs in `/bin/release/`
 Alternatively, you may patch only a single rom file.
 For example (libre replacement of `mrc.bin`):
 
-	./update vendor inject -r t440p_libreboot.rom -b t440p_12mb
+	./vendor inject -r t440p_libreboot.rom -b t440p_12mb
 
 Optionally, you can use this script to modify the mac address of the rom with the `-m` flag.
 For example:
 
-	./update vendor inject -r t440p_libreboot.rom -b t440p_12mb -m 00:f6:f0:40:71:fd
+	./vendor inject -r t440p_libreboot.rom -b t440p_12mb -m 00:f6:f0:40:71:fd
 
 If you're flashing a ROM that needs vendor file `mrc.bin`, you would do one of these
 instead, for example:
 
-	./update vendor inject -r t440p_libreboot.rom -b t440pmrc_12mb
+	./vendor inject -r t440p_libreboot.rom -b t440pmrc_12mb
 
 or (inserting a different MAC address)
 
-	./update vendor inject -r t440p_libreboot.rom -b t440pmrc_12mb -m 00:f6:f0:40:71:fd
+	./vendor inject -r t440p_libreboot.rom -b t440pmrc_12mb -m 00:f6:f0:40:71:fd
 
 NOTE: this makes use of `nvmutil`, which you can read more about in
 the [nvmutil documentation](nvmutil.md).
diff --git a/site/docs/install/x230_external.md b/site/docs/install/x230_external.md
index 7465963529a6ab84a63bdab7083f165b110004c1..1e7e60d9b455248b9f908d6b2a1f5968407117ca 100644
--- a/site/docs/install/x230_external.md
+++ b/site/docs/install/x230_external.md
@@ -30,7 +30,7 @@ The script can determine the board automatically if you have not changed the nam
 In order to inject the necessary files into a rom image, run the script from the root of lbmk and point to the rom image.
 Run the injection script pointing to the release archive you downloaded:
 
-	./update vendor inject /path/to/libreboot-20230319-18-g9f76c92_t440_12mb.tar.xz
+	./vendor inject /path/to/libreboot-20230319-18-g9f76c92_t440_12mb.tar.xz
 
 The script can automatically detect the board as long as you do not change the file name.
 You can then find flash-ready ROMs in `/bin/release/`
@@ -38,12 +38,12 @@ You can then find flash-ready ROMs in `/bin/release/`
 Alternatively, you may patch only a single rom file.
 For example:
 
-	./update vendor inject -r x230_libreboot.rom -b x230_12mb
+	./vendor inject -r x230_libreboot.rom -b x230_12mb
 
 Optionally, you can use this script to modify the mac address of the rom with the `-m` flag.
 For example:
 
-	./update vendor inject -r x230_libreboot.rom -b x230_12mb -m 00:f6:f0:40:71:fd
+	./vendor inject -r x230_libreboot.rom -b x230_12mb -m 00:f6:f0:40:71:fd
 
 NOTE: this makes use of `nvmutil`, which you can read more about in
 the [nvmutil documentation](nvmutil.md).
diff --git a/site/docs/linux/grub_cbfs.md b/site/docs/linux/grub_cbfs.md
index f403ea09c73ed0d5c99ad628dca40f8d8e42f643..0d2d6485466f843b8edb002c8b899f74babeecf2 100644
--- a/site/docs/linux/grub_cbfs.md
+++ b/site/docs/linux/grub_cbfs.md
@@ -60,11 +60,11 @@ of the libreboot Git repository.
 
 Then, download coreboot:
 
-	./update project trees -f coreboot
+	./update trees -f coreboot
 
 Finally, compile the `cbutils` payload (and you will then have the utils):
 
-	./build fw grub
+	./build grub
 
 Among other things, this will produce a `cbfstool` executable under any of the
 subdirectories in `src/coreboot/` under `util/cbfstool/cbfstool`.
@@ -79,7 +79,7 @@ You will also want to build `flashrom` which libreboot recommends for reading
 from and/or writing to the boot flash. In the libreboot build system, you can
 build it by running this command:
 
-	./update project trees -b flashrom
+	./update trees -b flashrom
 
 An executable will be available at `src/flashrom/flashrom` after you have done
 this.
diff --git a/site/docs/linux/grub_hardening.md b/site/docs/linux/grub_hardening.md
index 28ed31e803ebf78e3f1a430576120146252bfdca..2711d793200baf63f0d525f7f7ddaf6d5e74cac5 100644
--- a/site/docs/linux/grub_hardening.md
+++ b/site/docs/linux/grub_hardening.md
@@ -83,11 +83,11 @@ image:
 
 You can build `cbfstool` in the libreboot build system. Run this command:
 
-	./update project trees -b coreboot utils
+	./update trees -b coreboot utils
 
 This assumes that you already downloaded coreboot:
 
-	./update project trees -f coreboot
+	./update trees -f coreboot
 
 This, in turn, assumes that you have installed the build dependencies for
 libreboot. On Ubuntu 20.04 and other apt-get distros, you can do this:
@@ -159,9 +159,9 @@ GRUB using the libreboot build system. Run the following commands (assuming
 you have the correct build dependencies installed) to build GRUB, from the
 libreboot Git repository:
 
-	./update project trees -f grub
+	./update trees -f grub
 
-	./build fw grub
+	./build grub
 
 The following executable will then be available under the `src/grub/` directory:
 
diff --git a/site/docs/maintain/index.md b/site/docs/maintain/index.md
index 7a7624b99a69e10a140ee9de4b1c2ec938cfb676..ff2bfa09622cc0da3aa9fa04ed7a70ef4015a18e 100644
--- a/site/docs/maintain/index.md
+++ b/site/docs/maintain/index.md
@@ -98,9 +98,9 @@ bin/
 This directory is created when running any of the following commands, with the
 right arguments:
 
-	./build fw coreboot ARGUMENTS_HERE
-	./build fw serprog stm32
-	./build fw serprog rp2040
+	./build roms ARGUMENTS_HERE
+	./build serprog stm32
+	./build serprog rp2040
 
 Simply speaking, `bin/` shall contain finished ROM images or firmware, that
 can then be installed (flashed) to the target device.
@@ -153,7 +153,7 @@ visit: <https://doc.coreboot.org/northbridge/intel/haswell/mrc.bin.html> - the
 handling of this, in Libreboot, is based largely on the information there.
 
 This contains the Intel MRC firmware, auto-downloaded during build
-by `script/update/vendor/download`.
+by `script/vendor/download`.
 
 In some cases, libre MRC firmware is also available, and provided
 by Libreboot as an alternative choice.
@@ -168,7 +168,7 @@ currently only initialises Intel GPUs natively, on Libreboot systems.
 release/
 ---------------
 
-The script at `script/update/project/release` create tarballs in here, which
+The script at `script/update/release` create tarballs in here, which
 constitute regular Libreboot releases. It is meticulously maintained, as per
 current lbmk behaviour, and executed so as to provide Libreboot release
 archives.
@@ -265,7 +265,7 @@ payload). More information available at these pages:
 * Libreboot [freedom status page](../../freedom-status.md)
 
 The *vendor file* scripts are what handle this, specifically the download script
-located at `script/update/vendor/download`.
+located at `script/vendor/download`.
 
 src/memtest86plus/
 ---------------
@@ -307,7 +307,7 @@ src/uefitool/
 Please also visit: <https://github.com/LongSoft/UEFITool>
 
 This is compiled, so as to provide `UEFIExtract`. Currently used by the
-vendor download script at `script/update/vendor/download`, to download SCH5545 EC
+vendor download script at `script/vendor/download`, to download SCH5545 EC
 firmware (used for fan control on Dell Precision T1650).
 
 src/pico-serprog
@@ -486,7 +486,7 @@ When a given coreboot tree is compiled, for a given target, this file defines
 which files to copy from the coreboot directory, which are then copied to
 a location under `elf/coreboot`.
 
-The presence of this file affects behaviour in `script/update/project/release`;
+The presence of this file affects behaviour in `script/update/release`;
 specifically, PROJECT is then downloaded to `src/PROJECT/PROJECT`, and files
 under `config/PROJECT/TARGET/target.cfg` define which tree to use, which then
 looks under `config/PROJECT/TREE/target.cfg` to get the git revision; then
@@ -661,7 +661,7 @@ VESA frame buffer (NOT to be confused with the coreboot frame buffer), or just
 normal text mode. Text mode startup is always recommended, and in that setup,
 GRUB (including coreboot GRUB, but also PC GRUB) can use VGA modes.
 
-The name `libgfxinit` is simply what `./build fw coreboot` uses, but it may be
+The name `libgfxinit` is simply what `./build roms` uses, but it may be
 that a board uses the old-school native video init code written in C. On some
 platforms, coreboot implemented a 3rd party library called `libgfxinit`, which
 is written in Ada and handles video initialization. In this setup, coreboot
@@ -893,7 +893,7 @@ These are similar in meaning to their coreboot counterparts.
 The tree` entry is actually a link, where its value is a directory name
 under `config/u-boot`. For example, `tree="default"` would refer to
 `config/u-boot/default` and the corresponding U-Boot source tree created
-(when running `./update project trees u-boot`, which makes use of `target.cfg`)
+(when running `./update trees u-boot`, which makes use of `target.cfg`)
 would be `u-boot/default/`. In other words: a `target.cfg` file
 in `config/u-boot/foo` might refer to `config/u-boot/bar` by
 specifying `tree="bar"`, and the created u-boot source tree would
@@ -957,7 +957,7 @@ You create a config, for `config/u-boot/TREENAME/configs`, by finding the
 corresponding board name in the upstream U-Boot `configs` directory, and
 running `make BOARDNAME_defconfig` and `make menuconfig` commands in the
 *U-Boot* build system. You should do this after
-running `./update project trees u-boot` in lbmk.
+running `./update trees u-boot` in lbmk.
 
 You might want to consider basing your config on the upstream `coreboot` boards
 when possible, but such a board is not available upstream for ARM yet.
@@ -1013,12 +1013,12 @@ This is the main script in lbmk, Libreboot's build system. It is what executes
 all other parts of the Libreboot build system. The rules are as follows:
 
 * Argument zero, representing the name of the symlink, will be used to
-  execute `script/LINKNAME/mode/option` - for example: `./build fw coreboot all`
-  would execute `script/build/fw/coreboot all` in `sh`.
+  execute `script/LINKNAME/mode/option` - for example: `./build roms all`
+  would execute `script/build/roms all` in `sh`.
 * `TMPDIR` is exclicitly set, providing a constant location where temporary
   files and directories can be made. `TMPDIR` is exported by the parent to
-  all children; for example, `./build fw coreboot all` would export it
-  to `script/build/fw/coreboot`, and then anything called by *that* will also
+  all children; for example, `./build roms all` would export it
+  to `script/build/roms`, and then anything called by *that* will also
   inherit it - the main parent process running `lbmk` will then clean up this
   `TMPDIR` directory upon any exit.
 * All exits from lbmk are handled by this script. *All* exits, zero or non-zero,
@@ -1071,7 +1071,7 @@ include/git.sh
 
 These functions in here previously existed as independent scripts, but they
 were unified here, and they are used when you pass the `-f` argument
-to `script/update/project/trees` (e.g. `./update project trees -f coreboot`).
+to `script/update/trees` (e.g. `./update trees -f coreboot`).
 
 These functions deal with git cloning, submodule updates, revision resets and
 the application of patch files via `git am`. *Every* git repository downloaded
@@ -1085,12 +1085,12 @@ now the logic under `include/vendor.sh` is used for downloads. This file now
 only contains those functions used for extraction of MRC files from Google
 Chromebook images, currently only used for Haswell mainboards.
 
-This is an include, used by `script/update/vendor/download`, but it's here in
+This is an include, used by `script/vendor/download`, but it's here in
 this file because the vendor download script is GPLv3-only, while the MRC
 extract logic in this file is GPLv2-only (forked from coreboot ages ago). Thus,
 it is provided as an include to bypass license incompatibility. It has been
 heavily modified to use the same style of logic and general control flow used
-in the script at `script/update/vendor/download`, and it is used from there.
+in the script at `script/vendor/download`, and it is used from there.
 
 include/option.sh
 ---------------
@@ -1106,18 +1106,12 @@ possible, and contains miscallaneous functions that don't belong anywhere else.
 The functions here are mostly those that deal with configuration files; scanning
 them to set variables and so on.
 
-include/vendor.sh
----------------
-
-Common variables and helper functions, used by all scripts
-under `script/update/vendor/`.
-
 script/
 =======
 
 *All* scripts under `script/` are executed only by the main `lbmk` script,
-conforming to the standard `buildpath/mode/option` e.g. `build/fw/coreboot` - so,
-running `./build fw coreboot` would run `script/build/fw/coreboot`.
+conforming to the standard `buildpath/mode/option` e.g. `build/roms` - so,
+running `./build roms` would run `script/build/roms`.
 
 script/build/
 ---------------
@@ -1128,24 +1122,24 @@ are also handled.
 
 The scripts that create release archives are also located under this directory.
 
-### script/build/fw/coreboot
+### script/build/roms
 
 This builds coreboot ROM images.
 
-Command: `./build fw coreboot targetname`
+Command: `./build roms targetname`
 
 The `targetname` argument must be specified, chosen from this output:
 
-	./build fw coreboot list
+	./build roms list
 
 Pass several board names if you wish to build only for specific targets. For
 example:
 
-	./build fw coreboot x60 x200_8mb
+	./build roms x60 x200_8mb
 
 To build *all* targets, specify:
 
-	./build fw coreboot all
+	./build roms all
 
 Since November 2022, this script can build images for x86 *and* ARM targets.
 The *ARM* targets are ChromeOS devices (chromebooks and such); Libreboot uses
@@ -1192,7 +1186,7 @@ for `romtype`:
 * If no declaration is made, or a declaration is made contrary to the above,
   no special modifications will be made.
 
-If no payload is defined in `target.cfg`, the `build/fw/coreboot` script will exit
+If no payload is defined in `target.cfg`, the `build/roms` script will exit
 with error status.
 
 If SeaBIOS is to be used, on `libgfxinit` setups, SeaVGABIOS will also be
@@ -1220,29 +1214,29 @@ When the ROM is finished compiling, it will appear under a directory in `bin/`
 This script is the beating heart of Libreboot. Break it, and you break
 Libreboot!
 
-### script/build/fw/grub
+### script/build/grub
 
 This builds the `grub.elf` file and keymap configuration files, placing these
-under `elf/grub/` for use by `script/build/fw/coreboot`.
+under `elf/grub/` for use by `script/build/roms`.
 
-Command: `./build fw grub`
+Command: `./build grub`
 
 This builds the `grub-mkstandalone` utility under `src/grub/`, which is used
-by `script/build/fw/coreboot` to insert GRUB payloads inside coreboot ROM
+by `script/build/roms` to insert GRUB payloads inside coreboot ROM
 images.
 
-### script/build/fw/serprog
+### script/build/serprog
 
 Build firmware images for serprog-based SPI programmers, where they use an
 STM32 MCU. It also builds for RP2040-based programmers like Raspberry Pi Pico.
 
-Example command: `./build fw serprog stm32`
+Example command: `./build serprog stm32`
 
-Example command: `./build fw serprog rp2040`
+Example command: `./build serprog rp2040`
 
 The `list` argument is available:
 
-	./build fw serprog stm32 list
+	./build serprog stm32 list
 
 Without arguments, all targets would be compiled, but you can specify a short
 list of targets instead, based on the output of `list`.
@@ -1254,18 +1248,18 @@ This handles most actual building of source trees, called into by scripts
 under `script/build/fw` - it also contains logic for downloading source trees
 or vendor files.
 
-### script/update/project/release
+### script/update/release
 
 This script builds the release archives, which are then provided in a new
 Libreboot release. Most users do not need to look at this file at all, but it
 is provided under free license for curious souls.
 
-Command: `./update project release`
+Command: `./update release`
 
 NOTE: if the `-d` option is used, you can specify a directory other
 than `release`. For example:
 
-	./update project release -d /media/stuff/libreboot_release_test
+	./update release -d /media/stuff/libreboot_release_test
 
 If `-d` is not passed, they will go under `release/` in your lbmk repository.
 The script is engineered to re-initialise git if ran from a release archive.
@@ -1284,7 +1278,7 @@ within them, requiring manual insertion by the user post-release. See:
 [Insert vendor files
 on Sandybridge/Ivybridge/Haswell](../install/ivy_has_common.md)
 
-### script/update/project/trees
+### script/update/trees
 
 *This* is the other beating heart of Libreboot. Used heavily by Libreboot, this
 script is what handles defconfig files for SeaBIOS, U-Boot *and* coreboot; it
@@ -1322,17 +1316,17 @@ the directory `src/PROJECT/TREE` will be created, reset to the specific
 revision - for multi-tree projects, all defined targets are scanned for their
 corresponding tree, and the trees are prepared as defined above.
 
-Basic command: `./update project trees FLAG projectname`
+Basic command: `./update trees FLAG projectname`
 
 Special operation: for building coreboot utilities `cbfstool` and `ifdtool` to
 go under `cbutils/`, do this:
 
-	./update project trees -b coreboot utils
+	./update trees -b coreboot utils
 
 Or define specific coreboot tree such as:
 
-	./update project trees -b coreboot utils default
-	./update project trees -b coreboot utils cros
+	./update trees -b coreboot utils default
+	./update trees -b coreboot utils cros
 
 FLAG values are (only *one* to be used at a time):
 
@@ -1359,15 +1353,15 @@ As for *projectname", this can either be `coreboot`, `u-boot` or `seabios`.
 
 Example commands:
 
-	./update project trees -b coreboot
-	./update project trees -b coreboot x200_8mb
-	./update project trees -b coreboot x230_12mb x220_8mb t1650_12mb
-	./update project trees -x coreboot default
-	./update project trees -u seabios
-	./update project trees -m u-boot gru_bob
-	./update project trees -f coreboot
-	./update project trees -b coreboot utils default
-	./update project trees -b coreboot utils
+	./update trees -b coreboot
+	./update trees -b coreboot x200_8mb
+	./update trees -b coreboot x230_12mb x220_8mb t1650_12mb
+	./update trees -x coreboot default
+	./update trees -u seabios
+	./update trees -m u-boot gru_bob
+	./update trees -f coreboot
+	./update trees -b coreboot utils default
+	./update trees -b coreboot utils
 
 NOTE: the `-x` and `-c` options will cause an exit with zero status, when
 the target's corresponding source tree is unavailable; a non-zero status is
@@ -1377,16 +1371,16 @@ if unavailable and *that* too will return with non-zero status under fault
 conditions.
 
 NOTE: "target" can indeed be the tree name, under some circumstances. For
-example, `./update project trees -m seabios default`
+example, `./update trees -m seabios default`
 
 After `projectname`, a target can be specified, but if no target is specified,
 then *all* targets will be operated on. For
-example, `./update project trees -b coreboot` will attempt to build *all*
+example, `./update trees -b coreboot` will attempt to build *all*
 coreboot ROM images.
 
 NOTE: the `coreboot` projectname here shall cause the ROM images to go
 under `elf/` - this is the no-payload ROM images, which are later used
-separately by `script/build/fw/coreboot` to provide full images, with
+separately by `script/build/roms` to provide full images, with
 payloads inserted. It is an intentional design choice of Libreboot, to split
 it up this way and *not* use coreboot's own build system to handle payloads.
 
@@ -1405,7 +1399,7 @@ Now it is unified, efficiently, under a single script.
 
 Remember: code equals bugs, so less code equals fewer bugs.
 
-### script/update/vendor/download
+### script/vendor/download
 
 This downloads vendor code when needed, on a given coreboot target. It does
 this by scanning the defconfig files of that board, to know where the files
@@ -1426,7 +1420,7 @@ This script is executed automatically, when you compile ROM images, if the given
 mainboard requires vendor code to be inserted. In this way, you do not need to
 manually extract such files from your original vendor image.
 
-### script/update/vendor/inject
+### script/vendor/inject
 
 This is not used during the build process, but it can be run by the user on
 release ROMs (which do not contain non-redistributable code handled by these
diff --git a/site/docs/maintain/porting.md b/site/docs/maintain/porting.md
index ca226ab00fddd6ec07814790c97f90d56b274e2f..aabaee7988b3b4bbf613ac7b4ca48af469cf5a5e 100644
--- a/site/docs/maintain/porting.md
+++ b/site/docs/maintain/porting.md
@@ -64,7 +64,7 @@ starting point.
 
 You can then easily modify the existing coreboot configs for you board via lbmk.
 
-	./update project trees -m coreboot t420s_12mb
+	./update trees -m coreboot t420s_12mb
 
 This script will provide a curses interface through which you can easily modify the
 necessary variables and settings.
@@ -79,7 +79,7 @@ a corebootfb and txtmode config for each board (the script will handle this for
 Now you can build and test the rom for `board.`
 Once you have finished this, you can try flashing the resulting rom to your board as a test.
 
-	./build fw coreboot t420s_12mb
+	./build roms t420s_12mb
 
 If you try to flash this rom and it fails, then there are two probable reasons:
 
diff --git a/site/docs/maintain/porting.uk.md b/site/docs/maintain/porting.uk.md
index e29d5587f4f8d4a979a9ff6272aee013c68eaa57..f0c3c519c2e6538fbd872a8aed646de0e7dbc5ef 100644
--- a/site/docs/maintain/porting.uk.md
+++ b/site/docs/maintain/porting.uk.md
@@ -61,7 +61,7 @@ libreboot як `плата.`
 
 Ви можете потім легко модифікувати існуючі конфігурації coreboot для вашої плати через lbmk.
 
-	./update project trees -m coreboot t420s_12mb
+	./update trees -m coreboot t420s_12mb
 
 Цей сценарій надать інтерфейс curses, через який ви можете легко модифікувати
 потрібні змінні та налаштування.
@@ -76,7 +76,7 @@ libreboot як `плата.`
 Тепер ви можете побудувати та випробувати rom для `плати.`
 Як тільки ви завершили це, ви можете спробувати прошивку отриманого rom на вашу плату в якості випробування.
 
-	./build fw coreboot t420s_12mb
+	./build roms t420s_12mb
 
 Якщо ви пробуєте прошити цей rom і це провалюється, тоді існує дві можливих причини:
 
diff --git a/site/docs/maintain/style.md b/site/docs/maintain/style.md
index 10cddcdf834dc5688386711cb054f58cc14bc3ce..cb2bdbdfb68389fe8d785b0a8c4142bf9ac4b0d0 100644
--- a/site/docs/maintain/style.md
+++ b/site/docs/maintain/style.md
@@ -147,7 +147,7 @@ One task, one script
 ====================
 
 Not literally *one task*, but one theme, one *kind* of overall task. For
-example, `script/build/fw/coreboot` builds final ROM images of coreboot,
+example, `script/build/roms` builds final ROM images of coreboot,
 containing payloads; that same script does not also build cross compilers or
 tell you the current weather forecast. This is an analog of the Unix design
 philosophy which says: write one program that does one thing well, and then
diff --git a/site/docs/misc/emulation.md b/site/docs/misc/emulation.md
index cc93fca70fedee1ddb13578332496e52eee3959a..d37ce9a4179a3a3ee5ee50a9370bc29422502150 100644
--- a/site/docs/misc/emulation.md
+++ b/site/docs/misc/emulation.md
@@ -17,7 +17,7 @@ Building and Testing
 
 Libreboot can be built for qemu just like any other board.
 
-	./build fw coreboot qemu_x86_12mb
+	./build roms qemu_x86_12mb
 
 In order to test the resulting roms, you must have qemu installed on the host machine.
 Test the roms by pointing qemu to the rom in bios mode.
@@ -29,7 +29,7 @@ For example:
 
 There is basic support for an arm64 virtual machine as well, although the payloads are not as developed as the x86 one:
 
-	./build fw coreboot qemu_arm64_12mb
+	./build roms qemu_arm64_12mb
 
 ```
 qemu-system-aarch64 -bios bin/qemu_arm64_12mb/uboot_payload_qemu_arm64_12mb_libgfxinit_corebootfb_noblobs.rom \
diff --git a/site/docs/uboot/index.md b/site/docs/uboot/index.md
index 790cdd21530df1f9d1b0fbbd6bf08ec2d9925a1e..934c78c09f970971e58c04c19e23d2bc5d75be3f 100644
--- a/site/docs/uboot/index.md
+++ b/site/docs/uboot/index.md
@@ -21,7 +21,7 @@ and the build dependencies are installed like so, from `lbmk/` as root:
 
 	./build dependencies debian
 
-This installs everything needed for `./build fw coreboot`, and part of the
+This installs everything needed for `./build roms`, and part of the
 build process makes use of coreboot's own cross-compile toolchain.
 
 [QEMU x86/ARM64 virtual machines](../misc/emulation.md) are also
diff --git a/site/news/hp2170p.md b/site/news/hp2170p.md
index cadb968b51720d0b223ed575e1e3cea2593cd17c..4af5c81400f7bb98b3fbae0e956766ca41df3468 100644
--- a/site/news/hp2170p.md
+++ b/site/news/hp2170p.md
@@ -28,7 +28,7 @@ source](../docs/build/) if you wish to use this board. Read those instructions
 first; with build dependencies then installed, you can build the board like
 so:
 
-	./build fw coreboot hp2170p_16mb
+	./build roms hp2170p_16mb
 
 Installation instructions are being written for Libreboot, but you can refer
 to the coreboot instructions for now.
diff --git a/site/news/hp8470p_and_dell_t1650.md b/site/news/hp8470p_and_dell_t1650.md
index 23eb35bff8338e5421c30b1e1efe2b92b6e45a11..bf8c865ec3bea5f998afe88b90709bb36f4e17c3 100644
--- a/site/news/hp8470p_and_dell_t1650.md
+++ b/site/news/hp8470p_and_dell_t1650.md
@@ -38,7 +38,7 @@ source](../docs/build/) if you wish to use this board. Read those instructions
 first; with build dependencies then installed, you can build the board like
 so:
 
-	./build fw coreboot hp8470pintel_16mb
+	./build roms hp8470pintel_16mb
 
 There is currently no documentation on the coreboot website, but installation
 instructions will be written for the Libreboot website.
@@ -76,7 +76,7 @@ Debian Linux).
 Here's how to build ROM images for this board (make sure you have performed
 the [prerequisite steps](../docs/build/) first:
 
-	./build fw coreboot t1650_12mb
+	./build roms t1650_12mb
 
 If you want GRUB-only setup, you could configure SeaBIOS bootorder to only
 load the GRUB payload, and disable the SeaBIOS menu. This can be done by