File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ name : Build Bootloader
2+
3+ on :
4+ workflow_dispatch :
5+ workflow_call :
6+ pull_request :
7+ branches : ["main"]
8+ paths :
9+ - bootloader/**
10+ - .github/workflows/bootloader.yml
11+
12+ jobs :
13+ build_bootloader :
14+ strategy :
15+ fail-fast : false
16+ matrix :
17+ include :
18+ - os : ubuntu-latest
19+ arch : x86_64
20+ - os : ubuntu-24.04-arm
21+ arch : aarch64
22+ runs-on : ${{ matrix.os }}
23+ steps :
24+ - uses : actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
25+ - uses : actions/setup-go@7a3fe6cf4cb3a834922a1244abfce67bcef6a0c5 # v6.2.0
26+ with :
27+ go-version : stable
28+ cache-dependency-path : " **/go.sum"
29+ - name : Install LLVM and Clang
30+ uses : KyleMayes/install-llvm-action@98e68e10c96dffcb7bfed8b2144541a66b49aa02 # v2.0.8
31+ with :
32+ version : " 20"
33+ - name : Install dependencies
34+ run : sudo apt-get update && sudo apt-get install -y libelf-dev
35+ - name : Build bootloader
36+ run : ARCH=${{ matrix.arch }} ./bootloader/build.sh
37+ - name : Upload artifact
38+ uses : actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
39+ with :
40+ name : kernel-${{ matrix.arch }}
41+ path : target/bootloader-${{ matrix.arch }}/kernel-${{ matrix.arch }}
Original file line number Diff line number Diff line change @@ -14,7 +14,7 @@ function fetch_source() {
1414 pushd target
1515
1616 echo " Fetching Linux source..."
17- wget ${LINUX_SRC} -O linux.tar.xz
17+ wget -q -O linux.tar.xz ${LINUX_SRC}
1818 tar xf linux.tar.xz
1919 mv linux-* linux
2020
@@ -60,7 +60,9 @@ function build_linux() {
6060 echo " Building Linux kernel..."
6161 make ${vars[@]}
6262
63- echo " Image: ${TARGET_DIR} /${image} "
63+ mv ${TARGET_DIR} /${image} ${TARGET_DIR} /kernel-${ARCH}
64+
65+ echo " Image: ${TARGET_DIR} /kernel-${ARCH} "
6466}
6567
6668
Original file line number Diff line number Diff line change @@ -33,7 +33,7 @@ bootloader/build.sh
3333```
3434
3535The Alioth binary will be located at ` target/release/alioth ` , and the bootloader
36- kernel image at ` target/bootloader-x86_64/linux/arch/x86/boot/bzImage ` .
36+ kernel image at ` target/bootloader-x86_64/kernel-x86_64 ` .
3737
3838## Preparing Disk Images
3939
@@ -82,7 +82,7 @@ Run the following command to start the VM.
8282``` bash
8383./alioth -l info --log-to-file boot \
8484 -m size=4G -p count=4 \
85- -k ./bzImage \
85+ -k ./kernel-x86_64 \
8686 --entropy \
8787 --pvpanic \
8888 --blk file,path=Fedora-Cloud-Base-Generic-43-1.6.x86_64.raw \
You can’t perform that action at this time.
0 commit comments