Instalación de Raspbian desde NOOBS sin pantalla

88

Estoy tratando de instalar Raspbian desde NOOBS, pero no tengo otra pantalla / teclado disponible que no sea la pantalla / teclado de mi computadora portátil. Encuentro suficiente información sobre el uso de una pantalla / teclado de computadora portátil para un Pi, pero entonces ya necesita tener un sistema operativo instalado. Pero no tengo ningún sistema operativo instalado, porque mi tarjeta SD contiene NOOBS y quiero instalar Raspbian usando NOOBS.

¿Cómo puedo hacer eso solo con la pantalla y el teclado de mi computadora portátil? Estoy ejecutando Windows 7 en mi computadora portátil.

ProgramFOX
fuente
13
Por qué molestarse. Si no tiene una pantalla o teclado, ¿qué planea hacer con NOOBS? Simplemente descargue Raspbian e instálelo en la tarjeta SD. NOOBS es solo una pérdida de espacio.
Milliways

Respuestas:

117

Esto ya no funciona ya sshque no está habilitado.

Usando solo la pantalla y el teclado de la computadora portátil (antes y después de la instalación), la instalación y configuración para la operación sin cabeza usando SSH es posible usando NOOBS (lo llaman "instalación silenciosa"). No , no requiere una pantalla separada o el teclado / ratón. Sin embargo, requiere un lector de tarjetas SD en la computadora portátil (USB incorporado o externo).

Lo único que se requiere en el lado de Raspberry Pi es una conexión Ethernet (a SSH desde un sistema host). Alternativamente, usando un hardware especial (adaptador USB a serie), es posible usar algunos pines GPIO en la Raspberry Pi. [3]

Esto se puede hacer eliminando algunas carpetas, editando dos archivos en la tarjeta SD y configurando algunos enlaces simbólicos /etc/init.d(haga una copia de seguridad primero del contenido de la tarjeta SD si solo tiene la tarjeta SD con NOOBS). La seguridad consciente puede querer cambiar la contraseña predeterminada antes de la instalación.

Prerrequisitos:

  • Una computadora host capaz de ejecutar un cliente SSH y de leer / escribir el sistema de archivos en la tarjeta SD de la Raspberry Pi ( ext4 ). El sistema operativo podría ser Windows, Mac o Linux. Esta podría ser una computadora que normalmente ejecuta Windows, pero que tiene una unidad de DVD para que Ubuntu pueda iniciarse en modo de prueba usando un LiveCD .

  • Una conexión Ethernet a la Raspberry Pi y accesible a través de la computadora host TCP / IP (la computadora host podría usar Ethernet o una conexión inalámbrica).

  • Un editor de texto en el sistema host que puede manejar correctamente los caracteres de fin de línea de Unix . Por ejemplo, UltraEdit en Windows que he usado para probar. Notepad ++ y Vim en Windows también deberían estar bien.

  • Un lector de tarjetas SD (para realizar cambios cruciales en la tarjeta SD durante el proceso, tanto antes de la instalación como después de la instalación).

Cómo

Preinstalar

