Journal Linux sur iPhone !

Posté par (page perso) .
Tags : aucun
16
29
nov.
2008
Je suis étonné que ça n'ai pas été fait avant, mais voila, Linux est enfin porté sur l'iPhone d'Apple !

Pour l'instant c'est minimaliste, car ce n'était pas une mince affaire ! Il a fallu développer un bootloader, du nom de OpeniBoot, et créer les drivers pour les différents composants de l'iPhone, sans aucune spécifications.

Les drivers qui fonctionnent :
- Framebuffer driver (gérer le LCD fût un gros boulot, expliqué sur le blog du projet)
- Serial driver
- Serial over USB driver (car il n'y a pas de driver pour l'écran tactile, il fallait donc trouver un moyen d'interagir avec l'iPhone ! )
- Interrupts, MMU, clock, etc.
- Read-only support for the NAND (mémoire flash)

Il reste du boulot, comme la gestion de l'écran tactile, l'écriture sur la mémoire flash, le son, le wifi, etc, mais le plus dur est fait.

Le projet est parti sur un base Busybox , mais la glibc est fonctionnelle, ce qui va permettre dans le futur d'avoir un système plus "classique".

L'auteur laisse entendre sur son blog que l'on pourra porter OpenMoko, Android ou Ubuntu Mobile sur l'iPhone puisque tous ces projets sont basés sur le noyau Linux.

Il faut bien sur un iPhone "jailbreaké", et les sources du projets qui sont disponibles depuis hier.

Allez voir le blog du projet, tout à fait passionnant pour qui s'intéresse au portage de Linux sur des machines "exotiques". Très didactique, suivre l'avancement du projet est intéressant même pour quelqu'un ne bittant que dalle au développement (comme moi :o)

Linux On iPhone : http://linuxoniphone.blogspot.com/
  • # samsung

    Posté par . Évalué à 2.

    et créer les drivers pour les différents composants de l'iPhone, sans aucune spécifications.
    Je croyais pourtant que l'iphone était basé sur un processeur arm samsung. Or une grande partie de ces processeurs sont supportées par Linux et des specs sont/étaient dispos pour certains.
    • [^] # Re: samsung

      Posté par (page perso) . Évalué à 4.

      Oui pour le proc qui est effectivement un ARM Samsung basé sur http://www.arm.com/products/CPUs/ARM1176.html , mais pour l'écran tactile par exemple, c'est le flou total. Voir le post sur l'initialisation de l'écran par exemple : http://linuxoniphone.blogspot.com/2008/07/lcd-status.html
      Idem pour l'implémentation de la mémoire flash, qui n'est pour l'instant qu'en lecture seule. Mais le projet ayant sorti ses premières sources fonctionnelles, on peut espérer que le développement va s'accélérer :)
      Le problème c'est l'extrême fermeture de l'iPhone, il faut déplomber celui ci pour installer GNU/Linux, ça ne sera jamais qu'une solution de geek même si dans le futur Openmoko ou Android tournent dessus...
      • [^] # Re: samsung

        Posté par . Évalué à 4.

        Ben d'après http://www.macgeneration.com/news/voir/126137/au-coeur-d-iph(...) , ca ressemble a un S3C6400 , dont tu peux trouver les specs facilement sur google. Etonant que ton site n'en parle pas...

        Je sais pas quel type de lcd est utilisé (l'article que tu cite n'est pas super clair : ils ne précisent pas quel type de lcd c'est : ont ils essayé de démonter un iphone ?), mais par exemple pour la flash c'est assez standardisé.
        Leur problème à l'air plutôt d'interpréter ce qu'il y a dessus (la ftl + le fs).


        Le problème c'est l'extrême fermeture de l'iPhone, il faut déplomber celui ci pour installer GNU/Linux, ça ne sera jamais qu'une solution de geek même si dans le futur Openmoko ou Android tournent dessus...
        Oui comme rockbox/linux sur ipod...
        • [^] # Re: samsung

          Posté par (page perso) . Évalué à 1.

          Ben rockbox ou Ipod Linux, ça s'install facilement, il n'y a pas de protections sur les Ipod pour empêcher de mettre ce que l'on veux sur le disque. Sur l'iPhone, c'est bien différent...
          • [^] # Re: samsung

            Posté par . Évalué à 5.

            > il n'y a pas de protections sur les Ipod pour empêcher de mettre ce que l'on veux sur le disque

            Sur les dernières générations, le firmware de ces saloperies d'ipod est chiffré...

            ... et donc, tu peux attendre un moment avant d'y voir Rockbox porté.
            • [^] # Re: samsung

              Posté par (page perso) . Évalué à 3.

              Toutes mes confuses, j'en était resté aux 5.5G qui avaient leur base iTune chiffré, mais c'est vrai que les Touch ont le même OS que l'iPhone, donc les même limitations...
        • [^] # Re: samsung

          Posté par . Évalué à 5.

          Heu, les specs du SoC ça permet de pouvoir faire un driver pour le contrôleur de bus pci et d'autres conneries (qui doivent surement être déjà dans le kernel), mais les périphériques les plus "importants" (NAND, écran tactile, wifi) ne font pas partie du "bundle". C'est une autre galère, même si j'espère qu'ils sont basés sur des composants à peu près standards (pour l'écran tactile j'ai des doutes, vu qu'ils ont été les premiers à faire ça, ils doivent avoir des trucs bien fermés).
          • [^] # Re: samsung

            Posté par (page perso) . Évalué à 2.

            Surtout que la spec des registres systèmes (I2C, SPI (pour la flash), framebuffer, ddr, ...) est sous NDA et ultra spécifique !

            Quittez le monde des IBM PC, dans les SoC (System On Chip), tout est refait de manière spécifique et il n'y a pas de bus permettant de scanner des différents devices. (A part les devices pci externes).

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.