Usando la memoria interna EMMC en la Orange Pi, para ARMBIAN

Sección Unicamente para Tutoriales y Guías
Responder
Avatar de Usuario
Kike
Administrador
Administrador
Mensajes: 2311
Registrado: 13 May 2016, 18:53
Ubicación: Islas Baleares - Menorca
Agradecido: 47 veces
Agradecimiento recibido: 175 veces
Contactar:

Hola buenas!!!
En este mini tutorial indicare los pasos a seguir para poder usar la memoria interna (EMMC) que llevan algunos modelos
de Orange PI ( Solo Válido para ARMBIAN )

En nuestra consola SSH pondremos los siguientes comandos.
Accedemos a la carpeta del script:

Código: Seleccionar todo

cd /usr/lib/nand-sata-install
Ejecutamos el script con:

Código: Seleccionar todo

sudo ./nand-sata-install.sh
Nos saldra una ventana, informandonos de que se instalara a nuestra memoria, le damos a aceptar
(Ojo en este proceso se borrarán los datos de fabrica de nuestra EMMC) que viene preinstalado Android.

Imagen

Cuando terminemos, simplemente nos saldra este mensaje, le damos a <Power OFF>

Imagen

Se parará nuestra Orange Pi , vamos a ella y le quitaremos corriente y la Tarjeta SD, para solo poder utilizar la memoria interna.
La conectamos de nuevo a la corriente y listo!! Nuestro S.O corriendo en la memoria interna EMMC :mrgreen:

Imagen
Si lo puedes soñar, lo puedes hacer
ancaso
Pi Newbie
Pi Newbie
Mensajes: 3
Registrado: 18 May 2016, 18:06
Agradecido: 0
Agradecimiento recibido: 0

Funciona perfecto
Gracias
amobra
Pi Newbie
Pi Newbie
Mensajes: 8
Registrado: 28 Jul 2016, 18:47
Agradecido: 0
Agradecimiento recibido: 0

Hola, ¿y si quieramos volcar de la emmc a la sd o usb, como se haria?.
Gracias por el tuto.
Avatar de Usuario
Kike
Administrador
Administrador
Mensajes: 2311
Registrado: 13 May 2016, 18:53
Ubicación: Islas Baleares - Menorca
Agradecido: 47 veces
Agradecimiento recibido: 175 veces
Contactar:

amobra escribió:Hola, ¿y si quieramos volcar de la emmc a la sd o usb, como se haria?.
Gracias por el tuto.
Buena pregunta! directamente CREO que no se puede :inform para ello utilizaremos un script que saqué de la página de Armbian, lo que hara es comprimir la imagen de la EMMC y la pondrá en /var/images/emmc.img.7z , lo que para ello tendremos que hacer lo siguiente:

Creamos el archivo poniendo el siguiente comando en la terminal SSH:

Código: Seleccionar todo

sudo nano /var/restauraremmc.sh
Y agregamos el siguiente contenido en el:

Código: Seleccionar todo

#!/bin/bash
backtitle="Armbian EMMC backup script, http://www.armbian.com | Author: nopnop2002"
title="Backup from EMMC to Image File"
logfile="/tmp/dd.log"
imgfile="/var/images/emmc.img.7z"
sleeptime=10
debugout="/tmp/debug.log"

function DebugEcho() {
  if [ $1 = '-n' ]; then
    echo -n $2 >> ${debugout}
  else
    echo $1 >> ${debugout}
  fi
}

# Get copied size
function GetCopied() {
   pid=`ps -ef | grep  "dd if=" | grep -v grep | awk  '{print $2}'`
#   echo -n "pid="
#   echo $pid
   kill -USR1 $pid
#   tail -1 /tmp/dd.log
#   echo -n "/tmp/dd.log="
   if [ -s ${logfile} ]; then
#     tail -1 /tmp/dd.log | awk '{print $1}'
#     copied=`tail -1 /tmp/dd.log | awk '{print $1}'`
     copied=`tail -1 ${logfile} | awk '{print $1}'`
     copied=`expr ${copied} \* 100`
   else
     copied=0
   fi
#   DebugEcho -n "copied="
#   DebugEcho $copied
}

