I apologize if these are clearly answered elsewhere, but I had several
questions about developing using Fedora IoT and deploying Fedora IoT.
Before asking the questions, though, I do have to say "thank you" for
the work on this. The ideas and approaches look innovative and it is
nice to have this sort of development in a community project.
First, if I wanted to try out Fedora IoT on a piece of hardware with a
custom kernel, what would be the right method to try out the custom
kernel? In the past when using Fedora ARM, I could control the kernel
that U-Boot loaded directly. With Fedora IoT, though, it isn't clear
to me how to try this out without breaking the boot process.
Likewise, how would I try out some custom boot loaders and device
trees? I am assuming that the process of trying these out with Fedora
IoT might be similar to using a custom kernel. I am looking at a few
different aarch64 devices and boards with special built-in security
features that could be used at boot time for validating firmware and
software (without a TPM). Further, there will likely be a need to
support some custom I2C and SPI devices on these boards, which would
require (based on past experience with arm7hl boards) custom device
trees.
I have read through the libostree documentation
(
https://ostreedev.github.io/ostree/) and it gave me a few ideas on
how individual files are managed, but I am still coming up to speed on
libostree systems.
One additional question is how would I set up a repository mirror for
Fedora IoT so that I could feed updates to IoT devices that are on a
private network (i.e., don't have direct access to the usual Fedora
IoT repositories)?
I am assuming that I would also have to also update the repository
information somehow on the IoT devices themselves. Guidance on how to
do that would also be greatly appreciated.
Along these lines, I would like to control the particular updates that
roll into the update repository so that only those updates/snapshots
that are tested and work well on the target hardware make it into the
local mirrored update repository. Is there a simple way to manage
this?
Finally, how does Fedora IoT handle transitions in the base Fedora
distribution. Does it simply move forward (for example, from Fedora
33 to Fedora 34) on Fedora IoT devices without additional intervention
or does the person managing the Fedora IoT device have to explicitly
do something to transition from a Fedora IoT 33 base to a Fedora IoT
34 base, for example?
I apologize for all of the questions and if I missed it in the documentation.
Thanks!
Paul