Por ejemplo, para instalar automáticamente Raspbian (la opción recomendada) cuando se aplica alimentación a la Raspberry Pi con la tarjeta SD, haga lo siguiente sin conexión (en el sistema host, Windows, Mac o Linux):

  1. Descargue y prepare NOOBS ( NOOBS 1.3.10 , lanzado el 09/09/2014, es una descarga de 704 MB) en una tarjeta SD suficientemente grande, de 4 GB o más.

    Esto puede implicar el uso de SDFormatter con la opción "AJUSTE DE TAMAÑO DE FORMATO" configurada en "ON" para formatear toda la tarjeta SD como una gran partición formateada FAT32). Vea la página vinculada para más detalles.

  2. En la oscarpeta en la tarjeta SD con NOOBS, elimine todas las carpetas excepto Raspbian(carpetas Arch, RaspBMC, Pidora, OpenELEC, RISC_OS, y data_partitionpara NOOBS 1.3.7. Y sólo Data_Partitionpara NOOBS 1.3.10).

  3. Edite el archivo \os\Raspbian\flavours.json, por lo que solo contiene la versión deseada de Raspbian, "Raspbian" (no "Raspbian - Boot to Scratch").

    Antes de:

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

    Después:

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

    Elimine los archivos adicionales que su editor de texto puede producir (como un archivo .bak).

  4. Edite el archivo recovery.cmdline(en la rootcarpeta de la tarjeta SD ) para agregarlo silentinstalla la lista de argumentos.

    Antes (puede variar según la versión de NOOBS):

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

    Después (puede variar según la versión de NOOBS):

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

    Elimine los archivos adicionales que su editor de texto puede producir (como un archivo .bak).

  5. Opcional:

    Para mantener abierta la opción de conectar un televisor a la salida de video, agregue también display=3(3 para PAL, 4 para NTSC):

     runinstaller quiet vt.cur_default=1 coherent_pool=6M elevator=deadline silentinstall display=3
    
  6. Opcional: cambie el nombre de usuario y la contraseña predeterminados editando \os\Raspbian\os.json:

    Antes de:

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

    Despué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"
       }
    

    Elimine los archivos adicionales que su editor de texto puede producir (como un archivo .bak).

  7. Coloque la tarjeta SD en la Raspberry Pi, conéctela con un cable Ethernet de modo que el sistema host con el cliente SSH pueda verla y que DHCP esté disponible para la Raspberry Pi (por ejemplo, la mayoría de los enrutadores NAT tienen un servidor DHCP incorporado en). Quizás desconecte el sistema de Internet hasta que se haya cambiado la contraseña.

  8. Encienda la Raspberry Pi para comenzar la instalación. ¡Y espera! Esto puede llevar un tiempo, como media hora o más. Para estar seguro, déjelo solo por unas horas. Se ha medido un tiempo de instalación de 19 minutos y 20 segundos al usar NOOBS 1.3.10 (desde el encendido hasta el primer ping exitoso). La corriente consumida fue de 400-480 mA y cayó a 370 mA después de que el primer ping tuvo éxito.

