Initial commit
This commit is contained in:
commit
d92ac5441d
1
.github/build-canary-v3
vendored
Normal file
1
.github/build-canary-v3
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
1
|
1
.github/build-nest-v3
vendored
Normal file
1
.github/build-nest-v3
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
1
|
1
.github/release-canary-v3
vendored
Normal file
1
.github/release-canary-v3
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
1
|
1
.github/release-nest-v3
vendored
Normal file
1
.github/release-nest-v3
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
1
|
34
.github/workflows/build-canaryv3.yml
vendored
Normal file
34
.github/workflows/build-canaryv3.yml
vendored
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
name: PikaOS Package Build Only (Canary) (amd64-v3)
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
paths:
|
||||||
|
- '.github/build-canary-v3'
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
container:
|
||||||
|
image: ghcr.io/pikaos-linux/pikaos-builder:canaryv3
|
||||||
|
volumes:
|
||||||
|
- /proc:/proc
|
||||||
|
options: --privileged -it
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
|
||||||
|
- name: Install SSH key
|
||||||
|
uses: shimataro/ssh-key-action@v2
|
||||||
|
with:
|
||||||
|
key: ${{ secrets.SSH_KEY }}
|
||||||
|
name: id_rsa
|
||||||
|
known_hosts: ${{ secrets.KNOWN_HOSTS }}
|
||||||
|
if_key_exists: replace
|
||||||
|
|
||||||
|
- name: Update APT Cache
|
||||||
|
run: apt-get update -y
|
||||||
|
|
||||||
|
- name: Build Package
|
||||||
|
run: ./main.sh
|
34
.github/workflows/build-nestv3.yml
vendored
Normal file
34
.github/workflows/build-nestv3.yml
vendored
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
name: PikaOS Package Build Only (amd64-v3)
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
paths:
|
||||||
|
- '.github/build-nest-v3'
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
container:
|
||||||
|
image: ghcr.io/pikaos-linux/pikaos-builder:nestv3
|
||||||
|
volumes:
|
||||||
|
- /proc:/proc
|
||||||
|
options: --privileged -it
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
|
||||||
|
- name: Install SSH key
|
||||||
|
uses: shimataro/ssh-key-action@v2
|
||||||
|
with:
|
||||||
|
key: ${{ secrets.SSH_KEY }}
|
||||||
|
name: id_rsa
|
||||||
|
known_hosts: ${{ secrets.KNOWN_HOSTS }}
|
||||||
|
if_key_exists: replace
|
||||||
|
|
||||||
|
- name: Update APT Cache
|
||||||
|
run: apt-get update -y
|
||||||
|
|
||||||
|
- name: Build Package
|
||||||
|
run: ./main.sh
|
37
.github/workflows/release-canaryv3.yml
vendored
Normal file
37
.github/workflows/release-canaryv3.yml
vendored
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
name: PikaOS Package Build & Release (Canary) (amd64-v3)
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
paths:
|
||||||
|
- '.github/release-canary-v3'
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
container:
|
||||||
|
image: ghcr.io/pikaos-linux/pikaos-builder:canaryv3
|
||||||
|
volumes:
|
||||||
|
- /proc:/proc
|
||||||
|
options: --privileged -it
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
|
||||||
|
- name: Install SSH key
|
||||||
|
uses: shimataro/ssh-key-action@v2
|
||||||
|
with:
|
||||||
|
key: ${{ secrets.SSH_KEY }}
|
||||||
|
name: id_rsa
|
||||||
|
known_hosts: ${{ secrets.KNOWN_HOSTS }}
|
||||||
|
if_key_exists: replace
|
||||||
|
|
||||||
|
- name: Update APT Cache
|
||||||
|
run: apt-get update -y
|
||||||
|
|
||||||
|
- name: Build Package
|
||||||
|
run: ./main.sh
|
||||||
|
|
||||||
|
- name: Release Package
|
||||||
|
run: ./release.sh
|
37
.github/workflows/release-nestv3.yml
vendored
Normal file
37
.github/workflows/release-nestv3.yml
vendored
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
name: PikaOS Package Build & Release (amd64-v3)
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
paths:
|
||||||
|
- '.github/release-nest-v3'
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
container:
|
||||||
|
image: ghcr.io/pikaos-linux/pikaos-builder:nestv3
|
||||||
|
volumes:
|
||||||
|
- /proc:/proc
|
||||||
|
options: --privileged -it
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
|
||||||
|
- name: Install SSH key
|
||||||
|
uses: shimataro/ssh-key-action@v2
|
||||||
|
with:
|
||||||
|
key: ${{ secrets.SSH_KEY }}
|
||||||
|
name: id_rsa
|
||||||
|
known_hosts: ${{ secrets.KNOWN_HOSTS }}
|
||||||
|
if_key_exists: replace
|
||||||
|
|
||||||
|
- name: Update APT Cache
|
||||||
|
run: apt-get update -y
|
||||||
|
|
||||||
|
- name: Build Package
|
||||||
|
run: ./main.sh
|
||||||
|
|
||||||
|
- name: Release Package
|
||||||
|
run: ./release.sh
|
24
LICENSE.md
Normal file
24
LICENSE.md
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
MIT License (With DPKG packaging compatibility)
|
||||||
|
|
||||||
|
Copyright (c) 2024 PikaOS
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all
|
||||||
|
copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
SOFTWARE.
|
||||||
|
|
||||||
|
Notes:
|
||||||
|
The files covered by this license are any files and directories in the root of this repository (including but not limited to: `main.sh`, `release.sh`, and `.github`), with the exception of the `debian` directory and its contents if `debian/copyright` exists, and declares any files or directories as a different LICENSE/COPYRIGHT.
|
8
README.md
Normal file
8
README.md
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
# pika-kernel-builder
|
||||||
|
Scripts for building and releasing the Pika kernel, based on Cachy OS kernel patches - <3 them
|
||||||
|
|
||||||
|
To add our kernel apt repo do:
|
||||||
|
|
||||||
|
wget -q -O - https://ppa.pika-os.com/key.gpg | sudo apt-key add -
|
||||||
|
|
||||||
|
sudo add-apt-repository https://ppa.pika-os.com
|
10
main.sh
Executable file
10
main.sh
Executable file
@ -0,0 +1,10 @@
|
|||||||
|
#! /bin/bash
|
||||||
|
|
||||||
|
# Move the debs to output
|
||||||
|
mkdir -p ./output
|
||||||
|
|
||||||
|
. ./scripts/source.sh
|
||||||
|
. ../scripts/patch.sh
|
||||||
|
. ../scripts/config.sh
|
||||||
|
. ../scripts/build.sh
|
||||||
|
. ../scripts/output.sh
|
2
release.sh
Executable file
2
release.sh
Executable file
@ -0,0 +1,2 @@
|
|||||||
|
# send debs to server
|
||||||
|
rsync -azP --include './' --include '*.deb' --exclude '*' ./output/ ferreo@direct.pika-os.com:/srv/www/cockatiel-incoming/⏎
|
5
scripts/build.sh
Executable file
5
scripts/build.sh
Executable file
@ -0,0 +1,5 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
echo "Pika Kernel - Building"
|
||||||
|
|
||||||
|
make -j`nproc` bindeb-pkg LOCALVERSION=-pikaos KDEB_PKGVERSION=$(make kernelversion)-101pika2
|
51
scripts/config.sh
Executable file
51
scripts/config.sh
Executable file
@ -0,0 +1,51 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
echo "Pika Kernel - Applying configuration"
|
||||||
|
|
||||||
|
cp ../config .config
|
||||||
|
|
||||||
|
scripts/config -k -d CONFIG_GENERIC_CPU
|
||||||
|
scripts/config -k -e CONFIG_GENERIC_CPU3
|
||||||
|
scripts/config -e CACHY
|
||||||
|
scripts/config -e SCHED_BORE
|
||||||
|
|
||||||
|
scripts/config -e HZ_300 --set-val HZ 750
|
||||||
|
scripts/config -d HZ_PERIODIC -d NO_HZ_IDLE -d CONTEXT_TRACKING_FORCE -e NO_HZ_FULL_NODEF -e NO_HZ_FULL -e NO_HZ -e NO_HZ_COMMON -e CONTEXT_TRACKING
|
||||||
|
scripts/config -e PREEMPT_BUILD -d PREEMPT_NONE -d PREEMPT_VOLUNTARY -e PREEMPT -e PREEMPT_COUNT -e PREEMPTION -e PREEMPT_DYNAMIC
|
||||||
|
|
||||||
|
scripts/config -d CC_OPTIMIZE_FOR_PERFORMANCE \
|
||||||
|
-e CC_OPTIMIZE_FOR_PERFORMANCE_O3
|
||||||
|
|
||||||
|
scripts/config -m TCP_CONG_CUBIC \
|
||||||
|
-d DEFAULT_CUBIC \
|
||||||
|
-e TCP_CONG_BBR \
|
||||||
|
-e DEFAULT_BBR \
|
||||||
|
--set-str DEFAULT_TCP_CONG bbr
|
||||||
|
|
||||||
|
scripts/config -m NET_SCH_FQ_CODEL \
|
||||||
|
-e NET_SCH_FQ \
|
||||||
|
-d DEFAULT_FQ_CODEL \
|
||||||
|
-e DEFAULT_FQ \
|
||||||
|
--set-str DEFAULT_NET_SCH fq
|
||||||
|
|
||||||
|
scripts/config -e LRU_GEN -e LRU_GEN_ENABLED -d LRU_GEN_STATS
|
||||||
|
|
||||||
|
scripts/config -d TRANSPARENT_HUGEPAGE_MADVISE -e TRANSPARENT_HUGEPAGE_ALWAYS
|
||||||
|
|
||||||
|
scripts/config -e PER_VMA_LOCK -d PER_VMA_LOCK_STATS
|
||||||
|
|
||||||
|
scripts/config -e DAMON \
|
||||||
|
-e DAMON_VADDR \
|
||||||
|
-e DAMON_DBGFS \
|
||||||
|
-e DAMON_SYSFS \
|
||||||
|
-e DAMON_PADDR \
|
||||||
|
-e DAMON_RECLAIM \
|
||||||
|
-e DAMON_LRU_SORT
|
||||||
|
|
||||||
|
scripts/config --set-val MODULE_COMPRESS_ZSTD_LEVEL 19 -e MODULE_COMPRESS_ZSTD_ULTRA --set-val MODULE_COMPRESS_ZSTD_LEVEL_ULTRA 22 --set-val ZSTD_COMP_VAL 22
|
||||||
|
|
||||||
|
scripts/config -e EFI_HANDOVER_PROTOCOL
|
||||||
|
|
||||||
|
scripts/config -e USER_NS
|
||||||
|
|
||||||
|
make prepare
|
11
scripts/output.sh
Executable file
11
scripts/output.sh
Executable file
@ -0,0 +1,11 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
echo "Pika Kernel - Copying Output"
|
||||||
|
|
||||||
|
cd ..
|
||||||
|
rm ./linux-libc*.deb
|
||||||
|
|
||||||
|
for f in *.deb;
|
||||||
|
do
|
||||||
|
cp $f ./output/$f
|
||||||
|
done
|
8
scripts/patch.sh
Executable file
8
scripts/patch.sh
Executable file
@ -0,0 +1,8 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
echo "Pika Kernel - Applying patches"
|
||||||
|
|
||||||
|
if [ -f ../patches/series ]
|
||||||
|
then
|
||||||
|
for i in $(cat ../patches/series | grep -v '^#') ; do echo "Applying Patch: $i" && patch -Np1 -i ../patches/$i || bash -c "echo "Applying Patch $i Failed!" && exit 2"; done
|
||||||
|
fi
|
8
scripts/source.sh
Executable file
8
scripts/source.sh
Executable file
@ -0,0 +1,8 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
echo "Pika Kernel - Getting source"
|
||||||
|
|
||||||
|
wget -nv https://cdn.kernel.org/pub/linux/kernel/v"$(echo $(cat ./VERSION) | cut -f1 -d".")".x/linux-"$(cat ./VERSION)".tar.gz
|
||||||
|
tar -xf ./linux-"$(cat ./VERSION)".tar.gz
|
||||||
|
|
||||||
|
cd linux-"$(cat ./VERSION)"
|
Loading…
Reference in New Issue
Block a user