Installer debian sur ARM 9

Dimou -  
mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,

J'ai un karotz aujourd'hui inutilisable. Je voudrais installer debian pour pouvoir créer un serveur web dessus.

Karotz est muni d'un microprocesseur ARM 9 (samsung) mais je ne peux pas connecter de clavier ni d'écran :/

Pouvez vous m'aider ?

3 réponses

  1. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 940
     
    Peut-être qu'en repartant de ça tu as moyen de charger une image d'installation :
    http://openrabbit.conzi.com/doku.php?id=openrabbit:befreie_den_hasen

    ... mais je suis très sceptique...

    Et surtout je n'ai pas compris dans ce second tutoriel comment il accédait à ces commandes si tu ne peux pas brancher de clavier ou de souris (peut être via un logiciel installé sur ton PC ?)

    Bonne chance
    1
    1. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
       
      Salut mamie,
      Et surtout je n'ai pas compris dans ce second tutoriel comment il accédait à ces commandes si tu ne peux pas brancher de clavier ou de souris (peut être via un logiciel installé sur ton PC ?)
      Normalement si j'ai bien compris ce qui est dit concernant ce truc, il y a une prise micro-usb qui est censée servir d'interface série. Il suffit de la brancher entre le Karotz et le PC, en ayant auparavant paramétrer côté PC un terminal (minicom, screen, putty, gkterm, etc.) et on a la main sur le boot.
      0
  2. Dimou
     
    Il n'y a pas un moyen un peu plus simple d'y arriver ?
    Je ne maitrise pas l'allemand et google traduction n'est pas fiable.
    0
  3. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 940
     
    Traduction de
    http://openrabbit.conzi.com/doku.php?id=openrabbit:befreie_den_hasen


    Cette page répond à la question que tout le monde se pose, la manière d'accéder à un terminal root (#)... Mais commençons en douceur. Vous êtes connectés à votre lapin de sorte à pouvoir faire un démarrage sur la console série et vous chercher à présent à devenir root.

    D'abord, quelques mots sur le processus de démarrage. Lorsque le BIOS du lapin démarre, il charge à son tour le noyau, les systèmes de fichiers puis exécute le script
    /linuxrc
    . Celui-ci appelle à son tour
    /sbin/init 
    au moment de se terminer, qui, via busybox, exécute les services spécifiés dans
    /etc/inittab</code . Les scripts amorcés par lasuite sont <code>/karotz/scripts/karotz_init.sh
    et
    /usr/yaffs_start.sh
    . En bref la séquence de démarrage se résume ainsi :

    BIOS
    Kernel
    /linuxrc
    /sbin/init ? /etc/inittab
    /karotz/scripts/karotz_init.sh
    /usr/yaffs_start.sh


    Le but est de s'immiscer quelque part dans cette séquence. Mais à ce stade, nous n'avons jamais l'opportunité de taper quoi que ce soit, donc nous devons trouver dans un premier temps d'accéder à une invite de commande. J'ai investigué et testé les méthodes qui me paraissaient les plus naturelles parmi celles que j'avais repérées. Qu'est ce qui est déclenché suite à un debootstrap [1] sous Debian ? Röchtööch [2] ! La commande passée via le paramètre init au noyau (dans notre cas
    init=/bin/sh
    ). Et aussi simple que cela puisse paraître, c'est ici la clé de la solution !

    Voici comment nous allons faire. Une fois la liaison série établie, allumez et appuyez sur ENTER au moment approprié.


    Rabbit V3 - ( BIOS v1.16 )
    PRAGMATEC/Point Core

    FCLK=405MHz, HCLK=135MHz, PCLK=67MHz, CPU is running at 405MHzPress ENTER to stop the autoboot


    Comme prévu, le menu de boot apparaît :

    Please select function : 
    0 : Uart download file
    1 : Write Nand flash with download file
    2 : Load Pragram from Nand flash and run
    3 : Erase Nand flash regions
    4 : Test NAND flash
    5 : Restore default partitions
    6 : Set boot params


    Nous allons définir avec soin les paramètres de démarrage en appuyant sur 6 puis ENTER.

    Config parameters
    [0] : bootpara is 0x00000001 (1)
    [1] : cpuclk is 0x00000002 (2)
    [2] : AUTORUN is 0x00000000 (0)
    [3] : serial is 0x00000000 (0)
    [4] : baudrate is 0x0001c200 (115200)
    [5] : machine is 0x00000778 (1912)
    [6] : runAddr is 0x30200000 (807403520)
    [7] : rootfs is 0x00000000 (0)
    [8] : tty is 0x00000004 (4)
    [9] : initrdA is 0x31800000 (830472192)
    [10] : initrdL is 0x00500000 (5242880)
    [11] : memsize is 0x04000000 (67108864)
    [12] : devfs is 0x00000000 (0)
    [13] : ostore is 0x00000000 (0)
    [14] : userpara is 0x00000016 (22)
    [15] : Exit


    Nous allons passer notre paramètre supplémentaire grâce au 14e choix, à savoir
    init=/bin/sh
    comme nous l'avions mentionné. Il suffit de modifier le paramètre
    console
    en
    console=ttySAC0,115200 init=/bin/sh
    . Il devrait désormais y avoir
    [14] : mode para est 0x00000023 (35)


    En résumé :

     
    Interrompre la séquence de démarrage avec pressant <ENTER>
    6 <ENTER>
    14 <ENTER>
    console=ttySAC0,115200 init=/bin/sh<ENTER>
    15 <ENTER>
    y <ENTER>
    2 <ENTER>


    À présent, le démarrage devrait brutalement s'interrompre en affichant un terminal root (#).

    Set boot params = ... root=/dev/ram rw init=/linuxrc console=ttySAC0,115200 init=/bin/sh ...
    Load Kernel...
    Load Ramdisk...
    Uncompressing Linux..............................
    .................................................
    .................................................
    ....................... done, booting the kernel.
    Linux version 2.6.28-pragmatec -g5122909-dirty (guillaume@guillaume-desktop)
    (gcc version 3.4.1) #1 ...
    CPU: ARM920T [41129200] revision 0 (ARMv4T), cr=c0007177
    CPU: VIVT data cache, VIVT instruction cache
    Machine: RABBITV3 BY PRAGMATEC
    ...
    ...
    #


    Yahaa ! Vous avez une console. Mais à ce stade, nous n'en avons pas encore fini avec le lapin, car nous n'avons pas encore fini de démarrer. Plusieurs étapes sont donc encore nécessaires pour faire marcher notre lapin.

    Nous allons exécuter tous les commandes figurant dans /linuxrc à l'exception de la dernière. Pour cela, trois stratégies sont envisageables :

    1) Vous tapez une à une les lignes qui apparaissent à la main
    2) Vous copiez collez le résultat dans le presse papier et ne collez dans le terminal que les lignes qui nous intéressent
    3) ?

    Quelle que soit la stratégie adoptée, vous devez omettre la dernière ligne (
    exec /sbin/init
    ) sinon vous allez déclencher un démarrage "normal".

    Autre point : le paramètre passé au noyau que vous avez ajouté sera préservée. Vous devriez donc, une fois que vous avez installé votre nouveau firmware, retirer l'option
    init=/bin/sh
    .

    Félicitations - vous êtes maintenant root sur votre lapin, sinon entièrement fonctionnel, lapins! Vous pouvez à présent mettre votre lapin à cuire pour lui installer un nouveau firmware.

    Note de traduction :

    [1] Plus de détails ici sur ce qu'est debootstrap https://wiki.debian.org/fr/Debootstrap En pratique deboostrap est utilisé pour installer un système dans un dossier donné, typiquement lors de l'installation de debian via un live CD, ou lors de la construction d'un jail. Mais tout ça c'est du détail, l'auteur aurait pu s'abstenir d'en parler et se focaliser sur l'élément essentiel : le paramètre init du noyau permet de spécifier au noyau comment amorcer le système d'exploitation.

    [2] Cri guttural teuton ou batave que je sais pas traduire, mais que nous pouvons probablement traduire en "Saperlipopette", "Sabre de bois", "Gotfferdom" ou "Tonnerre de Brest" selon les affinités de chacun.

    Retour à ton problème

    Une fois que tu as ton terminal root tu fais à peu près ce que tu veux, y compris éventuellement installer un serveur web. Il faudra simplement veiller à ce que le lancement du serveur web soit fait au démarrage du lapin.

    Dans l'idée cela consiste essentiellement à passer par les commandes
    systemctl
    ,
    update-rc.d
    ou
    chkconfig
    (qui configurent des liens symboliques en conséquence dans les dossiers
    /etc/rc*.d
    vers les scripts de lancement stockés dans
    /etc/init.d
    . Cela dépend de la chaîne de lancement et de la distribution déployée sur le lapin.

    Bonne chance
    0