Post-instalación

  1. Encuentra la dirección IP de la Raspberry Pi (asignada por DHCP) de alguna manera. Por ejemplo, adivine desde el rango de direcciones IP que usa un servidor DHCP en un enrutador NAT y haga ping a esas direcciones (la mía está configurada para usar 192.168.0.100 - 192.168.0.255 y a menudo se le asigna 192.168.0.100 o 192.168.0.101) .

    Wireshark también se puede utilizar para este propósito, especialmente si se encuentra en un entorno con muchos dispositivos. Esto es mucho más fácil de hacer si se conoce la dirección MAC de la Raspberry Pi, y se puede obtener de forma temporal utilizando el paso 4 a continuación.

    Este paso no es necesario si se establece una dirección IP fija en el paso 4 a continuación.

  2. Haga ping desde el host para probar si hay una conexión.

  3. SSH no está habilitado de forma predeterminada para Raspbian en NOOBS versión 1.3.7, a pesar de lo que afirman algunas páginas. (Puede ser diferente para Arch Linux). Sin embargo, es para Raspbian en NOOBS versión 1.3.10, y este paso puede que ya no sea necesario (sin embargo, cualquier Raspberry Pi comprado puede entregarse con una tarjeta SD con una versión anterior de NOOBS, y puede valer la pena guardar la descarga de 700 MB).

    La forma más fácil de habilitarlo se describe en la respuesta de Oli a Prepararse para ssh sin una pantalla (en este sitio) y es cambiar los enlaces simbólicos en /etc/init.d(in root).

    Por ejemplo, arrancar desde el LiveCD de Ubuntu 13.04 con un lector de tarjetas USB en el sistema host y emitir estos comandos en la Terminal será suficiente:

     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. Opcional: configure una dirección IP fija si esto lo hace más fácil y el tipo de red lo permite. En una red doméstica, esto podría ser mediante la asignación de una dirección IP fuera del rango de direcciones IP utilizado por el servidor DHCP de un enrutador NAT, por ejemplo, 192.168.0.93.

    En el archivo cmdline.txt(en la carpeta bootfuera de la raíz de la tarjeta SD) agregue esto al final de la línea larga:

    ip=192.168.0.93
    

    El resultado final puede ser algo como:

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

    Al igual que para el paso 3, el archivo a editar sería /media/ubuntu/root/boot/cmdline.txt.

    Nota: sin parámetros adicionales después de la dirección IP no hay conexión a Internet y, por lo tanto, el paso 11 a continuación fallará.

  5. Si se ha utilizado el método LiveCD para los pasos 3 y 4: apague Ubuntu (para escribir los cambios y desmontar la tarjeta SD).

  6. Inicie el Raspberry Pi con la tarjeta SD insertada.

  7. SSH a Raspberry Pi usando la dirección IP que se encuentra en el paso 1 o paso 4 (por ejemplo, usando PuTTY en Windows) e inicie sesión:

    login as: pi
    [email protected]'s password: raspberry    (or the password that was set in os.json, see 6 in *Pre-install*.)
    
  8. Cambiar a una nueva contraseña:

        su pi
        passwd
    
  9. Opcional: realice una configuración adicional de Raspberry Pi

        sudo raspi-config
    
  10. Opcional: habilitar salida de TV

    • Abierto config.txten vi :

        sudo vi /boot/config.txt
      
    • Agregue un comentario a esta línea (NOOBS puede haber insertado una línea adicional con esto habilitado), por lo que se lee (inserte # al principio de la línea):

        #hdmi_force_hotplug=1
      
    • Descomente esta línea ( 2es para PAL; use 0para NTSC), por lo que se lee (elimine el #al principio de la línea):

        sdtv_mode=2
      
    • :wq

    • Reinicie para ver el efecto:

        sudo shutdown -r now
      
  11. Incluso Raspbian entregado con NOOBS 1.3.10 tiene la vulnerabilidad Shellshock muy grave que se encuentra en Bash , y no desea que Raspberry Pi quede sin parchear.

    Para probar si Raspberry Pi es vulnerable a Shellshock, emita:

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

    Para actualizar los repositorios y actualizar Bash, emita:

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

Al probar esto, usé:

  1. NOOBS 1.3.7 y NOOBS 1.3.10.

  2. UltraEdit en Windows, ya que maneja archivos de texto con terminaciones de línea Unix sin ningún problema.

  3. Windows XP de 64 bits (sí, lo sé)


Fuentes:

  1. NOOBS en GitHub , subsección Cómo instalar automáticamente un sistema operativo

  2. Ejecutar el Raspberry Pi sin cabeza con Debian Linux (Sin embargo, esto supone que SSH está habilitado por defecto, que no es el caso con la versión 1.3.7 de NOOBS).

  3. Instalación sin cabeza del nuevo software listo para usar (NOOBS) en una Raspberry Pi . Video de Youtube. Utiliza hardware especial (cable USB con un convertidor de USB a serie incorporado) para conectarse a los pines TX / RX en el GPIO. Efectivamente, es como conectar una terminal de volcado antigua a la Raspberry Pi.

  4. Conexiones remotas de Raspberry Pi - ¡Sin una red! . Describe cómo conectar una computadora directamente a la Raspberry usando un cable Ethernet normal (no se necesita un cruce especial) y cómo configurar una dirección IP estática en la Raspberry Pi (sin embargo, el ejemplo impide la conexión fuera de la subred actual y, por lo tanto, conexión a internet).

  5. Montaje del sistema de archivos raíz a través de NFS (nfsroot) , cerca de "Este parámetro le dice al núcleo". Documentación formal para configurar una dirección IP estática como en la fuente 4 y 8 otros parámetros que deberían permitir la conexión a Internet, pero no está claro exactamente cuáles deberían ser esos parámetros ...

  6. Configuración de Ethernet , cerca del "Método 1: Edición /boot/cmdline.txt". Ejemplo de los usos más avanzados de "ip =" a partir del cual es posible deducir cómo configurarlo para que sea posible una conexión a Internet.

Peter Mortensen
fuente
2
Sí gran respuesta! Definitivamente vale la pena! Algunas cosas interesantes aquí :)
Piotr Kula
Nota: usando el método de dirección IP estática no hay conexión a Internet ya que la dirección de la puerta de enlace, etc. no está configurada. Por lo tanto, el parche Shellshock no funcionará. Pero se puede usar para iniciar el proceso al encontrar la dirección MAC mientras está conectado utilizando el método de dirección IP estática: emita "ifconfig" y escriba la dirección MAC (campo "HWaddr" en la línea con "eth0"). La dirección MAC se puede usar con un servidor DHCP para usar siempre la misma dirección IP (reservar una dirección IP particular para una dirección MAC particular) para obtener efectivamente una dirección IP estática.
Peter Mortensen el
(Para editar: cerca de "se puede obtener temporalmente usando el paso 4 a continuación")
Peter Mortensen
1
@PeterMortensen Mientras tanto, me di cuenta de eso. Gracias por confirmar. Tenga en cuenta que la partición debe tener el tipo hexadecimal C(FAT32 LBA) o la Raspberry Pi no arrancará.
FUZxxl
1
Increíble respuesta! Eche un vistazo a esta pregunta: raspberrypi.stackexchange.com/questions/61351/… de alguna manera está relacionada con este tema. Necesito ayuda para asegurarme de que los espejos de red estén deshabilitados durante la instalación. Gracias.
Dibujó
9

La respuesta breve es: asegúrese de descargar la versión de instalación sin conexión de NOOBS, luego edite el archivo recovery.cmdliney agréguelo silentinstallal final de la primera línea.

Eso instalará automáticamente raspbian y se reiniciará en el escritorio cuando haya terminado.

Mike Redrobe
fuente
2
Si encuentra recovery.cmdline tiene una línea en blanco al final, elimine la línea, de lo contrario, la instalación silenciosa no funcionará.
Mike Redrobe
8

Para una configuración sin cabeza, SSH se puede habilitar colocando un archivo llamado ssh, sin ninguna extensión, en la partición de arranque de la tarjeta SD.

Cuando se inicia el Pi, busca el ssharchivo. Si se encuentra, SSH está habilitado y el archivo se elimina. El contenido del archivo no importa: podría contener texto o nada en absoluto.

philip mudenyo
fuente
¿Se ha eliminado realmente el archivo? Si es así, luego de un reinicio posterior, el archivo ya no estará presente y SSH no estará habilitado. ¿Es realmente solo un mecanismo de uso único, y cada vez que se inicia el Pi, el ssharchivo debe ser reemplazado manualmente? Eso no suena bien.
Greenonline
1
Sí, el archivo está realmente eliminado. Después del arranque, debe iniciar sesión y configurar los arranques normales para ssh, como: sudo systemctl enable sshpor lo que aparece la próxima vez.
Dave X el
Confirmó que el archivo definitivamente se elimina al arrancar.
slm
5

Encontré que esta guía es la más útil.

Una actualización importante en la configuración:

  • ssh está deshabilitado de forma predeterminada en las imágenes más recientes. Debe crear un nuevo archivo ssh en / boot (puede estar vacío). P.ej

    touch /Volumes/boot/ssh

gameweld
fuente
2

La forma en que hice esto fue la siguiente:

  1. Retire el cable de alimentación de la Pi y luego saque la tarjeta SD.

  2. Use un lector de tarjetas (o uno incorporado si su computadora portátil tiene uno) y el adaptador SD para leer la tarjeta en su computadora.

  3. En recovery.cmdlineagregar vncinstallal final de la línea. Fuente aquí , ejemplo aquí .

  4. Expulse de forma segura los medios en su sistema operativo y luego retire el adaptador.

  5. Inserte SD en Pi, conecte Pi con ethernet a su enrutador, enciéndalo y luego encuentre el dispositivo en su red. Si no puede acceder a su enrutador para ver los dispositivos conectados, use una herramienta como nmappara escanear su red. por ej nmap 192.168.1.0/24 -p 5900. Otra cosa que puedes intentar es nslookup raspberrypio ping raspberrypipara encontrar el IP. Use vncviewer raspberrypio vncviewer <IP>para conectarse al host.

  6. Instale Raspbian usando su conexión VNC.

  7. Después de la instalación, el dispositivo se reiniciará.

  8. Apague el Pi y vuelva a colocar la tarjeta en su computadora.

  9. Agregue un archivo llamado ssha la partición de arranque. Puede usar touchen Linux para hacer esto.

  10. Expulse SD de forma segura y vuelva a colocarlo en Pi y enciéndalo.

  11. Ahora podrá SSH a la Pi.

  12. Cambie la contraseña inmediatamente usando passwd.

SilverlightFox
fuente
1

Incluso yo estaba enfrentando el mismo problema que el tuyo. Estaba usando la pantalla RCA para NOOBS y no había nada en la pantalla. La única opción que tenía era usar mi computadora portátil, pero eso debe configurarse inicialmente con PuTTY para conectarse a Raspberry Pi a través de SSH.

La solución rápida a su problema es: descargue una imagen separada de Raspbian del sitio web oficial y luego móntela en la tarjeta SD después del formateo. Obtendrá la pantalla fácilmente. Solo tiene que obtener un monitor RCA (tal vez tenga un viejo televisor tirado).

Sanyam Khurana
fuente
1
El OP declaró: "No tengo otra pantalla / teclado disponible que la pantalla / teclado de mi computadora portátil".
Peter Mortensen el
¿Cuál es esa configuración predeterminada para RCA en Raspbian, PAL o NTSC?
Peter Mortensen el
1

He publicado la configuración detallada de una Raspberry Pi sin pantalla, mouse y teclado en ¿Cómo iniciar Raspberry Pi sin pantalla? .

kush rami
fuente
55
¡Bienvenido a Raspberry Pi! Si bien esto puede responder teóricamente la pregunta, sería preferible incluir aquí las partes esenciales de la respuesta y proporcionar el enlace para referencia.
Steve Robillard el