diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index d64ec10ac4..7d9bf89bee 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -353,7 +353,7 @@ jobs: - name: Install QEMU, NASM run: | sudo apt-get update - sudo apt-get install qemu-system-x86 nasm libcap-ng-dev libseccomp-dev socat + sudo apt-get install qemu-system-x86 nasm - name: Checkout hermit-rs uses: actions/checkout@v4 with: @@ -369,7 +369,7 @@ jobs: - uses: Swatinem/rust-cache@v2 - name: Build dev profile run: cargo build -Zbuild-std=std,panic_abort --package rusty_demo --target x86_64-unknown-hermit - - name: Download loader + - name: Download loader (x86_64) uses: dsaltares/fetch-gh-release-asset@1.1.1 with: repo: hermitcore/rusty-loader @@ -403,3 +403,24 @@ jobs: -enable-kvm -cpu qemu64,apic,fsgsbase,rdtscp,xsave,xsaveopt,fxsr,rdrand \ -kernel rusty-loader-x86_64 \ -initrd target/x86_64-unknown-hermit/release/rusty_demo + - name: Download loader (x86_64-fc) + uses: dsaltares/fetch-gh-release-asset@1.1.1 + with: + repo: hermitcore/rusty-loader + file: rusty-loader-x86_64-fc + - name: Download firecracker + uses: dsaltares/fetch-gh-release-asset@1.1.1 + with: + repo: firecracker-microvm/firecracker + file: firecracker-v1.4.1-x86_64.tgz + target: 'firecracker-x86_64.tgz' + - name: Install firecracker + run: | + tar xzvf firecracker-x86_64.tgz --one-top-level=fc --strip-components 1 + - name: Build minimal profile (debug) + run: cargo build -Zbuild-std=std,panic_abort --target x86_64-unknown-hermit --no-default-features --package hello_world + - name: Test minimal profile + run: | + ./fc/firecracker-v1.4.1-x86_64 --no-api --config-file ./kernel/fc-config.json & + sleep 1 + kill -KILL $(pidof firecracker-v1.4.1-x86_64) \ No newline at end of file diff --git a/fc-config.json b/fc-config.json new file mode 100644 index 0000000000..71f9f708ed --- /dev/null +++ b/fc-config.json @@ -0,0 +1,13 @@ +{ + "boot-source": { + "kernel_image_path": "./rusty-loader-x86_64-fc", + "initrd_path": "target/x86_64-unknown-hermit/debug/hello_world", + "boot_args": "" + }, + "drives": [], + "machine-config": { + "vcpu_count": 1, + "mem_size_mib": 256, + "smt": false + } +}