Skip to content

[RTL8852BU] Update for upstream change #18

[RTL8852BU] Update for upstream change

[RTL8852BU] Update for upstream change #18

Workflow file for this run

name: Star64 kernel build
on: [workflow_dispatch, push]
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
permissions: {}
defaults:
run:
shell: sh
jobs:
build:
# https://github.com/actions/virtual-environments
runs-on: ubuntu-22.04
env:
CROSS_COMPILE: 'riscv64-linux-gnu-'
ARCH: 'riscv'
steps:
- name: Setup tmpfs
run: sudo mount -t tmpfs -o "noatime,lazytime,uid=$(id -u),size=3G" tmpfs "$GITHUB_WORKSPACE"
- 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
# https://github.com/starfive-tech/buildroot/blob/JH7110_VisionFive2_devel/package/starfive/starfive-firmware/starfive-firmware.mk
mkdir -p linux-image-star64/lib/firmware
cd linux-image-star64/lib/firmware
curl -sSfO 'https://raw.githubusercontent.com/starfive-tech/buildroot/JH7110_VisionFive2_devel/package/starfive/starfive-firmware/ap6256-bluetooth/BCM4345C5.hcd'
curl -sSfO 'https://raw.githubusercontent.com/starfive-tech/buildroot/JH7110_VisionFive2_devel/package/starfive/starfive-firmware/ap6256-sdio-wifi/fw_bcm43456c5_ag.bin'
curl -sSfO 'https://raw.githubusercontent.com/starfive-tech/buildroot/JH7110_VisionFive2_devel/package/starfive/starfive-firmware/ap6256-sdio-wifi/nvram_ap6256.txt'
curl -sSfO 'https://raw.githubusercontent.com/starfive-tech/buildroot/JH7110_VisionFive2_devel/package/starfive/starfive-firmware/rtl8852bu-bluetooth/rtl8852bu_config'
curl -sSfO 'https://raw.githubusercontent.com/starfive-tech/buildroot/JH7110_VisionFive2_devel/package/starfive/starfive-firmware/rtl8852bu-bluetooth/rtl8852bu_fw'
curl -sSfO 'https://raw.githubusercontent.com/starfive-tech/buildroot/JH7110_VisionFive2_devel/package/starfive/starfive-firmware/ECR6600U-usb-wifi/ECR6600U_transport.bin'
svn export 'https://github.com/starfive-tech/buildroot/branches/JH7110_VisionFive2_devel/package/starfive/starfive-firmware/aic8800-usb-wifi/aic8800'
svn export 'https://github.com/starfive-tech/buildroot/branches/JH7110_VisionFive2_devel/package/starfive/starfive-firmware/aic8800-usb-wifi/aic8800DC'
cd ../../..
find linux-image-star64 -type f \( -path linux-image-star64/DEBIAN -prune \) -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"]}'