# Get progress
function GetProgress() {
   DebugEcho -n "copied="
   DebugEcho $copied
   DebugEcho -n "emmcbyte="
   DebugEcho $emmcbyte
   progress=`expr ${copied} / ${emmcbyte}`
   if [ ${progress} -gt 100 ]; then
     progress=100
   fi
}


# Check root user
if [ "$UID" -ne 0 ]; then
  dialog --title "$title" --backtitle "$backtitle" \
  --infobox "\nMust be root" 5 60
  exit 1
fi

# Check p7zip install
p7zip=`dpkg -l | grep p7zip | wc -l`
if [ $p7zip == 0 ]; then
  dialog --title "$title" --backtitle "$backtitle" \
  --infobox "\np7zip not installed" 5 60
  exit 1
fi

# Check EMMC partition
emmc=`cat /proc/partitions | grep -c mmcblk1`
#echo -n "emmc="
#echo $emmc
if [ $emmc == 0 ]; then
  dialog --title "$title" --backtitle "$backtitle" \
  --infobox "\n/dev/mmcblk1 not found" 5 60
  exit 1
fi

# Check image file exist
if [ -f ${imgfile} ]; then
  dialog --title "$title" --backtitle "$backtitle" \
  --yes-label "Ok" --no-label "No" --yesno \
  "\n${imgfile} is already exist. purge ok?" 7 60
  if [ $? -eq 1 ]; then exit 1; fi
  rm ${imgfile}
fi

# Get EMMC size
#cat /proc/partitions | grep mmcblk1 | head -1 | awk '{print $3}'
emmcbyte=`cat /proc/partitions | grep mmcblk1 | head -1 | awk '{print $3}'`
#echo $emmcbyte
emmcbyte=`expr ${emmcbyte} \* 1024`
#echo $emmcbyte
emmcmegabyte=`expr ${emmcbyte} / 1000000`
#echo $emmcmegabyte

# Create working directory
if [ ! -d /var/images ]; then
  mkdir /var/images
fi

# Delete log file
if [ -f ${logfile} ]; then
  rm ${logfile}
fi

# Start dd with background
(dd if=/dev/mmcblk1 bs=10M | 7zr a -bd -t7z -m0=lzma -mx=9 -mfb=64 -md=32m -ms=on -si ${imgfile}) &> /tmp/dd.log &

# Display progress screen
begin_date=`date +%s`
active=1
while [ $active == 1 ]
do
#   ps -ef | grep  "dd if=" | grep -v grep | wc -l
   active=`ps -ef | grep  "dd if=" | grep -v grep | wc -l`
   DebugEcho -n "active="
   DebugEcho $active
   if [ $active == 1 ]; then
     GetCopied
     GetProgress
     DebugEcho -n "progress="
     DebugEcho $progress
     echo $progress | dialog --title "$title" --backtitle "$backtitle" \
     --gauge "\n\nCreating EMMC backup image (${emmcmegabyte} Mb). Please wait!" 10 80
   fi
   sleep ${sleeptime}
done


# Finish
end_date=`date +%s`
total=`expr $end_date - $begin_date`
min=`expr $total / 60`
sec=`expr $total % 60`

dialog --title "$title" --backtitle "$backtitle" \
--msgbox "\nAll done.Elapsed time (${min}Min.${sec}Sec.)" 7 60
Guardas el archivo editado pulsando Control + X y acontinuación Y y ENTER

Ahora le daremos permisos de ejecución con el siguiente comando:

Código: Seleccionar todo

sudo chmod -x /var/restauraremmc.sh
Y solo te quedara ejecutarlo con:

Código: Seleccionar todo

/var/restauraremmc.sh
Ya me contarás si te ha funcionado! :victoria
Si lo puedes soñar, lo puedes hacer
Avatar de Usuario
MLopez
Pi Omega
Pi Omega
Mensajes: 61
Registrado: 04 Oct 2016, 17:35
Agradecido: 0
Agradecimiento recibido: 0

