Orange Pi IoT 2G: Sistema operativo de sólo lectura

Orange Pi IoT 2G : Tutorial sistema operativo de sólo lectura

Trabajar con la imagen en descarga:
1.Descargar imagen S.O lista para trabajar en modo Read Only con la Orange Pi IoT 2G:
 Usuarios:
        root/orangepi
        orangepi/orangepi
  1.1Imagen con Ubuntu 16.04 preparada con el S.O en modo ReadOnly:
  1.2 Copiarla a SD a partir de 2GB (como root):
        dd if=imgsurfero75v2RO.img | pv | dd of=/dev/sdb
  1.3:
     El wifi está preparado para conectar con el hotstop orangepi/orantgepi, de otro modo tardará 5 minutos en arrancar.
     Si queremos nuestro hotspot wifi, como root:
       mount -o remount,rw /
        nano /etc_org/network/interfaces           (modificar conexion wifi)
     


TUTORIAL, Orange pi IoT 2G READ ONLY HOWTO
Recursos libres en la Opi 2G con S.O en read only:



Instalar software:
apt-get install dphys-swapfil

Desactivar swap:
dphys-swapfile swapoff
dphys-swapfile uninstall
update-rc.d dphys-swapfile disable

Instalar UnionFS, que nos va a permitir crear sistemas de ficheros en la RAM (Como en los Live-CD):

apt install unionfs-fuse
Vamos a crear un script que se encargará de montar en un sistema de ficheros unionfs los directorios /etc y /var. Creamos el fichero :
nano /usr/local/bin/mount_unionfs
Con el siguiente código:

 #!/bin/sh
 DIR=$1
 ROOT_MOUNT=$(awk '$2=="/" {print substr($4,1,2)}' < /etc/fstab)
 if [ $ROOT_MOUNT = "rw" ]
 then
   /bin/mount --bind ${DIR}_org ${DIR}
 else
   /bin/mount -t tmpfs ramdisk ${DIR}_rw
   /usr/bin/unionfs-fuse -o cow,allow_other,suid,dev,nonempty ${DIR}_rw=RW:${DIR}_org=RO ${DIR}
 fi
Lo hacemos ejecutable con chmod +x /usr/local/bin/mount_unionfs
Editar /etc/fstab y modificar los puntos de montaje a modo sólo lectura (ro) y añadiendo /etc y /var. Debe quedar más o menos así:
nano /etc/fstab


proc            /proc           proc    defaults          0       0
/dev/mmcblk0p2  /               ext4    ro,noatime        0       1
mount_unionfs   /home           fuse    defaults          0       0
mount_unionfs   /etc            fuse    defaults          0       0
mount_unionfs   /var            fuse    defaults          0       0
none            /tmp            tmpfs   defaults          0       0

Preparamos los directorios:
cp -al /home /home_org 
mkdir /home_rw
cp -al /etc /etc_org
mv /var /var_org
mkdir /etc_rw
mkdir /var /var_rw
reboot

En este punto nuestra Orange Pi debe ser modo lectura, lo comprobamos asi:
mount
Se tiene que ver algo como esto:

/dev/mmcblk0p2 on / type ext4 (ro,noatime)

unionfs-fuse on /var type fuse.unionfs-fuse (rw,relatime,user_id=0,group_id=0,default_permissions,allow_other)
unionfs-fuse on /home type fuse.unionfs-fuse (rw,relatime,user_id=0,group_id=0,default_permissions,allow_other)
unionfs-fuse on /etc type fuse.unionfs-fuse 
....
Captura de pantalla en la Orange Pi IoT 2G, del mandato mount:


Indica que el sistema de ficheros esta en modo lectura

Opcionalmente podemos limpar los directorios de log:
mount -o remount,rw /
for f in $(find . -name \*log); do > $f; done
cd /var_org/log
rm -f *.gz
reboot

Con un reboot ya esta todo listo!
reboot

Si quieres instalar algún paquete ejecuta lo siguiente (Este paso del tutorial original a mí no me ha funcionado):

mount -o remount,rw /
apt update
apt install stress

                                                                                                             

Comentarios

Entradas populares de este blog

Orange Pi IoT 2G Flashear memoria NAND

Usar datos gratis para proyectos IoT FreedomPop y Orange Pi 2G IoT (también Simyo).

Configurar modem GSM en la Orange Pi 2G IoT (Orange España)