¿Arrancar desde el disco duro USB?

Respuestas:

28

No es posible iniciar RPi desde USB directamente en el verdadero sentido de la palabra. Sin embargo, no hay nada que impida que alguien haga una mini-distribución que contendría / boot y algún tipo de gestor de arranque. Esto podría implementar el arranque desde USB o incluso un entorno de estilo PXE. Esto podría caber en una pequeña tarjeta SD: las tarjetas de 64 MB ahora están disponibles por centavos. Espero que alguien haga una distribución para esto, pero no he encontrado una hasta la fecha.

Mientras tanto, puede mover su propia partición raíz al disco duro para obtener tiempos de arranque más rápidos, pero es algo complicado ya que necesitará obtener un núcleo que admita almacenamiento USB. Se pueden encontrar buenas instrucciones sobre cómo hacer esto en: http://mitchtech.net/raspberry-pi-root-fs-on-usb-drive/

Maria Zverina
fuente
3
Esta es una buena idea.
Jivings
Actualización: ahora hay soporte experimental para arrancar directamente a USB; no se requiere tarjeta sd después de la configuración inicial.
Hydraxan14
21

De las preguntas frecuentes de Raspberry Pi :

Debe arrancar desde SD pero un USB HD puede "hacerse cargo" después del arranque inicial. No puede arrancar sin una tarjeta SD.

Darren Wilkinson
fuente
1
¿Significa eso que después de que el disco duro se haga cargo, ya no hay necesidad del auto de memoria?
Suhaib
5

De hecho, si puede vivir solo con la partición SD MS-DOS (/ boot) donde reside el núcleo, puede tener / root y todo lo demás en un dispositivo externo. La tarjeta de memoria USB o un disco duro físico están bien como unidad secundaria. Lo bueno es que, a menos que se 'dd' a la ubicación incorrecta, este es un procedimiento no destructivo: una edición y vuelve al original,

Para configurar esta configuración es bastante fácil. Configura su instalación como de costumbre y mueve / copia la partición EXT4 a la unidad externa.

Usando ' fdisk' particionar su unidad secundaria seleccionada, cree una partición del mismo tamaño o mayor que su mmcblk0p2 actual (o mmcblk0p5). Guarde la nueva configuración.

Busque el nombre de la partición, en este ejemplo, '/ dev / sda5', sin embargo, esta partición dependerá de su configuración.

Copie la partición en ejecución (nota: no es aconsejable copiar una partición en ejecución, algunos archivos están en estado 'inestable' o abierto, sin embargo, funcionan bien):

dd if=/dev/mmcblk0p2 of=/dev/sda5 bs=10M

ahora, edite la siguiente línea en el archivo /boot/cmdline.txt y modifique la ubicación 'raíz':

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

A esta nueva línea.

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

Tenga en cuenta que la partición de arranque es MS-DOS, por lo que si tiene que arreglarlo, puede montar la SD en otro lugar y editar. Si el arranque falla, el cargador mostrará en su pantalla (HDMI) los puntos de montaje disponibles.

Esta configuración depende del orden de montaje. El número de partición puede cambiar si el dispositivo está montado en otra ranura; puede hacer que esta ubicación sea independiente de la siguiente manera.

Encuentra el dispositivo 'UUID'

blkid /dev/sda5
/dev/sda5: UUID="13d368bf-6dbf-4751-8ba1-88bed06bef77" TYPE="ext4"

o crear uno nuevo

tune2fs -U random /dev/sda5

y obtener el nombre recién asignado

blkid /dev/sda5
/dev/sda5: UUID="25b6aa72-ddc4-485e-8044-900ac24d662b" TYPE="ext4"

luego edite el cmdline.txt modificado previamente cambiando la ubicación raíz a:

root=UUID=25b6aa72-ddc4-485e-8044-900ac24d662b

Después de iniciar la nueva configuración, edite el fstab, elimine la nota anterior / mmcblk0p2: Este es un archivo que estará en el 'nuevo' / dispositivo raíz
Reemplazar / dev / mmcblk0p% (% es la partición de Linux)

nano /etc/fstab
UUID=25b6aa72-ddc4-485e-8044-900ac24d662b ...
fcm
fuente
1

En su lugar, utilicé Windows para el 100% de la creación.

Utilicé (el administrador de particiones MiniTool gratuito) y acabo de transferir el arranque a mi tarjeta SD más pequeña, que puede expandirse automáticamente con el administrador de particiones. Abra el cmdline.txty cambie a root=/dev/sda5.

El mismo administrador de particiones me permitió copiar el ext4 en mi 1TB portátil (para su información, elimine todas las particiones de las unidades primero para que tenga espacio sin particiones antes de transferir). Vala - bota Estoy notando que con el HDD estándar, los tiempos de acceso son un poco escasos a pesar de que tienen velocidades R / W muy rápidas en comparación con la mayoría de las tarjetas SD.

El único problema que tengo ahora es expandir la partición ext4 (root) desde los 32GB originales (de mi tarjeta SD original). Por lo tanto, actualmente solo tengo 32 GB de 1 TB. Hmm Solo soy un novato con el terminal y sus comandos, por lo que particionar en Linux es un poco nervioso, pero esta guía me ayudó MUY bien.

Dave
fuente
Perdón, ¿qué guía?
Bex
Lo siento, este foro
Dave