Igor Posted Saturday at 02:40 PM Posted Saturday at 02:40 PM We developed so called Cloud images, which are a combination of minimal images + kernel with minimal set of drivers. Images also doesn't have any firmware packages, so bare OS comes down to 700Mb. Build from sources: ./compile.sh \ BETA=no \ BOARD=uefi-x86 \ BRANCH=cloud \ BUILD_DESKTOP=no \ BUILD_MINIMAL=yes \ ENABLE_EXTENSIONS=image-output-qcow2 \ IMAGE_VERSION=25.2.3 \ RELEASE=noble \ VENDOR="Company" \ VENDORCOLOR="5;100;115" \ KERNEL_CONFIGURE=no \ KERNEL_BTF=yes Customization: https://docs.armbian.com/Developer-Guide_Overview/ Details in promo style: Spoiler Very Fast Boot Time: Optimized configurations enable boot times as fast as 1-2 seconds, ensuring rapid deployment and responsiveness. No Firmware Package: By eliminating unnecessary firmware packages, the cloud images remain lightweight and focused on essential cloud functionality. Optimized Performance: Stripped of unnecessary hardware drivers, the cloud images are leaner, allowing faster boot times and improved efficiency. Enhanced Compatibility: Fine-tuned configurations ensure that Armbian-based cloud instances run seamlessly across major cloud providers, including AWS and Azure. Security-Focused Design: With a minimal attack surface, the cloud images reduce exposure to vulnerabilities while maintaining essential features. Lightweight Image Size: The uncompressed QCOW2 image is approximately 700MB, ensuring minimal resource usage while maintaining full functionality. Docker Support Enabled by Default: The cloud images come preconfigured with Docker support out of the box, allowing seamless deployment of containerized applications. Lean Debian Bookworm or Ubuntu Noble User Space: Provided images come with a minimal yet powerful user space based on Debian Bookworm or Ubuntu Noble, ensuring stability and efficiency. ZRAM Management: Built-in ZRAM management optimizes memory usage, improving performance in resource-constrained environments. Armbian-Config System Configuration Utility: The powerful armbian-config tool provides an easy way to configure and manage system settings, enhancing user experience and customization Images were developed and tested in Qemu / KVM, but they should work (well) on all cloud platform. I need some help for testing those images, on any cloud that you can. It should also boot bare metal, but kernel is stripped down and many things won't work. Kernel configs: https://github.com/armbian/build/blob/main/config/kernel/linux-uefi-arm64-cloud.config https://github.com/armbian/build/blob/main/config/kernel/linux-uefi-x86-cloud.config x86 images: https://netcup-01.armbian.com/dl/uefi-x86/archive/Armbian_25.2.3_Uefi-x86_bookworm_cloud_6.12.20_minimal.img.qcow2 https://netcup-01.armbian.com/dl/uefi-x86/archive/Armbian_25.2.3_Uefi-x86_bookworm_cloud_6.12.21_minimal.hyperv.zip (Azure format) arm64 images: https://netcup-01.armbian.com/dl/uefi-arm64/archive/Armbian_25.2.3_Uefi-arm64_bookworm_cloud_6.12.20_minimal.img.qcow2 https://netcup-01.armbian.com/dl/uefi-arm64/archive/Armbian_25.2.3_Uefi-arm64_bookworm_cloud_6.12.21_minimal.hyperv.zip (Azure format) We are soon switching to those image for our armbian-config software install testing, so those images will be kept in good shape, but for Cloud deployments we need your help. In case you find them working well out of the box, install Docker "Hello world" and do some general things, please report which Cloud provider this was. Thank you! 0 Quote
laibsch Posted Monday at 09:41 PM Posted Monday at 09:41 PM I am really happy to see this. I built a Noble image and tested it locally with qemu. ssh into the VM was fine but the framebuffer showed corruption. There was only about 10M of free space on / qemu-system-x86_64 -bios /usr/share/ovmf/OVMF.fd -m 2048 -display gtk,gl=on -device virtio-net,netdev=net0 -netdev user,id=net0,hostfwd=tcp::5800-:22 -drive if=none,id=root,file=./Noble_cloud_minimal-qcow2,format=qcow2 -device virtio-blk,drive=root Is there a reason not to offer these images in xz compressed format? Size goes down from 665 MB to just 153 MB for Armbian_25.2.3_Uefi-x86_bookworm_cloud_6.12.20_minimal.img.qcow2. 0 Quote
Igor Posted yesterday at 06:02 AM Author Posted yesterday at 06:02 AM 8 hours ago, laibsch said: Is there a reason not to offer these images in xz compressed format? Yes. Cloud providers, those that accept direct qcow2 images loading, expect uncompressed variant. It is handy if you can just pass URL or upload image without any additional handling. 8 hours ago, laibsch said: There was only about 10M of free space on / This should address the problem. https://github.com/armbian/build/pull/8046 1 Quote
laibsch Posted yesterday at 02:23 PM Posted yesterday at 02:23 PM does it make sense to publish both compressed and uncompressed in that case? No: additional compute requirements for CICD to compress images additional storage Yes less bandwidth for our mirrors and users faster downloads What do you say? I have another question: What do you mean exactly by docker support? Are you saying these images have somehow been prepped for easier consumption by docker? Please clarify. I suggest to document this properly somewhere to help in wider adoption and better user experience. This should be good for people testing armbian without having to flash an image to real hardware or without even owning an SBC. Another use case you already mentioned is automatic testing. 0 Quote
Igor Posted 18 hours ago Author Posted 18 hours ago 6 hours ago, laibsch said: does it make sense to publish both compressed and uncompressed in that case? Until only you, me and those few people that will read this thread knows about this .... doesn't make any sense. Our current download logic and UX is very bad at this state, almost as bad as Debian It is very difficult to know that such image exists, what are their advantages (this part I have some draft and will be sent to the docs eventually), then telling them that they can choose between .xz .qcow2 .xz.qcow2 ... while ISO (what people understand) is nowhere to be found. Enabling a feature at build framework. This is trivial and I think it's even supported with a switch already "KEEP_UNCOMPRESSED_IMAGE" or similar, but its not supported at CDN. When compressed qcow2 was replaced with uncompressed, redirection followed as it doesn't carry file extensions https://dl.armbian.com/uefi-arm64/Noble_cloud_minimal-qcow2 which means we don't have support for .xz at this moment. Changing this? Chain of command and execution is slow, I can't deal with everything, and people are busy. I still wait that https://dl.armbian.com/uefi-arm64/Noble_cloud_minimal-hyperv.zip (HyperV Azure) started to work. As you can see, compressed is even bigger then qcow2 image and apparently it has to be zip (don't know that yet). Once re-director is extended, now hard coded values goes out of the code, so its small refactoring - easier job for the future. When re-director is fixed, we need to adjust (already messy) web page. Which is now half broken, those cloud images are mixed with minimal / IOT. You don't know until you click on the link. 6 hours ago, laibsch said: I have another question: What do you mean exactly by docker support? Are you saying these images have somehow been prepped for easier consumption by docker? Please clarify. That cloud kernel supports features required to run Docker. Something like this: curl https://raw.githubusercontent.com/docker/docker/master/contrib/check-config.sh | bash 6 hours ago, laibsch said: I suggest to document this properly somewhere to help in wider adoption and better user experience. Already have some draft ready, but wanted to do more tests before. On some clouds. 0 Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.