Skip to content
Snippets Groups Projects
Commit 8b91d4df authored by ab0027's avatar ab0027 :speech_balloon:
Browse files

Major Upgrade :

- Update bootfs path to /boot/firmware
- Make single armhf image which now has autoconfig to detect device
parent e980d0a0
No related branches found
No related tags found
No related merge requests found
......@@ -14,10 +14,8 @@ build-zynthbox-image-armhf:
- source ./common.sh
- debian_release_name="bookworm"
- image_name="zynthbox_rpi4_${debian_release_name}_$(date "+%F_%H%M").img"
- image_name_miko="zynthbox_miko_rpi5_${debian_release_name}_$(date "+%F_%H%M").img"
- image_name="zynthbox_${debian_release_name}_armhf_$(date "+%F_%H%M").img"
- log_file_name="$image_name.build.log"
#- KERN=6.1.54-llat-v7l+
- mountdir=$(mktemp -d)
# Ensuring key security
......@@ -30,33 +28,20 @@ build-zynthbox-image-armhf:
- apt-get install -y coreutils p7zip-full qemu-user-static sudo git wget curl python3 lsof fdisk xz-utils openssh-client jq zip binutils kmod
- sudo curl -L --output /usr/bin/rpi-update https://raw.githubusercontent.com/raspberrypi/rpi-update/master/rpi-update && sudo chmod +x /usr/bin/rpi-update
# Build custom base image with Low Latency Kernel
# Download raspios base image and update kernel
- wget -c --trust-server-names 'https://downloads.raspberrypi.org/raspios_lite_armhf/images/raspios_lite_armhf-2024-03-15/2024-03-15-raspios-bookworm-armhf-lite.img.xz' -O ./raspios-${debian_release_name}-armhf-lite.img.xz
- xz -dv ./raspios-${debian_release_name}-armhf-lite.img.xz
- sudo mount -o loop,offset=$(get_partition_start_offset root ./raspios-${debian_release_name}-armhf-lite.img),sizelimit=$(get_partition_size root ./raspios-${debian_release_name}-armhf-lite.img) ./raspios-${debian_release_name}-armhf-lite.img $mountdir
- sudo mount -o loop,offset=$(get_partition_start_offset boot ./raspios-${debian_release_name}-armhf-lite.img),sizelimit=$(get_partition_size boot ./raspios-${debian_release_name}-armhf-lite.img) ./raspios-${debian_release_name}-armhf-lite.img $mountdir/boot
- sudo mount -o loop,offset=$(get_partition_start_offset boot ./raspios-${debian_release_name}-armhf-lite.img),sizelimit=$(get_partition_size boot ./raspios-${debian_release_name}-armhf-lite.img) ./raspios-${debian_release_name}-armhf-lite.img $mountdir/boot/firmware
- sudo mount --bind /dev $mountdir/dev
- sudo mount --bind /dev/pts $mountdir/dev/pts
- sudo mount --bind /proc $mountdir/proc
- sudo mount --bind /sys $mountdir/sys
- echo "# Cleaning up old and unused kernels"
- sudo chroot $mountdir apt -yy remove "linux-headers-6.6.2*" "linux-image-6.6.2*" "linux-headers-rpi-v*" "linux-image-rpi-v*" "linux-kbuild-6.6.2*"
- echo "# Updating firmware and bootloader"
- sudo SKIP_WARNING=1 SKIP_BACKUP=1 ROOT_PATH=$mountdir BOOT_PATH=$mountdir/boot WANT_32BIT=1 WANT_64BIT=0 WANT_PI4=0 WANT_PI5=1 rpi-update
# - echo "# Installing kernel ${KERN}"
# - sudo chroot $mountdir wget https://github.com/kdoren/linux/releases/download/rpi_6.1.54/linux-headers-6.1.54-llat-v7l+_6.1.54-1_armhf.deb
# - sudo chroot $mountdir wget https://github.com/kdoren/linux/releases/download/rpi_6.1.54/linux-image-6.1.54-llat-v7l+_6.1.54-1_armhf.deb
# - sudo chroot $mountdir wget https://github.com/kdoren/linux/releases/download/rpi_6.1.54/linux-libc-dev_6.1.54-1_armhf.deb
# - sudo chroot $mountdir bash -c 'dpkg -i *.deb'
# - sudo chroot $mountdir bash -c 'rm -v *.deb'
# - sudo chroot $mountdir mkdir -p /boot/$KERN/overlays/
# - sudo chroot $mountdir bash -c "cp -d /usr/lib/linux-image-$KERN/overlays/* /boot/$KERN/overlays/"
# - sudo chroot $mountdir bash -c "cp -dr /usr/lib/linux-image-$KERN/* /boot/$KERN/"
# - sudo chroot $mountdir touch /boot/$KERN/overlays/README
# - sudo chroot $mountdir mv /boot/vmlinuz-$KERN /boot/$KERN/
# - sudo chroot $mountdir mv /boot/System.map-$KERN /boot/$KERN/
# - sudo chroot $mountdir cp /boot/config-$KERN /boot/$KERN/
- sudo umount $mountdir/boot/ $mountdir/dev/pts $mountdir/dev/ $mountdir/proc/ $mountdir/sys/
- echo "# Installing new kernels"
- sudo SKIP_WARNING=1 SKIP_BACKUP=1 ROOT_PATH=$mountdir BOOT_PATH=$mountdir/boot/firmware rpi-update
- sudo umount $mountdir/boot/firmware $mountdir/dev/pts $mountdir/dev/ $mountdir/proc/ $mountdir/sys/
- sudo umount $mountdir
- zip ./raspios-${debian_release_name}-armhf-lite.img.zip ./raspios-${debian_release_name}-armhf-lite.img
......@@ -74,52 +59,17 @@ build-zynthbox-image-armhf:
- echo "# Using custom base image"
- mv ./raspios-${debian_release_name}-armhf-lite.img.zip ./ZynthianOS/src/image
# Build rpi4 image
- echo "# Build rpi4 image"
# Build zynthbox image
- echo "# Building zynthbox image"
- cd ./ZynthianOS/src
- ../../CustomPiOS/src/update-custompios-paths
- bash -x ./build_dist
- mv ./workspace/*.img ./workspace/$image_name
- echo "Image Size -> $(du -h ./workspace/$image_name)"
### Compress rpi4 image
## - echo "# Compress image"
## - xz -kzv --threads=12 --memory=100% ./workspace/$image_name
## - echo "Compressed rpi4 Image Size -> $(du -h ./workspace/$image_name.xz)"
### Push compressed rpi4 image to pub.zynthbox.io
##- echo "# Push compressed rpi4 image to pub.zynthbox.io"
##- scp -P 3138 -i "$SSH_KEY_PUB_ZYNTHBOX_IO" -o "StrictHostKeyChecking no" "./workspace/$image_name.xz" zynthbox@pub.zynthbox.io:/mnt/pub_zynthbox_io_volume/ISOs/.ci-testing-isos/
# Build miko image
- echo "# Build Miko image"
- cp -v ./workspace/$image_name ./workspace/$image_name_miko
- fdisk -lu ./workspace/$image_name_miko
- sudo mount -o loop,offset=$(get_partition_start_offset root ./workspace/$image_name_miko),sizelimit=$(get_partition_size root ./workspace/$image_name_miko) ./workspace/$image_name_miko $mountdir
- sudo mount -o loop,offset=$(get_partition_start_offset boot ./workspace/$image_name_miko),sizelimit=$(get_partition_size boot ./workspace/$image_name_miko) ./workspace/$image_name_miko $mountdir/boot
- sudo mount --bind /dev $mountdir/dev
- sudo mount --bind /dev/pts $mountdir/dev/pts
- sudo mount --bind /proc $mountdir/proc
- sudo mount --bind /sys $mountdir/sys
- sudo chroot $mountdir apt install zynthbox-z2-setup
- |
set -x
cat << EOF | sudo chroot $mountdir
cd /zynthian
rm -rf zynthbox-qml
git clone https://github.com/zynthbox/zynthbox-qml.git -b dev-rpi5
apt -yy install libgpiod-dev
git clone https://github.com/zynthbox/zyncoder.git -b dev-rpi5-libgpiod
mkdir -p zyncoder/build
cd zyncoder/build
ZYNTHIAN_WIRING_LAYOUT="Z2_V2" cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=RelWithDebInfo ..
make -j4 install
EOF
- sudo chroot $mountdir apt -y clean
- sudo chroot $mountdir rm -rf /var/lib/apt/lists/*
- sudo umount $mountdir/boot/ $mountdir/dev/pts $mountdir/dev/ $mountdir/proc/ $mountdir/sys/
- sudo umount $mountdir
# Compress miko image
- xz -zv --threads=12 --memory=100% ./workspace/$image_name_miko
- echo "Compressed miko Image Size -> $(du -h ./workspace/$image_name_miko.xz)"
# Push compressed miko image to pub.zynthbox.io
- echo "# Push compressed miko image to pub.zynthbox.io"
- scp -P 3138 -i "$SSH_KEY_PUB_ZYNTHBOX_IO" -o "StrictHostKeyChecking no" "./workspace/$image_name_miko.xz" zynthbox@pub.zynthbox.io:/mnt/pub_zynthbox_io_volume/ISOs/.ci-testing-isos/
# Compress image
- echo "# Compressing image"
- xz -zv --threads=12 --memory=100% ./workspace/$image_name
- echo "Compressed Image Size -> $(du -h ./workspace/$image_name.xz)"
# Push compressed image to pub.zynthbox.io
- echo "# Pushing compressed image to pub.zynthbox.io"
- scp -P 3138 -i "$SSH_KEY_PUB_ZYNTHBOX_IO" -o "StrictHostKeyChecking no" "./workspace/$image_name.xz" zynthbox@pub.zynthbox.io:ISOs/.ci-testing-isos/
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment