Installazione di Raspbian da NOOBS senza display


88

Sto cercando di installare Raspbian da NOOBS, ma non ho altri schermi / tastiere diversi dallo schermo / tastiera del mio laptop. Trovo abbastanza informazioni sull'uso di uno schermo / tastiera di un laptop per un Pi, ma allora hai già bisogno di avere un sistema operativo installato. Ma non ho alcun SO installato, perché la mia scheda SD contiene NOOBS e voglio installare Raspbian usando NOOBS.

Come posso farlo solo con lo schermo e la tastiera del mio laptop? Sto eseguendo Windows 7 sul mio laptop.


13
Perché preoccuparsi. Se non hai uno schermo o una tastiera, cosa pensi di fare con NOOBS? Basta scaricare Raspbian e installarlo sulla scheda SD. NOOBS è solo uno spreco di spazio.
Milliways,

Risposte:


117

Questo non funziona più poiché sshnon è abilitato.

Utilizzando solo lo schermo e la tastiera del laptop (sia prima che dopo l'installazione), l'installazione e la configurazione per il funzionamento senza testa tramite SSH è possibile utilizzando NOOBS (lo chiamano "installazione invisibile"). Esso non richiede uno schermo separato o tastiera / mouse. Tuttavia, richiede un lettore di schede SD sul laptop (USB incorporato o esterno).

L'unica cosa richiesta sul lato Raspberry Pi è una connessione Ethernet (a SSH da un sistema host). In alternativa, utilizzando hardware speciale (adattatore da USB a seriale), è possibile utilizzare alcuni pin GPIO sul Raspberry Pi. [3]

Questo può essere fatto cancellando alcune cartelle, modificando due file sulla scheda SD e impostando alcuni collegamenti simbolici /etc/init.d(crea una copia di backup prima del contenuto della scheda SD se hai solo la scheda SD con NOOBS). Il responsabile della sicurezza potrebbe voler modificare la password predefinita prima dell'installazione.

Prerequisiti:

  • Un computer host in grado di eseguire un client SSH e di leggere / scrivere il file system sulla scheda SD del Raspberry Pi ( ext4 ). Il sistema operativo potrebbe essere Windows, Mac o Linux. Potrebbe trattarsi di un computer che esegue normalmente Windows, ma che dispone di un'unità DVD, quindi Ubuntu può essere avviato in modalità di prova utilizzando un LiveCD .

  • Una connessione Ethernet a Raspberry Pi e accessibile dal computer host in modo TCP / IP (il computer host potrebbe utilizzare se stesso Ethernet o una connessione wireless).

  • Un editor di testo sul sistema host in grado di gestire correttamente i caratteri di fine riga Unix . Ad esempio, UltraEdit su Windows che ho usato per i test. Notepad ++ e Vim su Windows dovrebbero anche andare bene.

  • Un lettore di schede SD (per apportare modifiche cruciali alla scheda SD durante il processo, sia pre-installazione che post-installazione).

Come

Pre-installazione

Ad esempio, per installare automaticamente Raspbian (la scelta consigliata) quando viene applicata l'alimentazione a Raspberry Pi con la scheda SD, eseguire le seguenti operazioni offline (sul sistema host, Windows, Mac o Linux):

  1. Scarica e prepara NOOBS ( NOOBS 1.3.10 , rilasciato il 09.09.2014, è un download di 704 MB) su una scheda SD sufficientemente grande, 4 GB o superiore.

    Ciò può comportare l'uso di SDFormatter con l'opzione "FORMAT SIZE ADJUSTMENT" impostata su "ON" per formattare l'intera scheda SD come un'unica grande partizione formattata FAT32). Vedi la pagina collegata per i dettagli.

  2. Nella oscartella sulla scheda SD con NOOBS, eliminare tutte le cartelle tranne Raspbian(cartelle Arch, RaspBMC, Pidora, OpenELEC, RISC_OS, e data_partitionper NOOBS 1.3.7. E solo Data_Partitionper NOOBS 1.3.10).

  3. Modifica il file \os\Raspbian\flavours.json, quindi contiene solo la versione desiderata di Raspbian, "Raspbian" (non "Raspbian - Boot to Scratch").

    Prima:

       {
         "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"
           }
         ]
       }
    

    Dopo:

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

    Elimina i file extra che il tuo editor di testo può produrre (come un file .bak).

  4. Modifica il file recovery.cmdline(nella rootcartella della scheda SD ) da aggiungere silentinstallall'elenco degli argomenti.

    Prima (potrebbe differire in base alla versione di NOOBS):

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

    Dopo (potrebbe differire in base alla versione di NOOBS):

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

    Elimina i file extra che il tuo editor di testo può produrre (come un file .bak).

  5. Opzionale:

    Per mantenere aperta l'opzione di connessione di una TV all'uscita video, aggiungere anche display=3(3 per PAL, 4 per NTSC):

     runinstaller quiet vt.cur_default=1 coherent_pool=6M elevator=deadline silentinstall display=3
    
  6. Facoltativo: modifica il nome utente e la password predefiniti modificando \os\Raspbian\os.json:

    Prima:

       {
         "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"
       }
    

    Dopo:

       {
         "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"
       }
    

    Elimina i file extra che il tuo editor di testo può produrre (come un file .bak).

  7. Inserisci la scheda SD nel Raspberry Pi, collegala con un cavo Ethernet in modo che il sistema host con il client SSH possa vederlo e tale che DHCP sia disponibile per il Raspberry Pi (ad esempio, la maggior parte dei router NAT hanno un server DHCP integrato nel). Forse scollegare il sistema da Internet fino a quando la password non è stata modificata.

  8. Accendi Raspberry Pi per avviare l'installazione. E aspetta! Questo può richiedere del tempo, ad esempio mezz'ora o più. A dire il vero, lascialo in pace per alcune ore. È stato misurato un tempo di installazione di 19 minuti e 20 secondi quando si utilizza NOOBS 1.3.10 (dall'accensione al primo ping riuscito). La corrente assorbita era 400 - 480 mA e scese a 370 mA dopo il primo ping riuscito.

Post-installazione

  1. Trova in qualche modo l'indirizzo IP del Raspberry Pi (assegnato da DHCP). Ad esempio, indovina dall'intervallo di indirizzi IP utilizzato da un server DHCP in un router NAT e esegui il ping di tali indirizzi (il mio è impostato per utilizzare 192.168.0.100 - 192.168.0.255 e spesso gli viene assegnato 192.168.0.100 o 192.168.0.101) .

    Wireshark può anche essere utilizzato per questo scopo, soprattutto se si trova in un ambiente con molti dispositivi. Questo è molto più semplice se si conosce l'indirizzo MAC di Raspberry Pi e può essere ottenuto temporaneamente utilizzando il passaggio 4 di seguito.

    Questo passaggio non è necessario se nel passaggio 4 è impostato un indirizzo IP fisso.

  2. Effettua il ping dall'host per verificare se esiste una connessione.

  3. SSH non è abilitato per impostazione predefinita per Raspbian in NOOBS versione 1.3.7, nonostante ciò che sostengono alcune pagine. (Potrebbe essere diverso per Arch Linux.) Tuttavia, è per Raspbian in NOOBS versione 1.3.10 e questo passaggio potrebbe non essere più necessario (tuttavia, qualsiasi Raspberry Pi acquistato può essere consegnato con una scheda SD con una versione precedente di NOOBS, e potrebbe valere la pena salvare il download da 700 MB).

    Il modo più semplice per abilitarlo è descritto nella risposta di Oli a Preparare per ssh senza una schermata (su questo sito) ed è quello di cambiare i collegamenti simbolici in /etc/init.d(in root).

    Ad esempio, l'avvio da Ubuntu 13.04 LiveCD con un lettore di schede USB sul sistema host e l'emissione di questi comandi in Terminale sarà sufficiente:

     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. Opzionale: impostare un indirizzo IP fisso se ciò lo rende più semplice e il tipo di rete lo consente. Su una rete domestica ciò potrebbe essere assegnando un indirizzo IP al di fuori dell'intervallo di indirizzi IP utilizzato dal server DHCP di un router NAT, ad esempio 192.168.0.93.

    Nel file cmdline.txt(nella cartella bootdalla radice della scheda SD) aggiungi questo alla fine della linea lunga:

    ip=192.168.0.93
    

    Il risultato finale potrebbe essere qualcosa del tipo:

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

    Come per il passaggio 3, il file da modificare sarebbe /media/ubuntu/root/boot/cmdline.txt.

    Nota: senza parametri aggiuntivi dopo l'indirizzo IP non esiste alcuna connessione a Internet e pertanto il passaggio 11 di seguito non andrà a buon fine.

  5. Se il metodo LiveCD è stato utilizzato per i passaggi 3 e 4: Arresta Ubuntu (per scrivere le modifiche e smontare la scheda SD).

  6. Avvia Raspberry Pi con la scheda SD inserita.

  7. SSH su Raspberry Pi utilizzando l'indirizzo IP trovato nel passaggio 1 o passaggio 4 (ad esempio, utilizzando PuTTY su Windows) e accedere:

    login as: pi
    pi@192.168.0.100's password: raspberry    (or the password that was set in os.json, see 6 in *Pre-install*.)
    
  8. Passa a una nuova password:

        su pi
        passwd
    
  9. Opzionale: eseguire un'ulteriore configurazione di Raspberry Pi

        sudo raspi-config
    
  10. Opzionale: abilitare l'uscita TV

    • Apri config.txtin vi :

        sudo vi /boot/config.txt
      
    • Outcommenta questa riga (NOOBS potrebbe aver inserito una riga aggiuntiva con questa abilitata), quindi legge (inserisci # all'inizio della riga):

        #hdmi_force_hotplug=1
      
    • Rimuovi il commento da questa riga ( 2è per PAL; usa 0per NTSC), quindi legge (rimuovi #all'inizio della riga):

        sdtv_mode=2
      
    • :wq

    • Riavvia per vedere l'effetto:

        sudo shutdown -r now
      
  11. Anche Raspbian fornito con NOOBS 1.3.10 presenta la vulnerabilità Shellshock molto grave che si trova in Bash e non si desidera che Raspberry Pi rimanga senza patch.

    Per verificare se Raspberry Pi è vulnerabile a Shellshock, emettere:

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

    Per aggiornare i repository e aggiornare Bash, emettere:

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

Durante il test, ho usato:

  1. NOOBS 1.3.7 e NOOBS 1.3.10.

  2. UltraEdit su Windows in quanto gestisce senza problemi i file di testo con terminazioni di linea Unix.

  3. Windows XP a 64 bit (sì, lo so)


fonti:

  1. NOOBS su GitHub , sottosezione Come installare automaticamente un sistema operativo

  2. Esecuzione del Raspberry Pi senza testa con Debian Linux (Tuttavia, questo presuppone che SSH sia abilitato di default, il che non è il caso con la versione 1.3.7 di NOOBS).

  3. Nuova installazione senza testa del software Out Of Box (NOOBS) su un Raspberry Pi . Video Youtube. Utilizza hardware speciale (cavo USB con un convertitore da USB a seriale incorporato) per il collegamento ai pin TX / RX sul GPIO. In effetti, è come collegare un terminale di scarico vecchio stile al Raspberry Pi.

  4. Connessioni remote di Raspberry Pi - Senza rete! . Descrive come connettere un computer direttamente a Raspberry usando un normale cavo Ethernet (non è necessario uno speciale crossover) e come impostare un indirizzo IP statico su Raspberry Pi (tuttavia, l'esempio preclude la connessione all'esterno della sottorete corrente e quindi connessione a Internet).

  5. Montare il filesystem di root tramite NFS (nfsroot) , vicino a "Questo parametro dice al kernel". Documentazione formale per l'impostazione di un indirizzo IP statico come nella sorgente 4 e 8 altri parametri che dovrebbero consentire la connessione a Internet, ma non è chiaro esattamente quali parametri dovrebbero essere ...

  6. Impostazione Ethernet , vicino a "Metodo 1: Modifica /boot/cmdline.txt". Esempio degli usi più avanzati di "ip =" da cui è possibile dedurre come configurarlo in modo tale che sia possibile una connessione a Internet.


2
Sì, ottima risposta! Sicuramente vale la taglia! Alcune cose interessanti qui :)
Piotr Kula,

Nota: utilizzando il metodo dell'indirizzo IP statico non esiste alcuna connessione a Internet poiché l'indirizzo gateway, ecc. Non è impostato. Pertanto, la patch Shellshock non funzionerà. Ma può essere usato per avviare il processo trovando l'indirizzo MAC mentre si è connessi usando il metodo dell'indirizzo IP statico - emettere "ifconfig" e annotare l'indirizzo MAC (campo "HWaddr" nella riga con "eth0"). L'indirizzo MAC può essere utilizzato con un server DHCP per utilizzare sempre lo stesso indirizzo IP (riservare un determinato indirizzo IP per un determinato indirizzo MAC) per ottenere effettivamente un indirizzo IP statico.
Peter Mortensen,

(Per modificare: vicino a "può essere ottenuto temporaneamente tramite il passaggio 4 di seguito.")
Peter Mortensen,

1
@PeterMortensen L'ho capito nel frattempo. Grazie per la conferma. Si noti che la partizione deve avere un tipo esadecimale C(FAT32 LBA) o che Raspberry Pi non si avvierà.
FUZxxl,

1
Risposta incredibile! Dai un'occhiata a questa domanda: raspberrypi.stackexchange.com/questions/61351/… è in qualche modo correlato a questo argomento. Ho bisogno di aiuto per assicurarmi che i mirror di rete siano disabilitati durante l'installazione. Grazie.
Estratto il

9

La risposta breve è, assicurarsi di scaricare la versione di installazione offline di NOOBS, quindi modificare il file recovery.cmdlinee aggiungere silentinstallalla fine della prima riga.

Ciò installerà automaticamente raspbian e al termine verrà riavviato sul desktop.


2
Se trovi recovery.cmdline ha una riga vuota alla fine, elimina la riga, altrimenti silentinstall non funzionerà!
Mike Redrobe,

8

Per una configurazione senza testa, SSH può essere abilitato posizionando un file denominato ssh, senza alcuna estensione, sulla partizione di avvio della scheda SD.

Quando il Pi si avvia, cerca il sshfile. Se viene trovato, SSH è abilitato e il file viene eliminato. Il contenuto del file non ha importanza: potrebbe contenere testo o nulla.


Il file è veramente cancellato? In tal caso, al successivo riavvio, il file non sarebbe più presente e SSH non sarebbe abilitato. È davvero solo un meccanismo di utilizzo una tantum e ogni volta che Pi si avvia, il sshfile deve essere sostituito manualmente? Non suona proprio bene.
Greenonline,

1
Sì, il file è davvero cancellato. All'avvio, è necessario effettuare il login e configurare i normali avviamenti per ssh, come: sudo systemctl enable sshquindi verrà visualizzato la prossima volta.
Dave X,

Confermato che il file viene definitivamente eliminato all'avvio.
slm

5

Ho trovato questa guida la più utile.

Un aggiornamento importante nell'installazione:

  • ssh è disabilitato di default sulle immagini più recenti. Devi creare un nuovo file ssh in / boot (può essere vuoto). Per esempio

    touch /Volumes/boot/ssh


2

Il modo in cui l'ho fatto è stato il seguente:

  1. Rimuovere il cavo di alimentazione dal Pi e quindi estrarre la scheda SD.

  2. Usa un lettore di schede (o integrato in uno se il tuo laptop ne ha uno) e l'adattatore SD per leggere la scheda sul tuo computer.

  3. In recovery.cmdlineaggiunta vncinstallalla fine della riga. Fonte qui , esempio qui .

  4. Espellere in sicurezza il supporto nel sistema operativo, quindi rimuovere l'adattatore.

  5. Inserisci SD in Pi, collega Pi con Ethernet al router, accendi e trova il dispositivo sulla tua rete. Se non riesci ad accedere al tuo router per vedere i dispositivi collegati, usa uno strumento come nmapscansionare la tua rete. es nmap 192.168.1.0/24 -p 5900. Un'altra cosa che puoi provare è nslookup raspberrypio ping raspberrypiper trovare l'IP. Utilizzare vncviewer raspberrypio vncviewer <IP>per connettersi all'host.

  6. Installa Raspbian usando la tua connessione VNC.

  7. Dopo l'installazione il dispositivo si riavvierà.

  8. Spegni il Pi e rimetti la scheda nel tuo computer.

  9. Aggiungi un file chiamato sshalla partizione di avvio. Puoi usare touchsu Linux per fare questo.

  10. Espellere in sicurezza SD e rimetterlo in Pi e accenderlo.

  11. Ora sarai in grado di SSH per il Pi.

  12. Cambia la password immediatamente usando passwd.


1

Anche io stavo affrontando lo stesso problema del tuo. Stavo usando il display RCA per NOOBS e non c'era nulla sullo schermo. L'unica opzione che avevo era di usare il mio laptop, ma inizialmente doveva essere configurato con PuTTY per connettersi a Raspberry Pi tramite SSH.

La soluzione rapida al tuo problema è: scaricare un'immagine separata di Raspbian dal sito Web ufficiale e quindi montarla sulla scheda SD dopo la formattazione. Otterrai facilmente il display. Devi solo avere un monitor RCA (forse hai un vecchio televisore in giro).


1
L'OP ha dichiarato: "Non ho altro schermo / tastiera disponibile rispetto allo schermo / tastiera del mio laptop".
Peter Mortensen,

Qual è l'impostazione predefinita per RCA in Raspbian, PAL o NTSC?
Peter Mortensen,

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.