improve kernel build steps
Some checks failed
Build Custom Kernel / build-kernel (push) Has been cancelled

This commit is contained in:
2024-12-19 18:58:50 +01:00
parent 6f97c30371
commit 1c0957ab36
3 changed files with 20 additions and 21 deletions

View File

@@ -23,23 +23,23 @@ jobs:
ca-certificates
curl -L https://nixos.org/nix/install | sh -s -- --daemon
# - name: Build custom kernel
# run: |
# export NIX_BUILD_CORES=0
# nix-build '<nixpkgs/nixos>' -A config.system.build.kernel --arg configuration ./custom-kernel.nix
# env:
# PATH: /nix/var/nix/profiles/default/bin:/nix/var/nix/profiles/default/sbin:/bin:/sbin:/usr/bin:/usr/sbin
- name: Create dummy files
- name: Build custom kernel
run: |
mkdir -p ./result
echo "This is a dummy file" > ./result/dummy-file.txt
export NIX_BUILD_CORES=0
nix-build '<nixpkgs/nixos>' -A config.system.build.kernel --arg configuration ./custom-kernel.nix
env:
PATH: /nix/var/nix/profiles/default/bin:/nix/var/nix/profiles/default/sbin:/bin:/sbin:/usr/bin:/usr/sbin
- name: Zip kernel artifacts
run: zip -r custom-kernel.zip ./result
- name: Prepare kernel artifacts
run: |
mkdir result-writable
cp -rL result/lib/modules/6.6.63/kernel result-writable/kernel
sudo chmod -R u+rwX,g+rwX,o+rX result-writable
tar -czf custom-kernel.tar.gz -C result-writable .
rm -rf result-writable
- name: Upload kernel artifacts
uses: actions/upload-artifact@v3
with:
name: custom-kernel
path: ./custom-kernel.zip
path: ./custom-kernel.tar.gz

1
.gitignore vendored
View File

@@ -1,2 +1,3 @@
/result
/result-writable
custom-kernel.tar.gz

View File

@@ -9,13 +9,11 @@ nix-build '<nixpkgs/nixos>' -A config.system.build.kernel --arg configuration ./
1. Create a tarball of the built kernel:
```bash
tar -czf custom-kernel.tar.gz -C result .
mkdir result-writable
cp -rL result/lib/modules/6.6.63/kernel result-writable/kernel
sudo chmod -R u+rwX,g+rwX,o+rX result-writable
tar -czf custom-kernel.tar.gz -C result-writable .
rm -rf result-writable
```
2. Upload the tarball as an artifact to Gitea:
```bash
curl -X POST -H "Content-Type: application/octet-stream" \
-H "Authorization: token YOUR_GITEA_TOKEN" \
--data-binary @custom-kernel.tar.gz \
"https://gitea.example.com/api/v1/repos/your-username/your-repo/releases/YOUR_RELEASE_ID/assets?name=custom-kernel.tar.gz"
```
2. Create a new release on Gitea and upload the tarball