Página 1 de 1

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

Publicado: 04 Jun 2016, 11:19
por Kike
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

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

Publicado: 19 Jun 2016, 09:34
por ancaso
Funciona perfecto
Gracias

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

Publicado: 21 Sep 2016, 16:49
por amobra
Hola, ¿y si quieramos volcar de la emmc a la sd o usb, como se haria?.
Gracias por el tuto.

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

Publicado: 21 Sep 2016, 17:16
por Kike
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

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

Publicado: 04 Oct 2016, 17:46
por MLopez
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

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

Publicado: 04 Oct 2016, 18:22
por Kike
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!!

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

Publicado: 04 Oct 2016, 21:32
por MLopez
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

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

Publicado: 04 Oct 2016, 22:23
por Kike
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

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

Publicado: 05 Oct 2016, 14:49
por MLopez
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

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

Publicado: 06 Oct 2016, 12:05
por Simpleacc
Se nota el cambio de velocidad... ni punto comparación el tirar de EMMC que con la SD de mercadillo que tengo jaja

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

Publicado: 04 Dic 2016, 21:38
por xxmonti
Acabo de pasar armbian a la EMMC y esto vuela :)
Eso si, se caliente bastante la Opi

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

Publicado: 05 Feb 2017, 16:07
por Giron
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-)

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

Publicado: 16 May 2017, 21:54
por Giron
Hola!!! como tendria que hacer para volcar a la SD una distro de android?? tambien por ssh?? gracias!!!!!!!!

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

Publicado: 13 Mar 2018, 00:40
por citripio
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.

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

Publicado: 15 Mar 2018, 20:52
por Flipper_Cracks
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.

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

Publicado: 27 Dic 2018, 17:52
por davidramirez
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