Skip to content

Latest commit

 

History

History
104 lines (77 loc) · 2.94 KB

File metadata and controls

104 lines (77 loc) · 2.94 KB

esk builder

builds esk kernel packages for xaga and generic.

pulls sources and tools, applies optional patches, then builds and packages the kernel.

structure

  • build.sh: main entry point
  • config.sh: defaults, repos, paths, and target settings
  • build/: setup, patching, and compile kernel
  • ci/: packaging, metadata, modules, and telegram helpers
  • py/: uv-managed python helpers
  • modules/: modules.load for xaga modules packaging
  • kernel_patches/: kernel patches
  • .github/workflows/: ci and release workflows

requirements

ubuntu/debian:

sudo apt install bc bison ccache curl flex git tar wget aria2 jq zip zstd upx build-essential libfaketime lz4 just shellcheck shfmt uv

fedora:

sudo dnf install bc bison ccache curl flex git tar wget aria2 jq zip zstd upx make libfaketime lz4 just ShellCheck shfmt uv

run

just build

example:

just xaga KSU=true SUSFS=true LXC=false

format script:

just fmt

run checks:

just check

python type check:

just py-check

clean build:

just clean

inputs

env var description type
BUILD_TARGET build target, either xaga or generic str
KSU enable kernelsu bool
SUSFS enable susfs bool
LXC apply the lxc patch, xaga only bool
STOCK_CONFIG stock config mode str
BRANCH_OVERRIDE use a different kernel branch str
JOBS set make job count int
RESET_SOURCES re-clone sources and tools before building bool
TG_NOTIFY send telegram updates bool
GH_TOKEN optional, helps when fetching clang str
TG_BOT_TOKEN telegram bot token, needed when TG_NOTIFY=true str
TG_CHAT_ID telegram chat id, needed when TG_NOTIFY=true str

notes:

  • bool accepts true/false, t/f, yes/no, y/n, on/off, 1/0
  • STOCK_CONFIG accepts auto, true, or false
  • auto means off for xaga and on for generic
  • SUSFS needs KSU=true
  • LXC only works with BUILD_TARGET=xaga
  • TG_NOTIFY=true needs TG_BOT_TOKEN and TG_CHAT_ID

output

file description
work/ kernel out
out/<package>-AnyKernel3.zip flashable package
out/<package>-boot-raw.img generic raw boot image
out/<package>-boot-gz.img generic gzip boot image
out/<package>-boot-lz4.img generic lz4 boot image
github.json release metadata
build.log build log