Installation de Raspbian à partir de NOOBS sans affichage

88

J'essaie d'installer Raspbian de NOOBS, mais je n'ai pas d'autre écran / clavier disponible que l'écran / le clavier de mon ordinateur portable. Je trouve assez d'informations sur l'utilisation d'un écran / clavier d'ordinateur portable pour un Pi, mais vous devez déjà installer un système d'exploitation. Mais je n'ai pas de système d'exploitation installé, car ma carte SD contient NOOBS et je souhaite installer Raspbian à l'aide de NOOBS.

Comment puis-je faire cela uniquement avec l'écran de mon ordinateur portable et mon clavier? J'utilise Windows 7 sur mon ordinateur portable.

ProgramFOX
la source
13
Pourquoi s'embêter. Si vous n'avez ni écran ni clavier, que comptez-vous faire avec NOOBS? Il suffit de télécharger Raspbian et de l'installer sur la carte SD. NOOBS n'est qu'un gaspillage d'espace.
Milliways

Réponses:

117

Cela ne fonctionne plus car sshn'est pas activé.

En utilisant uniquement l'écran et le clavier de l'ordinateur portable (à la fois avant et après l'installation), l'installation et la configuration pour un fonctionnement sans assistance avec SSH sont possibles avec NOOBS (ils l'appellent "installation silencieuse"). Il ne nécessite pas d’ écran séparé ni de clavier / souris. Il nécessite cependant un lecteur de carte SD sur l'ordinateur portable (USB intégré ou externe).

La seule chose requise du côté de Raspberry Pi est une connexion Ethernet (pour SSH y depuis un système hôte). Alternativement, en utilisant du matériel spécial (adaptateur USB / série), il est possible d’utiliser certaines broches GPIO sur le Raspberry Pi. [3]

Cela peut être fait en supprimant quelques dossiers, en modifiant deux fichiers sur la carte SD et en définissant des liens symboliques /etc/init.d(créez d'abord une copie de sauvegarde du contenu de la carte SD si vous ne disposez que de la carte SD avec NOOBS). Les utilisateurs soucieux de la sécurité voudront peut-être changer le mot de passe par défaut avant l'installation.

Conditions préalables:

  • Un ordinateur hôte capable d'exécuter un client SSH et de lire / écrire le système de fichiers sur la carte SD de Raspberry Pi ( ext4 ). Le système d'exploitation peut être Windows, Mac ou Linux. Cela pourrait être un ordinateur qui exécute normalement Windows, mais qui possède un lecteur de DVD afin de pouvoir démarrer Ubuntu en mode d'évaluation à l'aide d'un LiveCD .

  • Une connexion Ethernet au Raspberry Pi et accessible par l'ordinateur hôte TCP / IP en sens inverse (l'ordinateur hôte peut lui-même utiliser Ethernet ou une connexion sans fil).

  • Un éditeur de texte sur le système hôte capable de gérer correctement les caractères de fin de ligne Unix . Par exemple, UltraEdit sous Windows que j'ai utilisé pour les tests. Notepad ++ et Vim sous Windows devraient également convenir.

  • Un lecteur de carte SD (pour apporter des modifications cruciales à la carte SD au cours du processus, à la fois pré-installation et post-installation).

Comment

Pré-installer

Par exemple, pour installer automatiquement Raspbian (le choix recommandé) lorsque le Raspberry Pi est alimenté avec la carte SD insérée, effectuez les opérations suivantes en mode hors connexion (sur le système hôte, Windows, Mac ou Linux):

  1. Téléchargez et préparez NOOBS ( NOOBS 1.3.10 , sorti le 2014-09-09, est un téléchargement de 704 Mo) sur une carte SD suffisamment grande, 4 Go ou plus.

    Cela peut impliquer l’utilisation de SDFormatter avec l’option "ADAPTATION DU FORMAT DE FORMAT" sur "ON" pour formater l’ensemble de la carte SD en une grande partition formatée FAT32). Voir la page liée pour plus de détails.

  2. Dans le osdossier sur la carte SD avec NOOBS, supprimez tous les dossiers sauf Raspbian(dossiers Arch, RaspBMC, Pidora, OpenELEC, RISC_OSet data_partitionpour les noobs 1.3.7. Et que Data_Partitionpour les noobs 1.3.10).

  3. Editez le fichier \os\Raspbian\flavours.json, il ne contient donc que la version souhaitée de Raspbian, "Raspbian" (et non "Raspbian - Boot to Scratch").

    Avant:

       {
         "flavours": [
           {
             "name": "Raspbian - Boot to Scratch",
             "description": "A version of Raspbian that boots straight into Scratch"
           },
           {
             "name": "Raspbian",
             "description": "A Debian wheezy port, optimised for the Raspberry Pi"
           }
         ]
       }
    

    Après:

       {
         "flavours": [
           {
             "name": "Raspbian",
             "description": "A Debian wheezy port, optimised for the Raspberry Pi"
           }
         ]
       }
    

    Supprimez le ou les fichiers supplémentaires que votre éditeur de texte est susceptible de générer (par exemple, un fichier .bak).

  4. Editez le fichier recovery.cmdline(dans le rootdossier de la carte SD ) pour l'ajouter silentinstallà la liste des arguments.

    Avant (peut varier selon la version de NOOBS):

     runinstaller quiet vt.cur_default=1 coherent_pool=6M elevator=deadline
    

    Après (peut varier selon la version de NOOBS):

     runinstaller quiet vt.cur_default=1 coherent_pool=6M elevator=deadline silentinstall
    

    Supprimez le ou les fichiers supplémentaires que votre éditeur de texte est susceptible de générer (par exemple, un fichier .bak).

  5. Optionnel:

    Pour maintenir l'option de connexion d'un téléviseur à la sortie vidéo ouverte, ajoutez également display=3(3 pour PAL, 4 pour NTSC):

     runinstaller quiet vt.cur_default=1 coherent_pool=6M elevator=deadline silentinstall display=3
    
  6. Facultatif: modifiez le nom d'utilisateur et le mot de passe par défaut en modifiant \os\Raspbian\os.json:

    Avant:

       {
         "name": "Raspbian",
         "url": "http://www.raspbian.org/",
         "version": "wheezy",
         "release_date": "2014-01-07",
         "kernel": "3.10",
         "description": "A community-created port of Debian wheezy, optimised for the Raspberry Pi",
         "username": "pi",
         "password": "raspberry"
       }
    

    Après:

       {
         "name": "Raspbian",
         "url": "http://www.raspbian.org/",
         "version": "wheezy",
         "release_date": "2014-01-07",
         "kernel": "3.10",
         "description": "A community-created port of Debian wheezy, optimised for the Raspberry Pi",
         "username": "pi",
         "password": "DerSkalMangeFlereJobsTilI2014tOverHeleVerden11111111111111111111df11111111111111111111"
       }
    

    Supprimez le ou les fichiers supplémentaires que votre éditeur de texte est susceptible de générer (par exemple, un fichier .bak).

  7. Mettez la carte SD dans le Raspberry Pi, connectez-la avec un câble Ethernet de sorte que le système hôte avec le client SSH puisse le voir et que le protocole DHCP soit disponible pour le Raspberry Pi (par exemple, la plupart des routeurs NAT ont un serveur DHCP intégré). dans). Peut-être déconnectez-vous le système d'Internet jusqu'à ce que le mot de passe ait été changé.

  8. Allumez le Raspberry Pi pour démarrer l’installation. Et attendre! Cela peut prendre un certain temps, comme une demi-heure ou plus. Pour être sûr, laissez-le tranquille pendant quelques heures. Un temps d’installation de 19 minutes et 20 secondes a été mesuré avec NOOBS 1.3.10 (de la mise sous tension jusqu’au premier ping réussi). Le courant consommé était de 400 à 480 mA et est tombé à 370 mA après le premier ping.

