-
Instalar OpenWrt oficial en la eMMC del router BPI-R3 usando un cable de consola
Para realizar todo el proceso utilizaremos un ordenador con Ubuntu o con un Debian al que hayamos prostituido haciendo que tenga disponible sudo. Pero antes de empezar, tenemos que comprender algo escencial sobre la BPI-R3:
La MicroSD y la EMMC comparten SoC, por lo que no podremos flashear una imagen hacia la EMMC si hemos iniciado desde la tarjeta MicroSD. El proceso de instalación hacia la EMMC debe realizarse siguiendo estos pasos:
- Flashear la imagen SD en la tarjeta MicroSD.
- Configurar el router para que inicie desde la tarjeta (todos los jumpers arriba).
- Iniciar el router desde la tarjeta MicroSD.
- Conectarse al puerto de consola.
- Flashear la imagen hacia la nand.
- Apagar el router.
- Configurar el router para que inicie desde la nand (todos los jumpers abajo).
- Iniciar el router desde la nand.
- Flashear la imagen hacia la EMMC.
- Apagar el router.
- Configurar el router para que inicie desde la EMMC (jumpers abajo, arriba, abajo, arriba, )
- Iniciar el router desde la EMMC.
Entonces, entendiendo eso, vamos al lío:
DESCARGAR LAS IMÁGENES
Empezaremos descargando el archivo comprimido con la imagen de OpenWrt desde aquí. Siempre intentaremos descargar la imagen para versiones en producción, excepto que necesitemos compatibilidad con algún módulo 4G que sólo nos lo de una imagen que no sea la «production».
Una vez descargado el .zip, descomprimimos su contenido en una carpeta. Se nos habrán creado en esa carpeta varios archivos diferentes. Para un mejor orden visual, dentro de la misma carpeta crearemos dos nuevas carpetas que llamaremos WANviaRJ45 y WANviaSFP1. Meteremos en cada una de ellas los archivos de imágenes correspondientes, según su nombre. Dependiendo si vamos a conectarnos a la WAN mediante el cable RJ45 o un cable SFP, utilizaremos unos archivos u otros.
INSTALAR PAQUETES EN LA DISTRO
Instalar el paquete pv (?), ejecutando:
sudo apt-get -y install pv
Instalar el paquete bpi-tools directamente desde GitHub, con:
curl -sL https://github.com/BPI-SINOVOIP/bpi-tools/raw/master/bpi-tools | sudo -E bash -
QUEMAR LA MICROSD
Para quemar la imagen SD en la tarjeta, primero determinamos el identificador del device de la MicroSD (normalmente será /dev/mmcblk0) y luego quemamos la imagen con:
bpi-copy mtk-bpi-r3-SD-WAN1-RJ45-20220601-single-image.img /dev/mmcblk0
GUARDAR IMÁGENES EXTRA EN UN PENDRIVE
En un pendrive formateado con FAT32 guardamos el archivo bl2* y las otras dos imágenes. Es decir, en la raíz del pendrive nos deberían quedar los siguientes archivos:
bl2_emmc.img mtk-bpi-r3-NAND-WAN1-RJ45-20220619-single-image.bin mtk-bpi-r3-EMMC-WAN1-RJ45-20220619-single-image.img
CONFIGURACIÓN DE JUMPERS PARA INCIAR DESDE LA MICROSD
Configuramos los jumpers para iniciar desde la MicroSD. Para ello el 1, el 2 y el 4 deben estar arriba (el 3 da igual). Para no confundirte, pon todos para arriba y ya está.
PREPARACIÓN PARA EL PRIMER INICIO
Antes de conectar el cable de alimentación hacemos lo siguiente:
- Insertamos la MicroSD en el slot.
- Insertamos el pendrive en el puerto USB 3.
- Conectamos el cable de consola, una punta a los pines de la BPI-R3 y la otra punta a ordenador (el chip del cable no debe ser el PL2303 sino alguno de los siguientes: cp2102, ch340 o FDTI).
NOTA: Es posible que Ubuntu no te reconozca el cable convertidor de USB a consola. Seguramente tendrás que desactivar el soporte braile del sistema para que Ubuntu pueda crear el dispositivo /dev/ttyUSB0 con alguno de esos dispositivos.
PRIMER INICIO
Conectamos el cable de corriente e inmediatamente abrimos una terminal en nuestra distro y nos conectamos a la consola de la BPI-R3 ejecutando:
sudo screen /dev/ttyUSB0 115200
Si el comando screen no está disponible, instalamos el paquete ejecutando como root:
apt-get -y install screen
Una vez en la consola, si iniciamos la imagen por defecto, hay un momento que nos dirá que si presionamos f+Enter entraremos en el modo a prueba de fallo. Lo hacemos y acabamos en la consola de la imagen de OpenWrt.
El usuario de la imagen de Debian es root y su contraseña es bananapi.
comprobamos que el Pendrive esté montado. Si no lo está, lo montamos con:
mount -t vfat /dev/sda1 /mnt
Desde debian nos aseguramos que el paquete mtd-utils esté instalado y borramos la mtd0 ejecutando:
mtd erase /dev/mtd0
También podemos llenar el espacio con ceros de la siguiente manera:
dd if=/dev/zero of=/dev/mtdblock0 status=progress
Ahora, para copiar la imagen de la NAND, ejecutamos:
dd if=/Particiones/Pendrive/mtk-bpi-r3-NAND-WAN1-RJ45-20220601-single-image.bin of=/dev/mtdblock0
Apagamos la R3 quitándole el cable de alimentación y quitamos la MicroSD.
CONFIGURACIÓN DE JUMPERS PARA INCIAR DESDE LA NAND
Configuramos los jumpers para iniciar desde la SPIM-NoR. Para ello, los tres primeros jumpers (de izquierda a derecha) deben estar abajo y el último da igual..
SEGUNDO INICIO
Conectamos el cable de alimentación nuevamente a la R3 y nos conectamos mediante consola. Si todo ha ido bien acabaremos en la consola de OpenWrt. El usuario es root y no hay ningún password establecido para él.
El pendrive se habrá montado en /mnt/sda1. Si no se ha montado lo hacemos con:
mkdir -p /mnt/sda1 mount -t vfat /dev/sda1 /mnt/sda1
Una vez que el pendrive esté montado, ya podemos quemar la imagen a la MMC. Lo hacemos con:
echo 0 > /sys/block/mmcblk0boot0/force_ro dd if=/mnt/sda1/bl2_emmc.img of=/dev/mmcblk0boot0 dd if=/mnt/sda1/mtk-bpi-r3-EMMC-WAN1-RJ45-20220601-single-image.img of=/dev/mmcblk0 mmc bootpart enable 1 1 /dev/mmcblk0
Al finalizar de quemar la imagen en la EMMC seguimos este proceso:
- Quitamos el cable de alimentación.
- Desconectamos el pendrive.
- Configuramos los jumpers para iniciar desde la EMMC (de izquierda a derecha: abajo, arriba, abajo, arriba)
- Conectamos el cable ethernet al puerto WAN.
- Volvemos a ponerle el cable de alimentación
TERCER INICIO
Conectamos el cable de alimentación nuevamente a la R3 y ya podemos iniciar OpenWrt.
EXTRA (UNIDAD NVMe)
Podemos instalar una unidad NVMe para usarla como la nueva partición Overlay, de forma que OpenWrt guarde ahí los logs, archivos que descarguemos mediante torrents o cualquier otra cosa. Para ello apagamos la BPI-R3, le colocamos la unidad NVMe y la volvemos a iniciar.
Una vez iniciado OpenWrt, nos conectamos mediante SSH y crearemos en la unidad NVMe una única partición de tipo MBR, ejecutando:
fdisk /dev/nvme0n1
Una vez que se nos abra el programa fdisk presionaremos o, n, p, 1, Enter, Enter y w.
- o – crea una nueva tabla MBR.
- n – crea una partición nueva.
- p – …de tipo primaria y…
- 1 – …indica que el numero de la partición será el 1.
- Primer enter – indica que use el primer sector disponible y…
- Segundo enter – indica que llegue hasta el último sector disponible.
- w – escribe los cambios en el disco y vuelve a la shell.
A continuación, formatearemos unidad NVMe como ext4 con el siguiente comando:
mkfs.ext4 /dev/nvme0n1p1
Para continuar, obtenemos el UUID de la partición que acabamos de crear, ejecutando:
lsblk -f -m | grep nvme0n1p1
Y, finalmente, reemplazaremos en el archivo /etc/config/fstab el UUID del punto de montaje /overlay, por el de la partición del NVMe. Por supuesto, en enabled, hay que cambiar el 0 por el 1.
En este punto podemos, o reiniciar OpenWrt, con:
reboot
o, como cada vez después de tocar el archivo /etc/config/fstab, ejecutar:
block umount block mount
A partir de cualquiera de ambos comandos ya podremos utilizar el almacenamiento de la partición del NVMe para todas nuestras locuras con OpenWrt.
Más info en la wiki oficial.
Search
Archives
- noviembre 2024
- octubre 2024
- septiembre 2024
- junio 2024
- mayo 2024
- abril 2024
- marzo 2024
- octubre 2023
- agosto 2023
- junio 2023
- mayo 2023
- abril 2023
- marzo 2023
- febrero 2023
- enero 2023
- diciembre 2022
- noviembre 2022
- octubre 2022
- septiembre 2022
- agosto 2022
- julio 2022
- junio 2022
- mayo 2022
- abril 2022
- febrero 2022
- enero 2022
- diciembre 2021
- noviembre 2021
- octubre 2021
- septiembre 2021
- julio 2021
- junio 2021
- mayo 2021
- abril 2021
- marzo 2021
- febrero 2021
- enero 2021
- diciembre 2020
- noviembre 2020
- octubre 2020
- septiembre 2020
- junio 2020
- mayo 2020
- abril 2020
- marzo 2020
- noviembre 2019
- septiembre 2019
- agosto 2019
- julio 2019
- junio 2019
- mayo 2019
- enero 2019
- noviembre 2018
- septiembre 2018
- agosto 2018
- junio 2018
- mayo 2018
- marzo 2018
- febrero 2018
- diciembre 2017
- octubre 2017
- septiembre 2017
- agosto 2017
- julio 2017
- junio 2017
- mayo 2017
- abril 2017
- marzo 2017
- febrero 2017
- diciembre 2016
- noviembre 2016
- octubre 2016
- septiembre 2016
- agosto 2016
- julio 2016
- mayo 2016
- abril 2016
- marzo 2016
- febrero 2016
- noviembre 2015
- octubre 2015
- agosto 2015
- julio 2015
- junio 2015
- mayo 2015
- abril 2015
- marzo 2015
- febrero 2015
- enero 2015
- diciembre 2014
- noviembre 2014
- octubre 2014
- septiembre 2014
- agosto 2014
- julio 2014
- junio 2014
- mayo 2014
- abril 2014
- marzo 2014
- febrero 2014
- enero 2014
- diciembre 2013
- noviembre 2013
- septiembre 2013
- julio 2013
- mayo 2013
- marzo 2013
- febrero 2013
- enero 2013
- diciembre 2012
- noviembre 2012
- agosto 2012
- julio 2012
- junio 2012
- mayo 2012
- abril 2012
- marzo 2012
- enero 2012
- noviembre 2011
- julio 2011
- junio 2011
- mayo 2011
- abril 2011
- marzo 2011
- enero 2011
- diciembre 2010
- septiembre 2010
- agosto 2010
- julio 2010
- febrero 2010
- enero 2010