buenas,
soy nuevo en el foro y hoy acabo de comprar la opi pc plus... tiene 8gb emmc. en el proceso pones que se borraran los datos de fabrica con android... entonces ya vienen con SO instalado ???
quiero instalar armbian para montar un servidor de descargas y nas smb en casa con un disco duro. en la pagina oficial de armbian he leido el tuto en ingles y lo ponen de otra forma:http://docs.armbian.com/User-Guide_Getting-Started/

Código: Seleccionar todo

nand-sata-install
aun no me ha llegado por lo que si inicio la opi pc+ que arranca el android ??
salu2
con una orange pi pc plus con hdd de 2tb a modo de servidor casero y portatil...
Avatar de Usuario
Kike
Administrador
Administrador
Mensajes: 2311
Registrado: 13 May 2016, 18:53
Ubicación: Islas Baleares - Menorca
Agradecido: 47 veces
Agradecimiento recibido: 175 veces
Contactar:

Muy buenas! Las Opis llevan un "Android" integrado en la EMMC, si la arrancas sin la SD, te correrá ese Android y viceversa,
Si pones una SD te correrá la imagen de la SD.

"Creo" También es válido ese sistema para instalar en la EMMC, ya que ejecuta el mismo script pero de forma mas rápida :silbido

Armbian creo que será la mejor opción para lo que buscas!!
Si lo puedes soñar, lo puedes hacer
Avatar de Usuario
MLopez
Pi Omega
Pi Omega
Mensajes: 61
Registrado: 04 Oct 2016, 17:35
Agradecido: 0
Agradecimiento recibido: 0

creo que la mejor opcion va a ser instalar en la emmc y por sd si la quisiera usar android con kodi pondria una sd y a trabajar... aunque ya se podria instalar en armbian xD.
muchas gracias
con una orange pi pc plus con hdd de 2tb a modo de servidor casero y portatil...
Avatar de Usuario
Kike
Administrador
Administrador
Mensajes: 2311
Registrado: 13 May 2016, 18:53
Ubicación: Islas Baleares - Menorca
Agradecido: 47 veces
Agradecimiento recibido: 175 veces
Contactar:

MLopez escribió:creo que la mejor opcion va a ser instalar en la emmc y por sd si la quisiera usar android con kodi pondria una sd y a trabajar... aunque ya se podria instalar en armbian xD.
muchas gracias
Yo haria lo mismo jeje, por EMMC rinde mucho mejor que por micro SD , puedes ver este post que comparo el rendimiento:

viewtopic.php?f=44&t=195

:vago :vago
Si lo puedes soñar, lo puedes hacer
Avatar de Usuario
MLopez
Pi Omega
Pi Omega
Mensajes: 61
Registrado: 04 Oct 2016, 17:35
Agradecido: 0
Agradecimiento recibido: 0

si ya vi todos!!! jajaja vi que era más rapido.. me he visto ayer todos los post estan todos geniales y bien explicados igual que este...
sin dudar usaré la emmc con armbian ya que mi idea era justo la compra des esta placa, que he realizado ayer, para instalar el so en ella y desocupar la sd para correr algun otro puntual...
gracias y salu2
con una orange pi pc plus con hdd de 2tb a modo de servidor casero y portatil...
Simpleacc
Pi Newbie
Pi Newbie
Mensajes: 3
Registrado: 17 May 2016, 11:33
Agradecido: 0
Agradecimiento recibido: 0

Se nota el cambio de velocidad... ni punto comparación el tirar de EMMC que con la SD de mercadillo que tengo jaja
Avatar de Usuario
xxmonti
Pi Master
Pi Master
Mensajes: 257
Registrado: 19 May 2016, 10:05
Agradecido: 0
Agradecimiento recibido: 0

Acabo de pasar armbian a la EMMC y esto vuela :)
Eso si, se caliente bastante la Opi
Imagen
Avatar de Usuario
Giron
Pi Newbie
Pi Newbie
Mensajes: 4
Registrado: 05 Feb 2017, 15:59
Agradecido: 0
Agradecimiento recibido: 0

Hola!! Soy nuevo en el foro y he llegado a este SUPER post, y me ha picado la curiosidad, y me he liado a leer, pero no entiendo muy bien del todo... como me conecto por SSH a mi OpiPcPlus?? los comandos hay que ejecutarlos una vez armbian haya arrancado???

