Thanks. I fixed that.
In the question 1.7. Why does the Librem 5 cost so much compared to the PinePhone? we should emphasize the official answer to that by Purism.
P.S. Thank you for your tremendous work, @amosbatto, it really helps to answer questions!
Upd2: Price of PInephone is going to increase.
Upd3: The Pinephone price only increases in (future) stores, not online
Just found this yesterday, extremely useful already!
Thanks for shedding some light on the “Aspen” issue too. It actually was the last thing I read on the Purism pages before I stopped reading their posts since I didn’t want to watch them go down
Now most of the things seem to be bright again though
While not exactly adding to it by myself (at least not for the moment), I wanted to point out or suggest a few things:
-
I once heard that GitLab is claimed to be inaccessible from the Ukraine. Is that still the case? If yes, might it be better to publish the wiki in a place more open to such countries that are considered “problematic” by some other countries?
-
Then, I couldn’t come up with definite answers to the following questions, but I’ll try to make some suggestions:
Q1: “Free” is even better than just “opensource”. Thus I want to find the lowest-level code that is run when the Librem 5 (insert batch here) boots. Where can I find it? (Put in “PC terms”: <<Where can I find the source code of my PC BIOS?>>)
A1: There is a huge amount of projects/repositories on Purism’s GitLab. Among “phosh” and “phoc”, which are rather high-level, there do exist some lower-level projects though. The closest I could come up with is the https://source.puri.sm/Librem5/Cortex_M4/-/tree/master files for the DRAM training processor, and the https://source.puri.sm/Librem5/uboot-imx/-/tree/librem5/arch/arm/cpu/armv8 files for the main processors.
Or something like this if Purism were to use the SoC’s secure boot facilities: https://source.puri.sm/Librem5/arm-trusted-firmware/-/tree/librem5/bl1/aarch64
Q2: I want to know all blobs that Purism use, and where to download them. Where can I find a list with repository links?
A2: While in some places they state the HW parts they are forced to use blobs for, there certainly isn’t a neat list as of now. Some of the repositories in the Purism GitLab contain blobs. These two repositories, which I was able to find, are the https://source.puri.sm/Librem5/firmware-tps6598x-nonfree repo and the https://source.puri.sm/Librem5/redpine-firmware-nonfree repo
Q3: What is the rough boot flow in the Librem 5 from the very first instruction to the last instruction before the Linux kernel finally takes over? For instance, where does this “u-boot” chime in? Is this u-boot a completely separate alternative approach from using the secure boot facilities or is it used on top of those?
A3: The tiny bit I can come up with is https://source.puri.sm/Librem5/arm-trusted-firmware/-/blob/librem5/docs/reset-design.rst. This not only depends on Purism employing those secure boot techniques in the first place, but also excludes all the higher-level parts which judging from the picture only run after the C-runtime has been initialized.
When looking at the level of the .S files in the Librem 5 u-boot project it may be completely separate to the secure boot stack. I.e. you can have one or the other but not both in the same firmware build.
On a side-note:
Maybe it is even possible to create a “developer” wiki or something like that, since Librem 5 newbies (except for me ) most likely won’t be interested in such deep matters?
If there is already such a wiki then maybe it should be referred to in a FAQ answer.
Feel free to rephrase my questions when possibly copying them to the existing ones.
As for the answers, these are what I have been able to come up with without expending days for the search. Hence I’m pretty certain that some of them are possibly far from truth.
Best Regards
microwave89-hv
I added a link to that article to the FAQ.
I have asked that Purism create a general community wiki that covers all Purism products. See this thread for the discussion.
My Google searches in English didn’t turn up anything about GitLab being blocked in Ukraine. Perhaps that is a rumor that arose from this story about GitLab and Russia. If the gitlab.com domain is blocked in Ukraine, it is unlikely to cover source.puri.sm, which is a local installation of GitLab in another domain.
I can’t find the proprietary firmware for the DDR training which is stored in the SPI Flash chip. This page explains how SolidRun builds the flash.bin file that can be saved in the SPI Flash chip, but I don’t know if Purism does it the same way.
I added this text to the FAQ:
The following proprietary firmware for the Librem 5 is available for download in the Purism code repository:
- Texas Instruments TPS65982 USB Type-C and Power Delivery controller: https://source.puri.sm/Librem5/firmware-tps6598x-nonfree
- Redpine Signals RS9116 WiFi/Bluetooth: https://source.puri.sm/Librem5/redpine-firmware-nonfree
Feel free to create a new page in the Librem 5 community wiki to explain what is the Librem 5 booting sequence. I don’t know enough to answer that question.
OT: Looks like I
- Confused Crimea with all of Ukraine
- Missed that Wikipedia alleviated GitLab’s/Google’s statement: (<< To overcome this issue, the non-profit organization Framasoft provides a Debian mirror to make GitLab CE available in these countries.[31] >>)
I reckon, that this really isn’t too much of a problem then, especially not if they would block just the gitlab.com domain.
Will try to do so as soon as I’m able to conduct hands-on experiments on recompiling and re-flashing the complete firmware. Perhaps Q3/2021?
Coping this here, from Linux 5.10 kernel released
@amosbatto some minor updates to FAQ 2.10, 4.3 and 8.1 may be needed as mainline is now reality.
Do those phones have UEFI and ACPI support, or SBSA[2] support? If so, can you point me to where I can read more about it? Google is failing me here.
[2] https://en.wikipedia.org/wiki/Server_Base_System_Architecture
https://news.ycombinator.com/item?id=25550359
(I am not able to reply to this question myself).
Perhaps, the question could be “What other OS can already run on Librem 5?”
It doesn’t have UEFI–it uses u-boot instead. To test whether it has ACPI support, someone who has the phone should do this:
sudo apt install acpi
acpi -V
To determine its level of SBSA would take hours of reading the spec and testing each thing in the spec, and I doubt that very many people care about SBSA.
The following comment would probably be a very good explanation of why suspend is not working yet and what is being done to add it:
Purism has been accepting pre-orders for the Fir batch at the same price as the first version of the Librem 5, but has not made any further announcements, so it is not known whether Fir will have more RAM, more Flash memory storage, or different components than the Librem 5 (Evergreen).
This is not true that Purism made no further statements. Here is one:
There is a difference between “we will change something” and “we will change exactly this and that”.
Yes, Fir will implement changes, which we do not know yet.
Cheers
nicole
Purism announced “Fir” on 2019-09-05 and @nicole.faerber made that comment one day later on 2019-09-06, and that comment doesn’t contain any more info about Fir than the original post. Since then, Purism employees have reaffirmed that Fir will happen on this forum, but Purism hasn’t released any further details about Fir.
What is wrong with the FAQ answer?
Nothing is wrong. The FAQ could just be updated saying that the i.MX 8M Plus, first announced in early January 2020, is likely to become the power envelope for the phone according to not only to the existing FAQ link but also according to this link above I found.
Although you are right that no further announcements were made.
I added Nicole’s quote to the FAQ answer: https://source.puri.sm/Librem5/community-wiki/-/wikis/Frequently-Asked-Questions#71-what-will-be-the-changes-in-the-fir-batch-and-should-i-wait-for-it
2.13. How well will convergence work to use the Librem 5 as a desktop PC?
Since that answer was written Purism published a couple of very good articles and videos on convergence. I think they should be emphasized here and be linked in the very beginning, especially the first one:
2.9. What screen does the Librem 5 have and why is it 720p instead of 1080p?
This question was officially answered:
https://developer.puri.sm/Librem5/FAQ.html#what-is-the-resolution-of-the-built-in-display
So it would be good to have a link to it from the community FAQ.
2.4. Is Bluetooth 5.0 supported? What Bluetooth profiles are supported?
2.6. Why doesn’t the Librem 5 support new Wi-Fi standards (802.11ac/ad/ah/ax)?
Thanks for the link. I updated: https://source.puri.sm/Librem5/community-wiki/-/wikis/Frequently-Asked-Questions#21-how-long-will-be-the-battery-life-of-the-librem-5-evergreen
1.5. How innovative is the Librem 5?
The Librem 5 was first to release a development batch, but PinePhone was the first to reach mass production, so it can be argued which was the first to introduce hardware kill switches.
The version of Pinephone currently available for preorder is called “Beta Edition”. To me it means that the previous “Alpha Edition” was also actually a development batch, even though it was available to more developers than the Birch. It definitely was not the final version of the hardware, too (it had a bug preventing convergence).
What is “mass production” anyway?