Stable OpenWrt version for 64-bit ARM (Raspberry Pi4B)

When I commit to a snapshot, after reviewing the buildbot and git commits, I take a mirror of the target and package repository. Then I update /etc/opkg/distfeeds.conf to point to a local web server or even better, once I've resized the ext4 partition, copy the lot locally onto the SD card.

export DATE=20201104 
export snapdir="openwrt-snapshot-$DATE"
mkdir -p "$snapdir"/armv8/packages "$snapdir"/armv8/kmods "$snapdir"/aarch64_generic
cd $snapdir

rsync -va --progress --stats --exclude 'kmods' --exclude '*pine64*gz' --exclude '*radxa*gz' --exclude '*.tar.*' rsync://downloads.openwrt.org/downloads/snapshots/targets/rockchip/armv8/ armv8/

At this point I write the ext4 image to sd card, resize the partitions, and boot so I can double-check the kmod version in /etc/opkg/distfeeds.conf

# boot, log in, check /etc/opkg/distfeeds.conf for package repos

export KMODVER=5.4.74-1-63fa2731cb0f8e88239410e4cc044b42
mkdir -p armv8/kmods/"$KMODVER"
rsync -va --progress --stats rsync://downloads.openwrt.org/downloads/snapshots/targets/rockchip/armv8/kmods/"$KMODVER"/ armv8/kmods/"$KMODVER"/

rsync -va --progress --stats --exclude '*tesseract*' --exclude '*amdgpu-firmware*' --exclude "*bnx2x-firmware*" rsync://downloads.openwrt.org/downloads/snapshots/packages/aarch64_generic/ aarch64_generic/

I try to exclude bits I'll never use for this target. This way I have a stable and accessible snapshot and don't have to compile.
This is how I update /etc/opkg/distfeeds.conf:

cp /etc/opkg/distfeeds.conf /etc/opkg/distfeeds.conf.orig  
cat /etc/opkg/distfeeds.conf | sed 's/https\:\/\/downloads.openwrt.org\/snapshots\/targets\/rockchip\//http\:\/\/10.0.0.99\/openwrt\/openwrt-snapshot-20201104\//g' > /etc/opkg/distfeeds.conf.tmp 

cat /etc/opkg/distfeeds.conf.tmp | sed 's/https\:\/\/downloads.openwrt.org\/snapshots\/packages\//http\:\/\/10.0.0.99\/openwrt\/openwrt-snapshot-20201104\//g' > /etc/opkg/distfeeds.conf 
1 Like