-
Notifications
You must be signed in to change notification settings - Fork 290
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Using OSTree with Raspberry Pi (Raspberry Pi OS) #2223
Comments
AFAIK the raspberry pi OS maintains the kernel at the first partition (vfat), which gets loaded right after the boot firmware, so wonder if this error is simply because the kernel is not installed at the rootfs as well. Check for the kernel package, see if it is deploying it somewhere in the rootfs. The other issue I see with rpi os is the lack of a standard bootloader (e.g. u-boot), so the standard ostree boot path might not work right. If you want to use ostree but without the rpi os, recommend you to check https://github.com/advancedtelematic/meta-updater or https://github.com/foundriesio/meta-lmp (https://docs.foundries.io/latest/reference-manual/linux/linux.html). |
Fedora IoT also targets the Raspberry Pi: https://docs.fedoraproject.org/en-US/iot/reference-platforms/. |
@ricardosalveti The
@jlebon I would to stay on Debian like (so far). Thanks guys 👍 |
So this is probably the issue, as I believe ostree might be looking for a more standard naming for the kernel. From src/libostree/ostree-sysroot-deploy.c:
|
I guess the solution will be to create few symlinks. |
See also: #1801 |
@goldyfruit: If you're up for it I can guide you through implementing #1801? I think it's a good starter issue. Specifically I mean adding support for the RPi bootloader to ostree - rather than adding a plugin system. |
@wmanley I would love the guidance for sure! 👍 |
Great. I'm not sure what your level of experience is with these various technologies here, so do let me know if I'm stating the obvious at any time or if I should go into more detail. I'd recommend reading https://ostreedev.github.io/ostree/atomic-upgrades/ , in particular "The bootversion" and "The /ostree/boot directory" parts are relevant. Also the ostree contributing tutorial should be useful: https://ostreedev.github.io/ostree/contributing-tutorial/ The general idea is: ostree supports multiple different bootloaders by having an interface: The task will be to create a new bootloader implementation that can do the same thing but for the Raspberry Pi. Roughly speaking the process will be:
We'll probably hit a few speed-bumps on the way. |
@wmanley Thanks, I've to familiarize myself will all of these. |
@wmanley Wow your change already got merged! |
I can share how is Endless OS deployed with OSTree on RPi 4. Maybe this can give you some idea. According to the boot folder document,
All of the mentioned above is hardware related. Then, it goes with general Linux case. However, if it goes with full system with OSTree, then it will be a little bit complicated:
So, the boot firmware file (start bala bala.elf) cannot find Linux kernel, ramfs/initramfs, neither Device Tree correctly. What if consider the file name Endless OS places U-Boot as the middle program, named it as
Endless OS also places a boot script With this configuration on RPi 4, Endless OS puts:
This solves the booting system with OSTree issue. But, the files in the boot partition/folder cannot be updated by OSTree. Have to do it manually, if the updating is needed. Because, they are not in the scope of OSTree. I have wrapped up all of the mentioned, including example in a slide A Journey to Boot Linux on Raspberry Pi and gave a talk in COSCUP 2020 You can download and try Endless OS image for RPi 4 https://endlessos.com/download/ |
Please check the kernel, ramfs/initramfs and Device Tree are installed into the corresponding directory before |
Thanks @starnight this is great stuff! How do you manage the files into For those who would like to try to install U-Boot on RPi: https://andrei.gherzan.ro/linux/uboot-on-rpi/ |
I guess you mean the boot partition/folder, not the
Do you mean For the start bala.elf stuffs, also need to move them to the boot partition/folder manually. You can also prepare anther script for it, of course. These are not in the scope of OSTree as mentioned in #2223 (comment) |
Hi @goldyfruit: How are you getting on? |
@wmanley I still looking into it, it's more complicated than I thought xD |
Hi,
I'm trying to use OSTree with my Raspberry Pi to deploy atomic system updates but so far I'm facing an issue during the
ostree admin deploy
.Every time I'm trying to deploy an update I'm getting this error:
I'm using
debootstrap
to build my image and then this image is commit into my repo.I would like to know if it's possible to use OSTree with Raspberry Pi OS? I guess I'm missing something...
Does anyone ever tried to use OSTree with Raspberry Pi OS?
The text was updated successfully, but these errors were encountered: