-
Notifications
You must be signed in to change notification settings - Fork 1
56 lines (47 loc) · 1.69 KB
/
ci_build.yml
File metadata and controls
56 lines (47 loc) · 1.69 KB
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
name: build-ecfs-ubuntu-6.17.0-5.5
on:
push:
pull_request:
jobs:
build:
runs-on: ubuntu-22.04
steps:
# 1. 拉你自己的文件系统代码
- name: Checkout filesystem source
uses: actions/checkout@v4
# 2. 安装内核构建所需依赖
- name: Install build dependencies
run: |
sudo apt-get update
sudo apt-get install -y \
build-essential \
bc \
flex \
bison \
libssl-dev \
libelf-dev \
dwarves
# 3. 拉 Ubuntu 官方内核源码(Questing)
- name: Clone Ubuntu kernel source (questing)
run: |
wget -q https://launchpad.net/ubuntu/+archive/primary/+sourcefiles/linux/6.17.0-5.5/linux_6.17.0-5.5.tar.gz
tar xf linux_6.17.0-5.5.tar.gz
mv linux ubuntu-linux
# 4 Copy ECFS headers to kernel source
- name: Copy ECFS uapi header
run: |
cp -r $GITHUB_WORKSPACE/include/uapi/linux/ecfs.h ubuntu-linux/include/uapi/linux/
cp $GITHUB_WORKSPACE/include/linux/ecfs.h ubuntu-linux/include/linux/
mkdir -p ubuntu-linux/include/trace/events
cp $GITHUB_WORKSPACE/trace/events/ecfs.h ubuntu-linux/include/trace/events/
cp $GITHUB_WORKSPACE/symvers/Module.symvers ubuntu-linux/
# 5. 准备内核构建环境(只做模块)
- name: Prepare kernel build tree
run: |
cd ubuntu-linux
make defconfig
make modules_prepare
# 6. 编译你的文件系统模块
- name: Build filesystem module
run: |
make -C ubuntu-linux M=$GITHUB_WORKSPACE modules