Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
39 commits
Select commit Hold shift + click to select a range
01dacec
Delete code/api_proxy.h
vesirvit Jan 18, 2026
29afe3e
Delete code directory
vesirvit Jan 18, 2026
2408db6
Add object file definition in Makefile
vesirvit Jan 18, 2026
a458a1f
Create aurora.h
vesirvit Jan 18, 2026
54772d0
Add misc device driver with open, close, and ioctl
vesirvit Jan 18, 2026
acd20c5
Update Makefile
vesirvit Jan 18, 2026
3e57f60
Enhance aurora.h with new includes and device name
vesirvit Jan 18, 2026
3a30e2b
Update aurora.c
vesirvit Jan 18, 2026
742a5ba
Add files via upload
vesirvit Jan 23, 2026
66a7aae
Add files via upload
vesirvit Jan 23, 2026
c1e70a1
Delete README_zh.md
vesirvit Jan 23, 2026
55efe86
Update README.md
vesirvit Jan 23, 2026
49c3589
Delete code/aurora.c
vesirvit Jan 27, 2026
82be5d4
Delete code/aurora.h
vesirvit Jan 27, 2026
f4cf154
Add files via upload
vesirvit Jan 27, 2026
db700af
Delete code/hwBreakpointProc_module.c
vesirvit Jan 28, 2026
1d9e12b
Delete code/hwBreakpointProc_module.h
vesirvit Jan 28, 2026
db48fc8
Add files via upload
vesirvit Jan 28, 2026
51820a0
Delete code/arm64_hw_bp.c
vesirvit Jan 29, 2026
08b4fb1
Delete code/arm64_hw_bp.h
vesirvit Jan 29, 2026
ac9deb0
Add files via upload
vesirvit Jan 29, 2026
6d067a6
Delete code directory
vesirvit Jan 30, 2026
a842e04
Create Makefile
vesirvit Jan 30, 2026
a0f3669
Add files via upload
vesirvit Jan 30, 2026
a5bf323
Update aurora.c
vesirvit Jan 30, 2026
29aa904
Update aurora.c
vesirvit Jan 31, 2026
8718207
Delete code/aurora.c
vesirvit Feb 4, 2026
c48ef48
Delete code/aurora.h
vesirvit Feb 4, 2026
b277f97
Add files via upload
vesirvit Feb 4, 2026
056b9ae
Add files via upload
vesirvit Feb 5, 2026
6da461c
Change signal from SIGTRAP to SIGSTOP for breakpoint
vesirvit Feb 6, 2026
e56d60a
Add files via upload
vesirvit Feb 6, 2026
a23adf8
Add files via upload
vesirvit Feb 15, 2026
6eb56db
Add files via upload
vesirvit Feb 16, 2026
17651c9
Add files via upload
vesirvit Feb 16, 2026
db9a046
Add files via upload
vesirvit Feb 16, 2026
29b462d
Add files via upload
vesirvit Feb 16, 2026
87a5ec1
Add files via upload
vesirvit Feb 16, 2026
196e9f5
Add files via upload
vesirvit Feb 16, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
88 changes: 2 additions & 86 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,86 +1,2 @@
**Read this in other languages: [English](README.md), [中文](README_zh.md).**
# Automated Kernel Driver Builder

This GitHub Action automates the process of building Android kernel drivers in the cloud, eliminating the need for local compilation environments. It solves common issues like accessing Google's source repositories and reduces compilation time to under 30min.

## Key Features

- ✅ **Cloud-based compilation** - No local setup required
- ✅ **Automatic source handling** - Fetches official Android kernel sources
- ✅ **Version-aware building** - Automatically selects correct build system
- ✅ **Parameterized inputs** - Customize builds via workflow inputs
- ✅ **Artifact packaging** - Downloads compiled drivers and kernel images

## Usage Guide

### 1. Repository Setup
1. Create a `code` directory in your repository
2. Place these files in the `code` directory:
- Driver source files (`.c` and `.h`)
- `Makefile` for your driver
- Any additional dependencies

### 2. Running the Workflow
1. Go to your GitHub repository's **Actions** tab
2. Select **Android Kernel Driver Builder**
3. Click **Run workflow**
4. Provide these parameters:
- `android_version`: Your Android version (Kernel) (e.g., `14`)
- `kernel_version`: Kernel version (e.g., `6.1`)
- `driver_name`: Your driver filename (e.g., `mydriver.ko`)
- `target_arch`: Device architecture (default: `aarch64`)

### 3. Retrieving Results
After successful compilation (30minutes):
1. Go to the completed workflow run
2. Download the `kernel-driver-<arch>` artifact
3. Extract to find:
- Compiled driver (`.ko` file)
- Kernel images (`boot.img`)
- Build logs

## Configuration Reference

### Input Parameters

| Parameter | Description | Example |
|-----------|-------------|---------|
| `android_version` | Android OS version | `11`, `12`, `13`, `14` |
| `kernel_version` | Linux kernel version | `5.10`, `5.15`, `6.1` |
| `driver_name` | Output driver filename | `custom_driver.ko` |
| `target_arch` | Device CPU architecture | `aarch64`, `x86_64` |

### Technical Notes

1. **Build System Selection**:
- Android 11 and earlier: Legacy `build.sh` system
- Android 12 and later: Modern Bazel build system

2. **Source Management**:
- Automatically fetches kernel sources from Google's repositories
- Uses parallel downloading for faster sync

3. **Driver Integration**:
- Automatically adds driver to kernel build system
- Registers driver as GKI module
- Handles Makefile modifications

## Troubleshooting

**Q: Build fails with "repo sync" errors**
A: Retry the workflow. Google's servers can occasionally timeout.

**Q: Driver not found in output artifacts**
A: Verify:
- Correct `driver_name` parameter (must match Makefile)
- Source files are in `/code` directory
- Makefile produces expected `.ko` filename

**Q: "Kernel configuration not found" error**
A: Confirm your kernel_version matches existing branches at [Android Kernel Sources](https://android.googlesource.com/kernel/manifest/)

## Support

For issues and feature requests:
- [Open an Issue](https://github.com/systemnb/compile_android_driver/issues)
- Provide workflow logs and input parameters
陈依涵的内核驱动项目,采用systemnb的Action编译。
由于本人还是初学者,所以会不定期学习新内容并更新
85 changes: 0 additions & 85 deletions README_zh.md

This file was deleted.

2 changes: 1 addition & 1 deletion code/Makefile
Original file line number Diff line number Diff line change
@@ -1 +1 @@
obj-m += rwProcMem_module.o
obj-m += arm64_hw_bp.o
54 changes: 0 additions & 54 deletions code/api_proxy.h

This file was deleted.

Loading