尝试arm交叉编译
This commit is contained in:
parent
90dab83865
commit
69d7617e83
31
.github/workflows/build-0-aarch64.yml
vendored
Normal file
31
.github/workflows/build-0-aarch64.yml
vendored
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
name: Build kernel deb packages(0, arm64)
|
||||||
|
on:
|
||||||
|
schedule:
|
||||||
|
- cron: '30 0 * * *'
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
name: Build kernel
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
|
||||||
|
# 由于默认的 Ubuntu 环境只有 17G 左右的剩余空间,所以我们需要先利用如下 action 对编译环境进行扩容
|
||||||
|
- name: Maximize build space
|
||||||
|
uses: easimon/maximize-build-space@master
|
||||||
|
with:
|
||||||
|
# 这个值是保留给系统的空间大小,之前设置太小,总会在安装依赖或者编译过程中报设备空间不足的错误而导致编译失败
|
||||||
|
root-reserve-mb: 4096
|
||||||
|
swap-size-mb: 512
|
||||||
|
remove-dotnet: 'true'
|
||||||
|
remove-android: 'true'
|
||||||
|
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
|
||||||
|
- name: Build
|
||||||
|
env:
|
||||||
|
PASSWORD: ${{ secrets.PASSWORD }}
|
||||||
|
KEYPASSWORD: ${{ secrets.KEYPASSWORD }}
|
||||||
|
KEY: ${{ secrets.KEY }}
|
||||||
|
run: bash build_action-aarch64.sh 0
|
||||||
@ -1,30 +1,35 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
sed -i "/deb-src/s/# //g" /etc/apt/sources.list
|
sed -i "/deb-src/s/# //g" /etc/apt/sources.list
|
||||||
sudo apt update
|
sudo apt update
|
||||||
sudo apt install python3-pyquery -y
|
sudo apt install gpg python3-pyquery -y
|
||||||
python3 get-newest-version.py $1
|
|
||||||
aria2c $KEY
|
aria2c $KEY
|
||||||
gpg --import --pinentry-mode loopback --batch --passphrase "$KEYPASSWORD" private-file.key
|
gpg --import --pinentry-mode loopback --batch --passphrase "$KEYPASSWORD" private-file.key
|
||||||
|
python3 get-newest-version.py $1
|
||||||
#VERSION=$(grep 'Kernel Configuration' < config | awk '{print $3}')
|
#VERSION=$(grep 'Kernel Configuration' < config | awk '{print $3}')
|
||||||
# add deb-src to sources.list
|
# add deb-src to sources.list
|
||||||
VERSION=`cat /tmp/kernelversion.txt`
|
VERSION=`cat /tmp/kernelversion.txt`
|
||||||
URL=`cat /tmp/kernelurl.txt`
|
URL=`cat /tmp/kernelurl.txt`
|
||||||
MAINVERSION=`expr substr $VERSION 1 1`
|
MAINVERSION=`expr substr $VERSION 1 1`
|
||||||
SHOWVERSION=$VERSION-arm64
|
SHOWVERSION=$VERSION
|
||||||
curl https://github.com/gfdgd-xi/gxde-linux-kernel/raw/main/l/linux-headers-$VERSION-arm64-gfdgdxi-desktop/lock | grep 404
|
# 使用 deepin hwe config编译
|
||||||
result=$?
|
if [[ $2 == 1 ]]; then
|
||||||
|
SHOWVERSION=$VERSION-hwe
|
||||||
|
fi
|
||||||
|
if [[ $2 == 1 ]]; then
|
||||||
|
curl https://github.com/gfdgd-xi/gxde-linux-kernel/raw/main/l/linux-kernel-gxde-gfdgdxi-$1-hwe/linux-kernel-gxde-gfdgdxi-$1-hwe_${VERSION}_arm64.deb | grep 404
|
||||||
|
result=$?
|
||||||
|
else
|
||||||
|
curl https://github.com/gfdgd-xi/gxde-linux-kernel/raw/main/l/linux-kernel-gxde-gfdgdxi-$1/linux-kernel-gxde-gfdgdxi-${1}_${VERSION}_arm64.deb | grep 404
|
||||||
|
result=$?
|
||||||
|
fi
|
||||||
if [[ $result != 0 ]]; then
|
if [[ $result != 0 ]]; then
|
||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
# install dep
|
# install dep
|
||||||
sudo apt install -y wget xz-utils make gcc flex bison dpkg-dev bc rsync kmod cpio libssl-dev git lsb vim libelf-dev
|
sudo apt install -y wget xz-utils make gcc flex bison dpkg-dev bc rsync kmod cpio libssl-dev git lsb vim libelf-dev
|
||||||
|
sudo apt install -y gcc-aarch64-linux-gnu
|
||||||
sudo apt build-dep -y linux
|
sudo apt build-dep -y linux
|
||||||
wget http://releases.linaro.org/components/toolchain/binaries/7.5-2019.12/aarch64-linux-gnu/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu.tar.xz
|
|
||||||
tar -xvf gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu.tar.xz
|
|
||||||
sudo mkdir /usr/bin/toolchain
|
|
||||||
sudo cp gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu /usr/bin/toolchain/ -rfv
|
|
||||||
export PATH=$PATH:/usr/bin/toolchain/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/bin/
|
|
||||||
echo $PATH
|
|
||||||
# change dir to workplace
|
# change dir to workplace
|
||||||
cd "${GITHUB_WORKSPACE}" || exit
|
cd "${GITHUB_WORKSPACE}" || exit
|
||||||
|
|
||||||
@ -45,7 +50,16 @@ fi
|
|||||||
cd linux-"$VERSION" || exit
|
cd linux-"$VERSION" || exit
|
||||||
|
|
||||||
# copy config file
|
# copy config file
|
||||||
cp ../config-arm64 .config
|
# 使用 deepin hwe config编译
|
||||||
|
if [[ $2 == 1 ]]; then
|
||||||
|
cp ../config-6.1.11-arm64-desktop-hwe .config
|
||||||
|
else
|
||||||
|
cp ../config-arm64 .config
|
||||||
|
fi
|
||||||
|
echo $VERSION | grep 4.14
|
||||||
|
if [[ $? == 0 ]]; then
|
||||||
|
cp ../config-4.19.0-10-arm64 .config
|
||||||
|
fi
|
||||||
#
|
#
|
||||||
# disable DEBUG_INFO to speedup build
|
# disable DEBUG_INFO to speedup build
|
||||||
# scripts/config --disable DEBUG_INFO
|
# scripts/config --disable DEBUG_INFO
|
||||||
@ -56,29 +70,104 @@ scripts/config --undefine DEBUG_INFO_COMPRESSED
|
|||||||
scripts/config --undefine DEBUG_INFO_REDUCED
|
scripts/config --undefine DEBUG_INFO_REDUCED
|
||||||
scripts/config --undefine DEBUG_INFO_SPLIT
|
scripts/config --undefine DEBUG_INFO_SPLIT
|
||||||
scripts/config --undefine GDB_SCRIPTS
|
scripts/config --undefine GDB_SCRIPTS
|
||||||
|
scripts/config --disable DEBUG_INFO
|
||||||
scripts/config --set-val DEBUG_INFO_DWARF5 n
|
scripts/config --set-val DEBUG_INFO_DWARF5 n
|
||||||
scripts/config --set-val DEBUG_INFO_NONE y
|
scripts/config --set-val DEBUG_INFO_NONE y
|
||||||
|
|
||||||
# build deb packages
|
# build deb packages
|
||||||
CPU_CORES=$(($(grep -c processor < /proc/cpuinfo)*2))
|
CPU_CORES=$(($(grep -c processor < /proc/cpuinfo)*2))
|
||||||
sudo env DEBEMAIL="gfdgd xi <3025613752@qq.com>" make bindeb-pkg ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- -j"$CPU_CORES"
|
sudo env DEBEMAIL="gfdgd xi <3025613752@qq.com>" make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- bindeb-pkg -j"$CPU_CORES"
|
||||||
|
# 移动 deb
|
||||||
|
mkdir /tmp/deb-result
|
||||||
|
cp ../*.deb /tmp/deb-result
|
||||||
|
rm /tmp/deb-result/linux-libc-dev*.deb
|
||||||
|
rm /tmp/deb-result/*dbg*.deb
|
||||||
|
|
||||||
# move deb packages to artifact dir
|
if [[ $2 == 1 ]]; then
|
||||||
cd ..
|
# move deb packages to artifact dir
|
||||||
mkdir "artifact"
|
cd ..
|
||||||
#cp ./*.deb artifact/
|
mkdir "artifact"
|
||||||
git clone https://gfdgd-xi:$PASSWORD@github.com/gfdgd-xi/gxde-linux-kernel
|
#cp ./*.deb artifact/
|
||||||
#cd dclc-kernel
|
rm -rfv "${GITHUB_WORKSPACE}/linux-$VERSION*"
|
||||||
mkdir dclc-kernel
|
git clone https://gfdgd-xi:$PASSWORD@github.com/gfdgd-xi/gxde-linux-kernel --depth=1
|
||||||
mkdir dclc-kernel/$VERSION-aarch64
|
mkdir dclc-kernel
|
||||||
mkdir dclc-kernel/head
|
mkdir dclc-kernel/$SHOWVERSION
|
||||||
rm -rfv *dbg*.deb
|
mkdir dclc-kernel/head
|
||||||
mv ./*.deb dclc-kernel/$VERSION-aarch64
|
rm -rfv *dbg*.deb
|
||||||
cd dclc-kernel/$VERSION-aarch64
|
mv ./*.deb dclc-kernel/$SHOWVERSION
|
||||||
cd ..
|
cd dclc-kernel/$SHOWVERSION
|
||||||
cd head
|
cd ..
|
||||||
mkdir deb/DEBIAN -vp
|
cd head
|
||||||
cat > deb-/DEBIAN/control <<EOF
|
mkdir deb/DEBIAN -vp
|
||||||
|
cat > deb/DEBIAN/control <<EOF
|
||||||
|
Package: linux-kernel-gxde-gfdgdxi-hwe
|
||||||
|
Version: $VERSION
|
||||||
|
Maintainer: gfdgd xi <3025613752@qq.com>
|
||||||
|
Homepage: https://github.com/gfdgd-xi/dclc-kernel
|
||||||
|
Architecture: arm64
|
||||||
|
Severity: serious
|
||||||
|
Certainty: possible
|
||||||
|
Check: binaries
|
||||||
|
Type: binary, udeb
|
||||||
|
Priority: optional
|
||||||
|
Depends: linux-headers-$VERSION-arm64-gfdgdxi-desktop-hwe, linux-image-$VERSION-arm64-gfdgdxi-desktop-hwe
|
||||||
|
Section: utils
|
||||||
|
Installed-Size: 0
|
||||||
|
Description: 内核 $VERSION
|
||||||
|
EOF
|
||||||
|
if [[ ! -d deb-$MAINVERSION ]]; then
|
||||||
|
mkdir -pv deb-$MAINVERSION/DEBIAN
|
||||||
|
fi
|
||||||
|
cat > deb-$MAINVERSION/DEBIAN/control <<EOF
|
||||||
|
Package: linux-kernel-gxde-gfdgdxi-$1-hwe
|
||||||
|
Version: $VERSION
|
||||||
|
Maintainer: gfdgd xi <3025613752@qq.com>
|
||||||
|
Homepage: https://github.com/gfdgd-xi/dclc-kernel
|
||||||
|
Architecture: arm64
|
||||||
|
Severity: serious
|
||||||
|
Certainty: possible
|
||||||
|
Check: binaries
|
||||||
|
Type: binary, udeb
|
||||||
|
Priority: optional
|
||||||
|
Depends: linux-headers-$VERSION-arm64-gfdgdxi-desktop-hwe, linux-image-$VERSION-arm64-gfdgdxi-desktop-hwe
|
||||||
|
Section: utils
|
||||||
|
Installed-Size: 0
|
||||||
|
Description: 内核 HWE $VERSION
|
||||||
|
EOF
|
||||||
|
dpkg-deb -Z xz -b deb linux-kernel-gxde-gfdgdxi-hwe_${VERSION}_arm64.deb
|
||||||
|
dpkg-deb -Z xz -b deb-$MAINVERSION linux-kernel-gxde-gfdgdxi-$1-hwe_${VERSION}_arm64.deb
|
||||||
|
cd ../../gxde-linux-kernel
|
||||||
|
#bash ./repack-zstd --scan .
|
||||||
|
#./build.py
|
||||||
|
./move-letter-path.py ../dclc-kernel/$SHOWVERSION/*.deb
|
||||||
|
./move-letter-path.py ../dclc-kernel/head/*.deb
|
||||||
|
./move-letter-path.py /tmp/deb-result/*.deb
|
||||||
|
touch l/linux-headers-$VERSION-arm64-gfdgdxi-desktop-hwe/lock
|
||||||
|
rm -rfv l/linux-libc-dev/
|
||||||
|
git add .
|
||||||
|
#git pull
|
||||||
|
git config --global user.email 3025613752@qq.com
|
||||||
|
git config --global user.name gfdgd-xi
|
||||||
|
git commit -m 提交$VERSION
|
||||||
|
git push
|
||||||
|
else
|
||||||
|
# move deb packages to artifact dir
|
||||||
|
cd ..
|
||||||
|
mkdir "artifact"
|
||||||
|
#cp ./*.deb artifact/
|
||||||
|
rm -rfv "${GITHUB_WORKSPACE}/linux-$VERSION*"
|
||||||
|
git clone https://gfdgd-xi:$PASSWORD@github.com/gfdgd-xi/gxde-linux-kernel --depth=1
|
||||||
|
#cd dclc-kernel
|
||||||
|
mkdir dclc-kernel
|
||||||
|
mkdir dclc-kernel/$VERSION
|
||||||
|
mkdir dclc-kernel/head
|
||||||
|
rm -rfv *dbg*.deb
|
||||||
|
mv ./*.deb dclc-kernel/$VERSION
|
||||||
|
cd dclc-kernel/$VERSION
|
||||||
|
cd ..
|
||||||
|
cd head
|
||||||
|
mkdir deb/DEBIAN -vp
|
||||||
|
cat > deb/DEBIAN/control <<EOF
|
||||||
Package: linux-kernel-gxde-gfdgdxi
|
Package: linux-kernel-gxde-gfdgdxi
|
||||||
Version: $VERSION
|
Version: $VERSION
|
||||||
Maintainer: gfdgd xi <3025613752@qq.com>
|
Maintainer: gfdgd xi <3025613752@qq.com>
|
||||||
@ -94,7 +183,10 @@ Section: utils
|
|||||||
Installed-Size: 0
|
Installed-Size: 0
|
||||||
Description: 内核(虚包)
|
Description: 内核(虚包)
|
||||||
EOF
|
EOF
|
||||||
cat > deb-$MAINVERSION/DEBIAN/control <<EOF
|
if [[ ! -d deb-$MAINVERSION ]]; then
|
||||||
|
mkdir -pv deb-$MAINVERSION/DEBIAN
|
||||||
|
fi
|
||||||
|
cat > deb-$MAINVERSION/DEBIAN/control <<EOF
|
||||||
Package: linux-kernel-gxde-gfdgdxi-$1
|
Package: linux-kernel-gxde-gfdgdxi-$1
|
||||||
Version: $VERSION
|
Version: $VERSION
|
||||||
Maintainer: gfdgd xi <3025613752@qq.com>
|
Maintainer: gfdgd xi <3025613752@qq.com>
|
||||||
@ -110,17 +202,20 @@ Section: utils
|
|||||||
Installed-Size: 0
|
Installed-Size: 0
|
||||||
Description: 内核(虚包)
|
Description: 内核(虚包)
|
||||||
EOF
|
EOF
|
||||||
dpkg -b deb linux-kernel-gxde-gfdgdxi_${VERSION}_arm64.deb
|
dpkg-deb -Z xz -b deb linux-kernel-gxde-gfdgdxi_${VERSION}_arm64.deb
|
||||||
dpkg -b deb-$MAINVERSION linux-kernel-gxde-gfdgdxi-${1}_${VERSION}_arm64.deb
|
dpkg-deb -Z xz -b deb-$MAINVERSION linux-kernel-gxde-gfdgdxi-${1}_${VERSION}_arm64.deb
|
||||||
cd ../../gxde-linux-kernel
|
cd ../../gxde-linux-kernel
|
||||||
#bash ./repack-zstd --scan .
|
#bash ./repack-zstd --scan .
|
||||||
#./build.py
|
#./build.py
|
||||||
./move-letter-path.py ../dclc-kernel/$VERSION-aarch64/*.deb
|
./move-letter-path.py ../dclc-kernel/$VERSION/*.deb
|
||||||
./move-letter-path.py ../dclc-kernel/head/*.deb
|
./move-letter-path.py ../dclc-kernel/head/*.deb
|
||||||
touch l/linux-headers-$VERSION-arm64-gfdgdxi-desktop/lock
|
./move-letter-path.py /tmp/deb-result/*.deb
|
||||||
rm -rfv l/linux-libc-dev/
|
rm -rfv l/linux-libc-dev/
|
||||||
git add .
|
touch l/linux-headers-$VERSION-arm64-gfdgdxi-desktop/lock
|
||||||
git config --global user.email 3025613752@qq.com
|
git add .
|
||||||
git config --global user.name gfdgd-xi
|
#git pull
|
||||||
git commit -m 提交$VERSION
|
git config --global user.email 3025613752@qq.com
|
||||||
git push
|
git config --global user.name gfdgd-xi
|
||||||
|
git commit -m 提交$VERSION
|
||||||
|
git push
|
||||||
|
fi
|
||||||
|
|||||||
9064
config-arm64
9064
config-arm64
File diff suppressed because it is too large
Load Diff
Loading…
x
Reference in New Issue
Block a user