Initial commit
This commit is contained in:
commit
e12665deff
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