-
Notifications
You must be signed in to change notification settings - Fork 60
66 lines (56 loc) · 2.06 KB
/
build.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
name: Build
on:
push:
branches:
- master
pull_request:
jobs:
kvm:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-20.04, ubuntu-22.04]
steps:
- uses: actions/checkout@v3
with:
submodules: true
- name: install build dependencies
run: sudo apt-get install -y dwarves bc fakeroot flex bison libelf-dev libssl-dev ncurses-dev
- name: copy Ubuntu kernel config
run: cp /boot/config-$(uname -r) .config
working-directory: kvm
- name: configure kernel
run: |
# disable kernel signature
./scripts/config --disable SYSTEM_TRUSTED_KEYS
./scripts/config --disable SYSTEM_REVOCATION_KEYS
# compress debug info (otherwise might fail with 'no space left on device' on the runnner)
./scripts/config --enable DEBUG_INFO_COMPRESSED
# enable KVM
./scripts/config --module KVM
./scripts/config --module KVM_INTEL
./scripts/config --module KVM_AMD
./scripts/config --enable KVM_INTROSPECTION
# fix ERROR: "unlock_device_hotplug" [drivers/dax/kmem.ko] undefined!
./scripts/config --disable TRANSPARENT_HUGEPAGE
# tweak locaversion
./scripts/config --set-str CONFIG_LOCALVERSION -kvmi
working-directory: kvm
- name: configure kernel (Ubuntu 22.04)
run: |
# fix: arch/x86/entry/thunk_64.o: warning: objtool: missing symbol table
./scripts/config --enable PREEMPT
# fix: error: call to '__compiletime_assert_653' in drivers/net/ethernet/netronome/nfp/bpf/jit.c
./scripts/config --disable NET_VENDOR_NETRONOME
working-directory: kvm
if: ${{ matrix.os == 'ubuntu-22.04' }}
- name: olddefconfig
run: make olddefconfig
working-directory: kvm
- name: generate debian package
run: make -j$(nproc) bindeb-pkg
working-directory: kvm
- uses: actions/upload-artifact@v3
with:
name: kvm-${{ matrix.os }}
path: '*.deb'