Graciassssssssssss



PD: Me edito... ya lo he conseguido :P 8-) 8-) 8-) 8-)
Avatar de Usuario
Giron
Pi Newbie
Pi Newbie
Mensajes: 4
Registrado: 05 Feb 2017, 15:59
Agradecido: 0
Agradecimiento recibido: 0

Hola!!! como tendria que hacer para volcar a la SD una distro de android?? tambien por ssh?? gracias!!!!!!!!
citripio
Pi Alpha
Pi Alpha
Mensajes: 34
Registrado: 21 Feb 2018, 18:19
Agradecido: 0
Agradecimiento recibido: 0

KIKE, tengo un problemon.

Me llego la pi zero 2 plus, esta es capaz de iniciar desde la emmc android, pero si le intento poner armbian, la distro que aparece para esta placa, ya sea en debian o ubuntu, siempre me falla.

Las versiones ubuntu o debian de Oragen pi funcionan desde la sd pero se nota que estan manipuladas y queria algo limpio.

¿Como puedo borrar la emmc si solo puedo entrar a android?

La tarjetas que uso y el cargados con los que he probado, funcionan perfectamente con las RP3 que tengo.
Flipper_Cracks
Pi Newbie
Pi Newbie
Mensajes: 1
Registrado: 20 Abr 2017, 01:58
Agradecido: 0
Agradecimiento recibido: 0

Yo tengo una cubieboard2 con armbian, y después de varios intentos de hacerla funcionar correctamente en la nand, desistí. :destroyer
Se desconfiguraba cada dos por tres y hasta tenia que reinstalar. Decidí dejar la tarjeta de inicio, y no volví a tener problema.

En según que placas, la instalación en la emmc, no es todo lo estable que nos gustaría, así que sospecho que irán por ahí los tiros.

Un saludo.
davidramirez
Pi Newbie
Pi Newbie
Mensajes: 1
Registrado: 03 Nov 2018, 16:31
Agradecido: 0
Agradecimiento recibido: 0

He hecho el tutorial pero he encontrado una errata. En la línea que pone

Código: Seleccionar todo

sudo chmod -x /var/restauraremmc.sh
debería ser

Código: Seleccionar todo

sudo chmod +x /var/restauraremmc.sh
para dar permisos de ejecución al script.
Dicho esto recomiendo que se introduzca una tarjeta SD con armbian y se ejecute desde ahí y luego se pase a un USB con formatio NTFS con los siguientes comandos:
Para montar el USB hacer

Código: Seleccionar todo

mount /dev/sda1 /media
y para copiarlo viéndose la barra de progreso

Código: Seleccionar todo

rsync --progress /var/images/emmc.img.7z /media
Kike escribió: 21 Sep 2016, 17:16
amobra escribió:Hola, ¿y si quieramos volcar de la emmc a la sd o usb, como se haria?.
Gracias por el tuto.
Buena pregunta! directamente CREO que no se puede :inform para ello utilizaremos un script que saqué de la página de Armbian, lo que hara es comprimir la imagen de la EMMC y la pondrá en /var/images/emmc.img.7z , lo que para ello tendremos que hacer lo siguiente:

Creamos el archivo poniendo el siguiente comando en la terminal SSH:

Código: Seleccionar todo

sudo nano /var/restauraremmc.sh
Y agregamos el siguiente contenido en el:

Código: Seleccionar todo

#!/bin/bash
backtitle="Armbian EMMC backup script, http://www.armbian.com | Author: nopnop2002"
title="Backup from EMMC to Image File"
logfile="/tmp/dd.log"
imgfile="/var/images/emmc.img.7z"
sleeptime=10
debugout="/tmp/debug.log"

function DebugEcho() {
  if [ $1 = '-n' ]; then
    echo -n $2 >> ${debugout}
  else
    echo $1 >> ${debugout}
  fi
}

