Skip to content
Snippets Groups Projects
Commit 7c7d4ed4 authored by ab0027's avatar ab0027 💬
Browse files

Build miko image along with rpi4 using 5.15 kernel

parent be0c91bf
No related branches found
No related tags found
No related merge requests found
Pipeline #7837 failed
......@@ -7,9 +7,15 @@ build-zynthbox-image-armhf:
image: ubuntu:22.04@sha256:cb6ce0db39adc371523a22a0031aa978ad3efbb13a279b7608010c82f8ab214e
stage: build
script:
- set -x
- image_name="zynthbox_rpi4_buster_$(date "+%F_%H%M").img"
- image_name_miko="zynthbox_miko_buster_$(date "+%F_%H%M").img"
- log_file_name="$image_name.build.log"
# Ensuring key security
- echo "Ensuring key security"
- chmod 600 ${SSH_KEY_PUB_ZYNTHBOX_IO}
# Update and install dependencies
- echo "# Update and install dependencies"
......@@ -28,43 +34,44 @@ build-zynthbox-image-armhf:
# Download prebuilt realtime kernel
- echo "# Download prebuilt realtime kernel"
- wget "http://unofficialpi.org/Distros/RealtimePi/2021-06-15_2021-05-07-realtimepi-buster-armhf-lite-0.5.0.zip" -P ./ZynthianOS/src/image
# - wget "http://unofficialpi.org/Distros/RealtimePi/2021-06-15_2021-05-07-realtimepi-buster-armhf-lite-0.5.0.zip" -P ./ZynthianOS/src/image
- wget "https://pub.zynthbox.io/.ci-build-dependency-downloads/2023-01-11_2020-02-13-realtimepi-buster-armhf-lite-0.6.0.zip" -P ./ZynthianOS/src/image
# Build image
- echo "# Build image"
# Build rpi4 image
- echo "# Build rpi4 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 -zv --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 ./workspace/$image_name ./workspace/$image_name_miko
- loopdevice=$(losetup --show -fP ./workspace/$image_name_miko)
- cp -v ./workspace/$image_name ./workspace/$image_name_miko
- root_start=$(fdisk -lu ./workspace/$image_name_miko | grep $image_name_miko.img2 | awk '{print $2}')
- root_size=$(fdisk -lu ./workspace/$image_name_miko | grep $image_name_miko.img2 | awk '{print $4}')
- boot_start=$(fdisk -lu ./workspace/$image_name_miko | grep $image_name_miko1 | awk '{print $2}')
- boot_size=$(fdisk -lu ./workspace/$image_name_miko | grep $image_name_miko1 | awk '{print $4}')
- mountdir=$(mktemp -d)
- mount ${loopdevice}p2 $mountdir
- mount ${loopdevice}p1 $mountdir/boot
- mount --bind /dev $mountdir/dev
- mount --bind /dev/pts $mountdir/dev/pts
- mount --bind /proc $mountdir/proc
- mount --bind /sys $mountdir/sys
- chroot $mountdir apt install zynthbox-z2-setup
- umount $mountdir/boot/ $mountdir/dev/pts $mountdir/dev/ $mountdir/proc/ $mountdir/sys/
- unmount $mountdir
- losetup -D $loopdevice
# Compress image
- echo "# Compress image"
- xz -zv --threads=12 --memory=100% ./workspace/$image_name
- echo "Compressed Image Size -> $(du -h ./workspace/$image_name.xz)"
- sudo mount -o loop,offset=$(($root_start * 512)),sizelimit=$(($root_size * 512)) ./workspace/$image_name_miko $mountdir
- sudo mount -o loop,offset=$(($boot_start * 512)),sizelimit=$(($boot_size * 512)) ./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
- 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 Image Size -> $(du -h ./workspace/$image_name_miko.xz)"
# Ensuring key security
- echo "Ensuring key security"
- chmod 600 ${SSH_KEY_PUB_ZYNTHBOX_IO}
# Push compressed image to pub.zynthbox.io
- echo "# Push compressed image to pub.zynthbox.io"
- scp -P 3138 -i "$SSH_KEY_PUB_ZYNTHBOX_IO" -o "StrictHostKeyChecking no" "./workspace/$image_name.xz" "./workspace/$image_name_miko.xz" zynthbox@pub.zynthbox.io:/mnt/pub_zynthbox_io_volume/ISOs/.ci-testing-isos/
- 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/
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