Hello Edoardo,
Now, Norman, I have some questions for you:
- do you want to port Genode also on other Smartphone models?
since you are addressing me personally, I'm not planning to lead such an effort. My high motivation behind the PinePhone line of development stems from the following three points.
1. Proving that Genode can accommodate the (in my opinion) most demanding device category besides PCs. Running Sculpt on the PinePhone brings this point home. Now we know what it takes, and we dispelled countless technical and architectural risks along the way.
2. Attaining the guidance documentation needed by 3rd parties to port Genode to other platforms. For me, not the working code but the Genode Platforms [1] document is the most essential outcome of this work. It essential removes Genode's core team off the critical path for platform enablement.
3. Personally using Sculpt OS on both my laptop and my mobile companion device, satisfying my desire of ultimate control over the devices I rely on.
[1] https://genode.org/documentation/genode-platforms-22-05.pdf
Enabling a second smartphone myself would not contribute to these objectives.
Instead, having an independent developer (or team) proving that the "Genode Platform" documentation fulfills its purpose would be much more interesting to me.
Given this rationale, I would (very) gladly assist someone outside of Genode Labs with such an effort. Should you decide to go that way, you can count on my support.
for 1), I think it could be possible to boot genode on other smartphone, ideally, we could try to change the android boot image: we maintain the header (or the aboot [the android bootloader/third stage bootloader] will refuse to load it] but, instead of taking the android kernel code, we write the genode code (an objdump trick will be helpful). From next week, I'll work directly on this, by using kexec on my modded android smartphone; Note that is also possible to do that at a lower level, with some qualcomm chipset (sdm845 and similar, if you search windows 10 on sdm845, you will see that many peoples have played with efi in order to allow the running of different OSes, this is possible only on a limited plethora of smartphones, but could give additional life to the Genode project).
Reading that paragraph, I feel that I was very lucky that the PinePhone just allows me throwing an SD-card into the phone and boot from that. ;-)
If you happen to find a workable way to boot Genode on a broader range of consumer devices, that would certainly be appreciated.
- Do you think it would be possible to integrate Genode for working
with 4/5G?
We have used the MBIM protocol in earlier work [1] but haven't enabled QMI so far.
For the PinePhone, I picked the path of least complexity. By talking over UART with the modem, we don't need a USB host-controller driver for basic features like telephony. So when booting the phone up to feature-phone functionality, Genode does not even need to start an USB HCD driver. Additionally, the UART interface gives us the principle opportunity to let the SCP (a little system-control processor besides the ARM core) interact with the modem.
I agree, for a more general solution there will probably be no way around using a binary protocol over USB.
[1] https://genode.org/documentation/release-notes/21.02#LTE_modem_stack
As a bottom line, a porting effort to other smartphones is beyond the scope of the road map for 2023. But it goes without saying our actual ambitions go far beyond the PinePhone.
Cheers Norman