# Get copied size
function GetCopied() {
   pid=`ps -ef | grep  "dd if=" | grep -v grep | awk  '{print $2}'`
#   echo -n "pid="
#   echo $pid
   kill -USR1 $pid
#   tail -1 /tmp/dd.log
#   echo -n "/tmp/dd.log="
   if [ -s ${logfile} ]; then
#     tail -1 /tmp/dd.log | awk '{print $1}'
#     copied=`tail -1 /tmp/dd.log | awk '{print $1}'`
     copied=`tail -1 ${logfile} | awk '{print $1}'`
     copied=`expr ${copied} \* 100`
   else
     copied=0
   fi
#   DebugEcho -n "copied="
#   DebugEcho $copied
}

# Get progress
function GetProgress() {
   DebugEcho -n "copied="
   DebugEcho $copied
   DebugEcho -n "emmcbyte="
   DebugEcho $emmcbyte
   progress=`expr ${copied} / ${emmcbyte}`
   if [ ${progress} -gt 100 ]; then
     progress=100
   fi
}


# Check root user
if [ "$UID" -ne 0 ]; then
  dialog --title "$title" --backtitle "$backtitle" \
  --infobox "\nMust be root" 5 60
  exit 1
fi

# Check p7zip install
p7zip=`dpkg -l | grep p7zip | wc -l`
if [ $p7zip == 0 ]; then
  dialog --title "$title" --backtitle "$backtitle" \
  --infobox "\np7zip not installed" 5 60
  exit 1
fi

# Check EMMC partition
emmc=`cat /proc/partitions | grep -c mmcblk1`
#echo -n "emmc="
#echo $emmc
if [ $emmc == 0 ]; then
  dialog --title "$title" --backtitle "$backtitle" \
  --infobox "\n/dev/mmcblk1 not found" 5 60
  exit 1
fi

# Check image file exist
if [ -f ${imgfile} ]; then
  dialog --title "$title" --backtitle "$backtitle" \
  --yes-label "Ok" --no-label "No" --yesno \
  "\n${imgfile} is already exist. purge ok?" 7 60
  if [ $? -eq 1 ]; then exit 1; fi
  rm ${imgfile}
fi

# Get EMMC size
#cat /proc/partitions | grep mmcblk1 | head -1 | awk '{print $3}'
emmcbyte=`cat /proc/partitions | grep mmcblk1 | head -1 | awk '{print $3}'`
#echo $emmcbyte
emmcbyte=`expr ${emmcbyte} \* 1024`
#echo $emmcbyte
emmcmegabyte=`expr ${emmcbyte} / 1000000`
#echo $emmcmegabyte

# Create working directory
if [ ! -d /var/images ]; then
  mkdir /var/images
fi

# Delete log file
if [ -f ${logfile} ]; then
  rm ${logfile}
fi

# Start dd with background
(dd if=/dev/mmcblk1 bs=10M | 7zr a -bd -t7z -m0=lzma -mx=9 -mfb=64 -md=32m -ms=on -si ${imgfile}) &> /tmp/dd.log &

# Display progress screen
begin_date=`date +%s`
active=1
while [ $active == 1 ]
do
#   ps -ef | grep  "dd if=" | grep -v grep | wc -l
   active=`ps -ef | grep  "dd if=" | grep -v grep | wc -l`
   DebugEcho -n "active="
   DebugEcho $active
   if [ $active == 1 ]; then
     GetCopied
     GetProgress
     DebugEcho -n "progress="
     DebugEcho $progress
     echo $progress | dialog --title "$title" --backtitle "$backtitle" \
     --gauge "\n\nCreating EMMC backup image (${emmcmegabyte} Mb). Please wait!" 10 80
   fi
   sleep ${sleeptime}
done


# Finish
end_date=`date +%s`
total=`expr $end_date - $begin_date`
min=`expr $total / 60`
sec=`expr $total % 60`

dialog --title "$title" --backtitle "$backtitle" \
--msgbox "\nAll done.Elapsed time (${min}Min.${sec}Sec.)" 7 60
Guardas el archivo editado pulsando Control + X y acontinuación Y y ENTER

Ahora le daremos permisos de ejecución con el siguiente comando:

Código: Seleccionar todo

sudo chmod -x /var/restauraremmc.sh
Y solo te quedara ejecutarlo con:

Código: Seleccionar todo

/var/restauraremmc.sh
Ya me contarás si te ha funcionado! :victoria
Responder