Skip to content

dts: reduce diff to StarFive VisionFive 2 device tree #106

dts: reduce diff to StarFive VisionFive 2 device tree

dts: reduce diff to StarFive VisionFive 2 device tree #106

Workflow file for this run

name: Star64 kernel build
on: [workflow_dispatch, push]
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
permissions: {}
jobs:
build:
# https://github.com/actions/virtual-environments
runs-on: ubuntu-22.04
env:
CROSS_COMPILE: 'riscv64-linux-gnu-'
ARCH: 'riscv'
steps:
- uses: actions/checkout@v4
- name: Install build dependencies
run: |
sudo apt-get -q update
sudo DEBIAN_FRONTEND=noninteractive apt-get --no-install-recommends -qq dist-upgrade
sudo DEBIAN_FRONTEND=noninteractive apt-get --no-install-recommends -qq install make gcc libc6-dev flex bison gcc-riscv64-linux-gnu bc libssl-dev
- name: Build Linux
run: |
> .scmversion # Avoid Git commit version suffix
mv -v dietpi_star64_defconfig arch/riscv/configs/
make dietpi_star64_defconfig
make -j$(nproc)
make install INSTALL_PATH='linux-image-star64/boot'
make dtbs_install INSTALL_DTBS_PATH='linux-image-star64/usr/lib/linux-image-star64'
find linux-image-star64/usr/lib/linux-image-star64 -mindepth 1 ! \( -name 'starfive' -o -name 'jh7110-pine64-star64.dtb' \) -exec rm -Rfv {} +
make modules_install INSTALL_MOD_PATH='linux-image-star64'
rm linux-image-star64/lib/modules/*/build linux-image-star64/lib/modules/*/source
# WiFi/BT firmware: https://github.com/starfive-tech/buildroot/blob/JH7110_VisionFive2_devel/package/starfive/starfive-firmware/starfive-firmware.mk
curl -fLO 'https://github.com/starfive-tech/buildroot/archive/JH7110_VisionFive2_devel.tar.gz'
tar xf JH7110_VisionFive2_devel.tar.gz
rm JH7110_VisionFive2_devel.tar.gz
mkdir -p linux-image-star64/lib/firmware
cp -Rv buildroot-JH7110_VisionFive2_devel/package/starfive/starfive-firmware/*/* linux-image-star64/lib/firmware/
rm -R buildroot-JH7110_VisionFive2_devel
# StarFive DRI library
curl -sSfO 'https://raw.githubusercontent.com/starfive-tech/Debian/20221225T084846Z/gpu/DDK1.19-binary-xorg/IMG_GPU-xorg.tar.gz'
tar xf IMG_GPU-xorg.tar.gz
rm IMG_GPU-xorg.tar.gz
mkdir -p linux-image-star64/usr/lib/riscv64-linux-gnu/dri
cp IMG_GPU-xorg/usr/local/lib/dri/starfive_dri.so linux-image-star64/usr/lib/riscv64-linux-gnu/dri/
rm -R IMG_GPU-xorg
# Permissions
find linux-image-star64 ! \( -path linux-image-star64/DEBIAN -prune \) -type f -exec chmod 0644 {} +
find linux-image-star64 -type d -exec chmod 0755 {} +
- name: Build package
run: |
echo 'Obtaining kernel and package version ...'
kernelversion=$(make kernelversion)
curl -fO 'https://dietpi.com/downloads/binaries/linux-image-star64.deb'
cur_version=$(dpkg-deb -f linux-image-star64.deb Version)
rm linux-image-star64.deb
cur_suffix=${cur_version#*-dietpi}
echo "Current package version is : $cur_version"
echo "New kernel version is : $kernelversion"
[ "$kernelversion-dietpi$cur_suffix" = "$cur_version" ] && version="$kernelversion-dietpi$((cur_suffix+1))" || version="$kernelversion-dietpi1"
echo "New package version will be: $version"
sed -i "s/VERSION/$kernelversion/g" linux-image-star64/boot/extlinux/extlinux.conf linux-image-star64/DEBIAN/p*
find linux-image-star64 ! \( -path linux-image-star64/DEBIAN -prune \) -type f -exec md5sum {} + | sed 's|linux-image-star64/||' > linux-image-star64/DEBIAN/md5sums
sed -i -e "s/VERSION/$version/" -e "s/DATE/$(date -u '+%a, %d %b %Y %T %z')/" -e "s/SIZE/$(du -sk 'linux-image-star64' | mawk '{print $1}')/" linux-image-star64/DEBIAN/control
sudo chown -R 0:0 linux-image-star64
dpkg-deb -b -Zxz -z9 -Sextreme linux-image-star64
sudo rm -R linux-image-star64
- name: Upload
run: |
mkdir -p ~/.ssh
umask 377
echo '${{ secrets.KNOWN_HOSTS }}' > ~/.ssh/known_hosts
echo '${{ secrets.SSH_KEY }}' > ~/.ssh/id_ed25519
curl -T 'linux-image-star64.deb' --key ~/.ssh/id_ed25519 '${{ secrets.UPLOAD_URL }}all/'
curl 'https://api.cloudflare.com/client/v4/zones/${{ secrets.CF_ZONE }}/purge_cache' -H 'Authorization: Bearer ${{ secrets.CF_TOKEN }}' -H 'Content-Type: application/json' \
--data '{"files":["https://dietpi.com/downloads/binaries/testing/","https://dietpi.com/downloads/binaries/testing/linux-image-star64.deb"]}'