Fiedka is a firmware editor app with back-ends running in WebAssembly.
Binaries are published on GitHub.
The app is based on Electron.
You need to have a Node.js runtime and npm
installed.
For the back-end, you need Go version 1.21 at least.
Find them in your respective OS distribution and install them through your
package manager, e.g., yay -S go nodejs npm
.
To install the dependencies, run npm install
.
For DXE GUIDs, efiXplorer is used as a submodule. Do an initial checkout:
git submodule update --init --checkout
Due to targeting WebAssembly, we need to pass env vars to the go
command.
Note: The go.mod
file is in src/
. Run Go commands in that directory.
To upgrade Fiano, one of Fiedka's core dependencies:
GOOS=js GOARCH=wasm go get github.com/linuxboot/fiano@v1.2.0
If you want to add a new dependency, run:
GOOS=js GOARCH=wasm go get github.com/foo-org/foobar-go@v1.2.3
Note: Running go get
may leave inconsistencies in go.mod
.
Afterwards, always run:
go mod tidy
npm start
Clone Fiano side by side with Fiedka; i.e., have them like this:
fiano/
fiedka/
Create this symlink: ln -s go.workspace go.work
That will tell Go to use ../fiano
instead of github.com/linuxboot/fiano
.
Note: go.work
is gitignored so that you cannot accidentally commit it.
Add this line to the bottom of src/go.mod
:
replace github.com/linuxboot/fiano => ../../fiano
Be sure never to have this in a PR to Fiedka. Prefer the workspace method.
See retrage's nightly OVMF builds.
Download RELEASEX64_OVMF.fd
and load it using the file picker.