Post-installation

  1. Recherchez l'adresse IP du Raspberry Pi (attribuée par DHCP) d'une manière ou d'une autre. Par exemple, supposez-le à partir de la plage d'adresses IP utilisée par un serveur DHCP dans un routeur NAT et envoyez une requête ping à ces adresses (la mienne est configurée pour utiliser 192.168.0.100 - 192.168.0.255 et est souvent affectée à 192.168.0.100 ou 192.168.0.101) .

    Wireshark peut également être utilisé à cette fin, en particulier s'il s'agit d'un environnement comportant de nombreux périphériques. C’est beaucoup plus facile à faire si l’adresse MAC du Raspberry Pi est connue, et vous pouvez l’obtenir temporairement en utilisant l’étape 4 ci-dessous.

    Cette étape n'est pas nécessaire si une adresse IP fixe est définie à l'étape 4 ci-dessous.

  2. Envoyez une requête ping à partir de l'hôte pour vérifier s'il existe une connexion.

  3. SSH n'est pas activé par défaut pour Raspbian dans la version 1.3.7 de NOOBS, malgré ce que prétendent certaines pages. (Cela peut être différent pour Arch Linux.) Cependant, il s’agit de Raspbian dans la version 1.3.10 de NOOBS et cette étape n’est peut-être plus nécessaire (cependant, tout Raspberry Pi acheté peut être livré avec une carte SD avec une version antérieure de NOOBS, et il peut être intéressant d’enregistrer le téléchargement de 700 Mo).

    Le moyen le plus simple de l'activer est décrit dans la réponse d'Oli à Préparer SSH sans écran (sur ce site) et consiste à modifier les liens symboliques in /etc/init.d(en root).

    Par exemple, il suffit de démarrer à partir du LiveCD Ubuntu 13.04 avec un lecteur de carte USB sur le système hôte et d’exécuter ces commandes dans Terminal :

     sudo su
     cd /media/ubuntu/root
     for i in 2 3 4 5; do sudo ln -s /etc/init.d/ssh etc/rc$i.d/S02ssh; done
    
  4. Facultatif: définissez une adresse IP fixe si cela vous facilite la tâche et si le type de réseau le permet. Sur un réseau domestique, vous pouvez attribuer une adresse IP en dehors de la plage d'adresses IP utilisée par le serveur DHCP d'un routeur NAT, par exemple 192.168.0.93.

    Dans le fichier cmdline.txt(dans le dossier bootde la racine de la carte SD), ajoutez ceci à la fin de la longue ligne:

    ip=192.168.0.93
    

    Le résultat final peut être quelque chose comme:

    dwc_otg.lpm_enable=0 console=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p6 rootfstype=ext4 elevator=deadline rootwait ip=192.168.0.93
    

    Comme pour l'étape 3, le fichier à éditer serait /media/ubuntu/root/boot/cmdline.txt.

    Remarque: sans paramètres supplémentaires après l'adresse IP, il n'y a pas de connexion à Internet et l'étape 11 ci-dessous échouera.

  5. Si la méthode LiveCD a été utilisée aux étapes 3 et 4: Arrêtez Ubuntu (pour écrire les modifications et démonter la carte SD).

  6. Démarrez le Raspberry Pi avec la carte SD insérée.

  7. SSH sur le Raspberry Pi en utilisant l’adresse IP trouvée à l’étape 1 ou 4 (par exemple, en utilisant PuTTY sous Windows) et connectez-vous:

    login as: pi
    [email protected]'s password: raspberry    (or the password that was set in os.json, see 6 in *Pre-install*.)
    
  8. Changer de mot de passe:

        su pi
        passwd
    
  9. Facultatif: configuration ultérieure du Raspberry Pi

        sudo raspi-config
    
  10. Facultatif: activer la sortie TV

    • Ouvrir config.txtdans vi :

        sudo vi /boot/config.txt
      
    • En cas de dépassement de cette ligne (NOOBS peut avoir inséré une ligne supplémentaire avec cette option activée), elle lit donc (insérer # au début de la ligne):

        #hdmi_force_hotplug=1
      
    • Décommentez cette ligne ( 2est pour PAL; utilisez 0pour NTSC), donc elle lit (supprime le #au début de la ligne):

        sdtv_mode=2
      
    • :wq

    • Redémarrez pour voir l'effet:

        sudo shutdown -r now
      
  11. Même Raspbian livré avec NOOBS 1.3.10 présente la très grave vulnérabilité de Shellshock présente dans Bash et vous ne voulez pas que Raspberry Pi soit laissé sans correctif.

    Pour vérifier si le Raspberry Pi est vulnérable à Shellshock, tapez:

    env x='() { :;}; echo "WARNING: SHELLSHOCK DETECTED"' bash --norc -c ':' 2>/dev/null;
    

    Pour actualiser les référentiels et mettre à niveau Bash, tapez:

    sudo su
    apt-get update && apt-get install --only-upgrade bash
    

En testant cela, j'ai utilisé:

  1. NOOBS 1.3.7 et NOOBS 1.3.10.

  2. UltraEdit sous Windows car il gère les fichiers texte avec des fins de ligne Unix sans aucun problème.

  3. Windows XP 64 bits (oui, je sais)


Sources:

  1. NOOBS sur GitHub , sous-section Comment installer automatiquement un système d'exploitation

  2. Exécuter le Raspberry Pi sans tête avec Debian Linux (Cependant, cela suppose que SSH est activé par défaut, ce qui n’est pas le cas avec la version 1.3.7 de NOOBS).

  3. Installation sans tête du nouveau logiciel NOOBS (Out Of Box Software) sur un Raspberry Pi . Vidéo Youtube. Il utilise un matériel spécial (câble USB avec convertisseur USB-série intégré) pour se connecter aux broches TX / RX du GPIO. Effectivement, c'est comme si vous connectiez un terminal de vidage à l' ancienne au Raspberry Pi.

  4. Connexions à distance Raspberry Pi - sans réseau! . Décrit comment connecter un ordinateur directement au Raspberry à l'aide d'un câble Ethernet normal (un croisement spécial n'est pas nécessaire) et comment définir une adresse IP statique sur le Raspberry Pi (toutefois, l'exemple interdit la connexion en dehors du sous-réseau actuel et donc connexion à Internet).

  5. Monter le système de fichiers racine via NFS (nfsroot) , près de "Ce paramètre indique le noyau". Documentation formelle permettant de définir une adresse IP statique, comme dans les sources 4 et 8, qui devrait permettre la connexion à Internet, mais on ne sait pas exactement à quoi doivent correspondre ces paramètres ...

  6. Configuration d’Ethernet , à proximité de "Méthode 1: Édition /boot/cmdline.txt". Exemple des utilisations plus avancées de "ip =" à partir desquelles il peut être possible de déduire comment le configurer de sorte qu'une connexion à Internet soit possible.

Peter Mortensen
la source
2
Oui super réponse! Ça vaut vraiment la peine! Quelques choses intéressantes ici :)
Piotr Kula
Remarque: en utilisant la méthode d'adresse IP statique, il n'y a pas de connexion à Internet car l'adresse de passerelle, etc. n'est pas configurée. Ainsi, le patch Shellshock ne fonctionnera pas. Mais il peut être utilisé pour amorcer le processus en recherchant l'adresse MAC pendant la connexion à l'aide de la méthode d'adresse IP statique - émettez "ifconfig" et notez l'adresse MAC (champ "HWaddr" dans la ligne avec "eth0"). L'adresse MAC peut être utilisée avec un serveur DHCP pour toujours utiliser la même adresse IP (réserver une adresse IP particulière pour une adresse MAC particulière) afin d'obtenir efficacement une adresse IP statique.
Peter Mortensen
(A modifier: près de "il peut être obtenu temporairement à l'aide de l'étape 4.")
Peter Mortensen
1
@PeterMortensen, j'ai compris cela entre-temps. Merci pour votre confirmation. Notez que la partition doit avoir le type hexadécimal C(FAT32 LBA) ou le Raspberry Pi ne démarrera pas.
FUZxxl
1
Réponse étonnante! S'il vous plaît jeter un oeil à cette question: raspberrypi.stackexchange.com/questions/61351/… c'est en quelque sorte lié à ce sujet. J'ai besoin d'aide pour m'assurer que les miroirs de réseau sont désactivés pendant l'installation. Je vous remercie.
Drew
9

En bref, assurez-vous de télécharger la version d’installation hors ligne de NOOBS, puis éditez le fichier recovery.cmdlineet ajoutez- silentinstallle à la fin de la première ligne.

Cela installera automatiquement raspbian et redémarrera sur le bureau une fois terminé.

Mike Redrobe
la source
2
Si vous trouvez que recovery.cmdline a une ligne vide à la fin, supprimez-la, sinon silentinstall ne fonctionnera pas!
Mike Redrobe
8

Pour une configuration sans interface utilisateur, SSH peut être activé en plaçant un fichier nommé ssh, sans aucune extension, sur la partition de démarrage de la carte SD.

Lorsque le Pi démarre, il cherche le sshfichier. S'il est trouvé, SSH est activé et le fichier est supprimé. Le contenu du fichier n'a pas d'importance: il peut contenir du texte ou rien du tout.

philip mudenyo
la source
Le fichier est-il vraiment supprimé? Si tel est le cas, lors d'un redémarrage ultérieur, le fichier ne serait plus présent et SSH ne serait pas activé. S'agit-il vraiment d'un mécanisme à usage unique, et à chaque démarrage du Pi, le sshfichier doit être remplacé manuellement? Cela ne semble pas très juste.
Greenonline
1
Oui, le fichier est vraiment supprimé. Au démarrage, vous devez vous connecter et configurer les démarrages normaux pour ssh, par exemple: sudo systemctl enable sshcela revient donc la prochaine fois.
Dave X
Confirmé que le fichier est définitivement supprimé au démarrage.
slm
5

J'ai trouvé ce guide le plus utile.

Une mise à jour importante dans la configuration:

  • SSH est désactivé par défaut sur les images les plus récentes. Vous devez créer un nouveau fichier ssh dans / boot (peut être vide). Par exemple

    touch /Volumes/boot/ssh

jeu de soudure
la source
2

La façon dont j'ai fait cela était comme suit:

  1. Retirez le câble d'alimentation du Pi, puis retirez la carte SD.

  2. Utilisez un lecteur de carte (ou intégré si votre ordinateur portable en est équipé) et l’adaptateur SD pour lire la carte sur votre ordinateur.

  3. En recovery.cmdlineplus vncinstallà la fin de la ligne. Source ici , exemple ici .

  4. Éjectez le support de votre système d'exploitation en toute sécurité, puis retirez l'adaptateur.

  5. Insérez SD dans Pi, connectez Pi avec Ethernet à votre routeur, mettez sous tension, puis recherchez le périphérique sur votre réseau. Si vous ne pouvez pas accéder à votre routeur pour voir les périphériques connectés, utilisez un outil permettant, par exemple, nmapd’analyser votre réseau. par exemple nmap 192.168.1.0/24 -p 5900. Une autre chose que vous pouvez essayer est nslookup raspberrypiou ping raspberrypide trouver l'adresse IP. Utilisez vncviewer raspberrypiou vncviewer <IP>pour vous connecter à l'hôte.

  6. Installez Raspbian en utilisant votre connexion VNC.

  7. Après l'installation, l'appareil redémarre.

  8. Eteignez le Pi et replacez la carte dans votre ordinateur.

  9. Ajouter un fichier appelé sshà la partition de démarrage. Vous pouvez utiliser touchsur Linux pour faire cela.

  10. Éjectez la carte SD en toute sécurité, remettez-la en mode Pi et mettez-la sous tension.

  11. Vous pourrez maintenant utiliser SSH pour le Pi.

  12. Changer le mot de passe immédiatement en utilisant passwd.

SilverlightFox
la source
1

Même moi, je faisais face au même problème que le vôtre. J'utilisais l' affichage RCA pour NOOBS et il n'y avait rien à l'écran. La seule option que j'avais était d'utiliser mon ordinateur portable, mais cela doit être initialement configuré avec PuTTY pour se connecter à Raspberry Pi via SSH.

La solution rapide à votre problème est la suivante: téléchargez une image distincte de Raspbian sur le site officiel , puis montez-la sur la carte SD après le formatage. Vous aurez facilement l'affichage. Vous devez simplement vous procurer un moniteur RCA (vous avez peut-être un vieux téléviseur qui traîne).

Sanyam Khurana
la source
1
L'OP a déclaré: "Je n'ai pas d'autre écran / clavier disponible que l'écran de mon ordinateur portable / clavier."
Peter Mortensen
Quel est ce paramètre par défaut pour RCA en Raspbian, PAL ou NTSC?
Peter Mortensen
1

J'ai posté la configuration détaillée d'un Raspberry Pi sans écran, souris et clavier à Comment démarrer Raspberry Pi sans écran? .

Kush Rami
la source
5
Bienvenue sur Raspberry Pi! Bien que cela puisse théoriquement répondre à la question, il serait préférable d’inclure ici les parties essentielles de la réponse et de fournir le lien à titre de référence.
Steve Robillard