This is a work-in-progress version of Fiedka, based on the utk-web prototype with a back-end running in WebAssembly and written in Go.
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.17 at least.
Find them in your respective OS distribution and install them through your
package manager, e.g., yay -S go nodejs npm
.
On NixOS you can get a shell with all dependencies by running nix-shell
.
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 it to tell the Go compiler to manage modules.
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/[email protected]
If you want to add a new dependency, run:
GOOS=js GOARCH=wasm go get github.com/foo-org/[email protected]
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/
This requires Go 1.18. Create this symlink: ln -s go.workspace go.work
That will tell Go tu use ../fiano
instead of github.com/linuxboot/fiano
.
Note: go.work
is gitignore 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.
Binaries for Linux are published on GitHub.
See retrage's nightly OVMF builds.
Download RELEASEX64_OVMF.fd
and load it using the file picker.