Last active
December 4, 2025 13:07
-
-
Save omac777/b7d2af50fc82f0764221d9533cab702f to your computer and use it in GitHub Desktop.
my ferrocene usage notes for fedora 43 x86_64
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| toolbox enter fedora-toolbox-43 | |
| time git clone https://github.com/ferrocene/ferrocene.git | |
| cd ferrocene/ | |
| time git submodule update --init --recursive | |
| sudo dnf install clang llvm @development-tools | |
| sudo dnf install cmake | |
| sudo dnf install ninja | |
| sudo dnf install clang llvm cmake ninja-build gcc gcc-c++ make pkg-config python3-devel | |
| ###sudo dnf install glibc-static libgcc-static | |
| sudo dnf install glibc-static | |
| uv python install 3.13 | |
| uv python pin 3.13 | |
| ###uv sync --project /var/home/cissy/ferrocene/ferrocene/doc --locked | |
| time ./configure | |
| time uv run python3 x.py build --stage 2 | |
| export PATH="/var/home/cissy/ferrocene/build/x86_64-unknown-linux-gnu/stage2/bin:$PATH" | |
| export PATH="/var/home/cissy/ferrocene/build/x86_64-unknown-linux-gnu/stage2-tools-bin:$PATH" | |
| time uv run python3 x.py build ferrocene/tools | |
| time uv run python3 x.py test | |
| time uv run python3 x.py run update-certified-core-symbols | |
| time curl --proto '=https' --tlsv1.2 -LsSf https://github.com/ferrocene/criticalup/releases/latest/download/criticalup-installer.sh | sh | |
| ###time uv run python3 x.py build ferrocene/self-test | |
| ###time ./build/x86_64-unknown-linux-gnu/stage2/bin/cargo build --manifest-path ferrocene/self-test/Cargo.toml | |
| ###time uv run ./x.py build ferrocene/tools/self-test | |
| ###time uv run ./x.py run ferrocene/tools/self-test | |
| # Run the self-test suite (this compiles and runs the tests) | |
| uv run ./x.py test ferrocene/tools/self-test | |
| ###uv run ./x.py test src/test/ui/hello.rs | |
| uv run ./x.py test tests/ui | |
| uv run ./x.py test tests/ui --test-args hello-world | |
| uv run ./x.py test compiler | |
| ###uv run ./x.py test ferrocene/tools/self-test | |
| time uv run python3 x.py run --help --verbose | |
| uv run ./x.py run ferrocene/tools/traceability-matrix | |
| # 1. Build your firmware with Ferrocene | |
| /path/to/ferrocene/stage2/bin/cargo build --release | |
| # 2. Generate symbol report (for traceability) | |
| symbol-report --input target/release/my-firmware --output my-firmware.symbols.json | |
| # 3. Create update package | |
| criticalup create \ | |
| --binary target/release/my-firmware \ | |
| --symbols my-firmware.symbols.json \ | |
| --version 1.2.3 \ | |
| --output my-firmware.update |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment