Il sw dentro l’iPhone

Ecco un’ottima descrizione delle varie componenti sw di un iphone:

Hello,

I see a lot of confusion recently about various software components inside the iPhone. Here is a small glossary that could help out some people actually understand what we are talking about here:

The iPhone is a small computer with two processors, some RAM and some eraseable FLASH for long-term storage (the 8GB of storage).

ARM Core: This is the processor used to run the Operating System (the OS), which is a scaled down version of MAC OS X. The job of the OS is as a general manager of the phone’s resources (RAM, FLASH, Baseband, etc…) , as well as overview the concurrent running of the phone’s applications.

Baseband: This is the processor that manages all the functions which need an antenna. The GSM phone, as well as the WiFi and bluetooth are all under the control of the baseband processor. The baseband processor has its own RAM and FLASH resources, separate from the ARM core resources. The baseband processor is a resource to the OS.

Boot Loader: This is a (normally) very small program in non-volatile memory (can be FLASH, often is un-eraseable) that ‘bootstraps’ a processor startup and calls the main (usually much larger) program. The boot loaderhas also the responsibility to provide a protocol for obtaining and storing an updated version of the main program. Normally, the boot loader changes very rarely, as there is no need to. It is the main program that gets upgraded, not the boot loader. Also, if something happens during the update of the main program, the boot loader will always be there to save you and restore the main program with a good one. However, when you update the boot loader, if anything bad happens, then you have no more boot loader, which means that the processor will not restart at all. A Brick.

Question: how are bootloaders first programmed into the system? The answer is left as an exercise to the student… 🙂

The ARM core processor has its own bootloader for restoring the OS, which implements the so-called .

The Baseband processor also has its own boot loader too. That boot loader is a lot more hardened with crypto protection, and will not normally let you update the baseband program with one that is not digitally signed with the special Infineon crypto key. Infineon are the makers of the baseband processor. However, there is a bug in version 3.9 of the baseband bootloader that enables re-programming the baseband even with a version that has the wrong crypto signature. Thus, with a 3.9 boot loader, anything is possible.

However, with the new 4.x bootloader, the backdoor has been closed and we are back to square one: any update to the baseband must be cryptographically signed with the correct signature. That is why no unlock is possible at the moment.

Now, finding the key is next to impossible. For the unlock to work, some people must find a new crack in the bootloader, a new backdoor. Considering that Apple must have put quite a bit of pressure on Infineon in order to have a well protected bootloader this time, I would tend to think that it might take some time before a crack is actually found.

Time will tell.

WHAT HAPPENS WHEN I UPGRADE:

When you upgrade (or restore), the OS will be changed to whatever version you want (1.0.2, 1.1.1, 1.1.2) , however the baseband bootloader will only allow baseband firmware updates UP in the version chain. Never down. Moreover, the bootloader itself is not upgraded or changed in any way (that would be quite daring to do for Apple). Which is why when you restore a UK phone from 1.1.2 to 1.1.1 you still have the new 4.02.13 baseband firmware and bootloader 4.x. It is UNLOCKABLE at the moment. And which is also why you can restore from an original 1.1.1 US phone (with bootloader 3.x) to 1.1.2 (it then has baseband 4.02.13, but still bootloader 3.x), then restore down to 1.0.2 and unlock the baseband 4.02.13 (because bootloader 3.x has backdoor and allows unlock) and then can re-upgrade all the way up to 1.1.2 (only the OS changes, the 4.02 baseband firmware is already there and does not get updated, it is already at highest version, thus it stays unlocked).

Since it is very unlikely that the old 3.9 boot loaders will ever be upgraded via software, and also it is unlikely that a backdoor will be found in the 4.x bootloader, I would tend to think that the market value of iPhones with the 3.9 bootloaders should become much higher very soon…

I hope this helps understand a bit more…

Trovata qui: http://hackint0sh.org/forum/showthread.php?t=16051

Molto utile anche l’iPhone Status Ticker.

Mysql (in) Italia

Oggi sono stato con il Corra al convegno di presentazione di MySQL in italia… principalmente per curiosità.

Bello incontrare di nuovo e scambiare due chiacchiere con gmax ospite dell’iniziativa, per il resto… il risotto ai funghi alla fine non era niente male 🙂

A parte gli scherzi ho trovato l’incontro poco utile per i contenuti proposti che erano mirati ad avvicinare le imprese a mysql; molto più interessante conoscere le persone e respirare l’aria di questa prima iniziativa ufficiale.

Prima slide: free != gratis. Wow iniziamo bene… peccato che poi per tutta la presentazione si usi il termine software libero come sinonimo di open source. Peccato anche che parlando poi con il tizio si evidenzi una profonda incomprensione di ciò che sia la GPL (“ti do il sorgente, quindi è sw libero”). Ovviamente il discorso si è fatto caldo quando si è affrontato il discorso delle licenze, anche perché l’argomento è sicuramente complesso e i dubbi palesati dalle stesse persone di mysql non hanno fatto altro che infervorare la discussione. In particolare si è discusso se ad esempio su piattaforma LAMP, realizzando un applicativo NON GPL fosse necessario pagare la licenza OEM per mysql. Per me la rispota è no e trovo una conferma qui e qui.

Interessante invece la questione della distribuzione Mysql Enterprise che viene data con tanto di supporto a chi paga. E’ una distro fatta e testata da Mysql AB facendo una fotografia ai sorgenti in un dato momento e anche questa versione è distribuita in GPL. I sorgenti sono quindi disponibili per chi ha ottenuto legalmente i binari, cioè chi ha pagato. Gli altri possono sempre utilizzare la versione community che è qualche release indietro o scaricare i sorgenti direttamente dal bitkeeper. Anche utilizzando questa seconda strada però è difficile ottenere l’esatta versione dei sorgenti compilati per l’enterprise perché non vengono taggati.

D’altra parte… se io compro la versione enterprise la ottengo in GPL, percui ho il diritto di ridistribuirla in GPL con i sorgenti. In effetti basterebbe ad esempio che debian comprasse una versione enterprise basic (che credo costi sui 400 euro/anno) per poterla recompilare/redistribuire a tutti! (ovviamente senza il supporto!). E’ anche vero che mi sembra proprio una spinta commerciale per vendere il supporto… non credo che essere indietro di 2 o 3 release usando la versione community implichi qualche problema :-)))

Altro pensiero interessante riguardava la divisione di chi utilizza il OSS in due categorie:
+ chi investe tempo per risparmiare denaro (community)
+ chi investe denaro per risparmiare tempo (imprese)
Carino, per semplicità e simmetria.

Cmq, buono il risotto.

Cecco Blues

Cecco sings the blues…

cecco blues

Per ora il suo blues è “tutto poooppo, tutto poooppo…” (tradotto “Tutto sporco”), un piccolo dramma esistenziale scatenato da qualche briciola in terra… trova le sue radici nell’analogo dramma che vive la madre da quando mi frequenta 🙂

Nerd Test

Dear fabulus!

Your nerd index is 39 out of 100.
We’re sorry, but you are not a nerd, you are a hacker.

Social:
You probably attend a lot of Star Trek conventions.
Health:
The surgeon general warns that high cholesterol may promote arteriosclerosis.
Aptitude:
Putting on a tie is probably a major challenge.
Career:
You could exhibit yourself as a domesticated «hacker» on the talk-show circuit.

Visto sul blog del Tannoiser. Il test è qui.