{"id":19595,"date":"2021-04-14T19:16:48","date_gmt":"2021-04-14T19:16:48","guid":{"rendered":"https:\/\/www.engeniustech.com\/?p=19595"},"modified":"2026-02-23T14:37:17","modified_gmt":"2026-02-23T22:37:17","slug":"dual-image-on-engenius-designed-arm-based-product-families","status":"publish","type":"post","link":"https:\/\/www.engeniustech.com\/span\/dual-image-on-engenius-designed-arm-based-product-families\/","title":{"rendered":"Imagen dual en familias de productos basadas en ARM dise\u00f1adas por EnGenius"},"content":{"rendered":"<div style=\"padding:0 0 0 15pt;\">\n<span style=\"color: #777777; font-size: 1.3em; font-family: manrope; letter-spacing: -1px; font-weight: 700; line-height: 1.5em\">Chin-Ting Chu<\/span><span style=\"color: #777777; font-size: 1.7em; font-weight: 100; line-height: 1.5em\">&nbsp;&nbsp;|&nbsp;&nbsp;<\/span><span style=\"color: #8C43FD; font-size: 1.3em; font-family: manrope; letter-spacing: -1px; font-weight: 700; line-height: 1.5em\">Ingeniero de software<\/span>\n<\/div>\n<p><\/br><\/p>\n<hr>\n<\/hr>\n<p><\/br><br \/>\n<br \/><\/br><\/p>\n<div style=\"padding:0 0 0 15pt; margin:-25pt 0 0 0;\">\n<span style=\"color: #999999; font-size: 1.0em; font-weight: 700; line-height: 1.5em\">RESUMEN: este documento contiene informaci\u00f3n sobre los cambios necesarios para admitir im\u00e1genes duales en el nivel del cargador de arranque. La imagen dual es una idea viable para proporcionar firmware alternativo entre dos particiones de firmware. Cuando el firmware actual est\u00e1 roto, restablecemos la entrada del kernel y lo iniciamos. Lo m\u00e1s importante es que realizamos la actualizaci\u00f3n del firmware en la partici\u00f3n inactiva. Si no hay nada de malo en ello, el proceso de actualizaci\u00f3n intercambiar\u00e1 la entrada del kernel. Por lo tanto, podemos mantener un firmware de arranque en nuestro dispositivo todo el tiempo.<\/span><br \/>\n<br \/><\/br><br \/>\n<span style=\"color: #00aeef; font-size: 1.0em; font-weight: 700; line-height: 1.5em\">I. Introducci\u00f3n<\/span><\/p>\n<p><span style=\"color: #444444; font-size: 1.0em; font-weight: 400; line-height: 1.5em\">El cargador de arranque realiza una inicializaci\u00f3n de hardware de bajo nivel, como procesador, memoria, ethernet, flash, PCI, UART, etc. Despu\u00e9s de establecer las configuraciones del sistema, el cargador de arranque carga el kernel y pasa la informaci\u00f3n de inicio, incluidas las velocidades del puerto serie, las velocidades de reloj, la tabla de particiones y otros datos de configuraci\u00f3n del hardware.<\/span><\/p>\n<p><span style=\"color: #444444; font-size: 1.0em; font-weight: 400; line-height: 1.5em\">Cuando se carga el kernel, configura el hardware, asigna la memoria, carga los controladores, inserta los m\u00f3dulos, monta el sistema de archivos ra\u00edz y ejecuta los procesos de preinicio. El paso final es generar el proceso de inicio, el primer proceso de espacio de usuario. Los tres tipos de OpenWRT basado en ARM son solo NOR, solo NAND y NOR m\u00e1s NAND.<\/span><br \/>\n<br \/><\/br><br \/>\n<img decoding=\"async\" src=\"https:\/\/www.engeniustech.com\/wp-content\/uploads\/2021\/04\/techpaper-2-1.jpg\" width=\"100%\" class=\"center\"><\/p>\n<div class=\"panel-caption center\"><span style=\"color: #777777; font-size: .7em; font-weight: 400; text-align: center; line-height: .5em\">Figura 1: Solo NOR, solo NAND, NOR y NAND<\/span><\/div>\n<p><\/br><br \/>\n<br \/><\/br><br \/>\n<span style=\"color: #00aeef; font-size: 1.0em; font-weight: 700; line-height: 1.5em\">II - Procedimiento<\/span><\/p>\n<p><span style=\"color: #444444; font-size: 1.0em; font-weight: 700; line-height: 1.5em\">I. NOR solo flash<\/span><br \/>\n<br \/><\/br><br \/>\n<img decoding=\"async\" src=\"https:\/\/www.engeniustech.com\/wp-content\/uploads\/2021\/04\/techpaper-2-2.jpg\" width=\"100%\" class=\"center\"><\/p>\n<div class=\"panel-caption center\"><span style=\"color: #777777; font-size: .7em; font-weight: 400; text-align: center; line-height: .5em\">Figura 2: Utilice el primer firmware, solo NOR<\/span><\/div>\n<p><\/br><br \/>\n<br \/><\/br><br \/>\n<span style=\"color: #444444; font-size: 1.0em; font-weight: 400; line-height: 1.5em\">1. Cargador de arranque: cuando se enciende, el cargador de arranque verificar\u00e1 la marca de imagen dual, &quot;active_fw&quot;<\/span><\/p>\n<p><span style=\"color: #444444; font-size: 1.0em; font-weight: 400; line-height: 1.5em; margin-left: 27px;\">1.1. Agregue particiones adicionales a mtdparts: kernel_1 y rootfs_1<\/span><br \/>\n<span style=\"color: #444444; font-size: 1.0em; font-weight: 400; line-height: 1.5em; margin-left: 27px;\">1.2. Cargue el kernel de destino en la memoria<\/span><br \/>\n<span style=\"color: #444444; font-size: 1.0em; font-weight: 400; line-height: 1.5em; margin-left: 27px;\">1.3. Asigne una partici\u00f3n ra\u00edz activa del sistema de archivos configurando los par\u00e1metros de arranque.<\/span><br \/>\n<span style=\"color: #444444; font-size: 1.0em; font-weight: 400; line-height: 1.5em; margin-left: 27px;\">1.3.1. Si &quot;active_fw = 0&quot; =&gt; root = rootfs<\/span><br \/>\n<span style=\"color: #444444; font-size: 1.0em; font-weight: 400; line-height: 1.5em; margin-left: 27px;\">1.3.2. Si &quot;active_fw = 1&quot; =&gt; root = rootfs_1<\/span><br \/>\n<span style=\"color: #444444; font-size: 1.0em; font-weight: 400; line-height: 1.5em; margin-left: 27px;\">1.4. Si el kernel de arranque falla, intercambie la partici\u00f3n de firmware activa<\/span><\/p>\n<p><span style=\"color: #444444; font-size: 1.0em; font-weight: 400; line-height: 1.5em\">2. Kernel Space: analiza los bootargs asignados por el gestor de arranque y monta el sistema de archivos ra\u00edz.<\/span><\/p>\n<p><span style=\"color: #444444; font-size: 1.0em; font-weight: 400; line-height: 1.5em\">3. Espacio de usuario: cuando se actualiza el sistema<\/span><\/p>\n<p><span style=\"color: #444444; font-size: 1.0em; font-weight: 400; line-height: 1.5em; margin-left: 27px;\">3.1. Si &quot;active_fw = 1&quot; =&gt;<\/span><br \/>\n<span style=\"color: #444444; font-size: 1.0em; font-weight: 400; line-height: 1.5em; margin-left: 27px;\">3.1.1. flash kernel y rootfs<\/span><br \/>\n<span style=\"color: #444444; font-size: 1.0em; font-weight: 400; line-height: 1.5em; margin-left: 27px;\">3.1.2. establecer active_fw = 0<\/span><br \/>\n<span style=\"color: #444444; font-size: 1.0em; font-weight: 400; line-height: 1.5em; margin-left: 27px;\">3.1.3. reiniciar<\/span><br \/>\n<span style=\"color: #444444; font-size: 1.0em; font-weight: 400; line-height: 1.5em; margin-left: 27px;\">3.2. Si &quot;active_fw = 0&quot; =&gt;<\/span><br \/>\n<span style=\"color: #444444; font-size: 1.0em; font-weight: 400; line-height: 1.5em; margin-left: 27px;\">3.2.1. flash kernel_1 y rootfs_1<\/span><br \/>\n<span style=\"color: #444444; font-size: 1.0em; font-weight: 400; line-height: 1.5em; margin-left: 27px;\">3.2.2. establecer active_fw = 0<\/span><br \/>\n<span style=\"color: #444444; font-size: 1.0em; font-weight: 400; line-height: 1.5em; margin-left: 27px;\">3.2.3. reiniciar<\/span><\/p>\n<p><span style=\"color: #444444; font-size: 1.0em; font-weight: 400; line-height: 1.5em\">II .. Solo flash NAND<br \/>El procedimiento es el mismo que el de &#039;Solo flash NOR&#039;.<\/span><\/p>\n<p><span style=\"color: #444444; font-size: 1.0em; font-weight: 400; line-height: 1.5em\">III .. NOR + NAND<\/span><br \/>\n<br \/><\/br><br \/>\n<img decoding=\"async\" src=\"https:\/\/www.engeniustech.com\/wp-content\/uploads\/2021\/04\/techpaper-2-3.jpg\" width=\"100%\" class=\"center\"><\/p>\n<div class=\"panel-caption center\"><span style=\"color: #777777; font-size: .7em; font-weight: 400; text-align: center; line-height: .5em\">Figura 3: Utilice el segundo firmware - NOR + NAND<\/span><\/div>\n<p><\/br><br \/>\n<br \/><\/br><br \/>\n<span style=\"color: #444444; font-size: 1.0em; font-weight: 400; line-height: 1.5em\">1. Cargador de arranque: cuando se enciende, el cargador de arranque verificar\u00e1 la marca de imagen dual, &quot;active_fw&quot;<\/span><\/p>\n<p><span style=\"color: #444444; font-size: 1.0em; font-weight: 400; line-height: 1.5em; margin-left: 27px;\">1.1. Agregue dos particiones NAND llamadas rootfs y fs2<\/span><br \/>\n<span style=\"color: #444444; font-size: 1.0em; font-weight: 400; line-height: 1.5em; margin-left: 27px;\">1.1.1 Si &quot;active_fw = 0&quot; =&gt;<\/span><\/p>\n<p><span style=\"color: #444444; font-size: 1.0em; font-weight: 400; line-height: 1.5em\">La mitad superior de NAND se llama rootfs y la otra se llama fs2.<\/span><\/p>\n<p><span style=\"color: #444444; font-size: 1.0em; font-weight: 400; line-height: 1.5em; margin-left: 27px;\">1.1.2 Si &quot;active_fw = 1&quot; =&gt;<\/span><\/p>\n<p><span style=\"color: #444444; font-size: 1.0em; font-weight: 400; line-height: 1.5em\">La mitad superior de NAND se llama fs2 y la otra se llama rootfs.<\/span><\/p>\n<p><span style=\"color: #444444; font-size: 1.0em; font-weight: 400; line-height: 1.5em; margin-left: 27px;\">1.2. Cargue el kernel de destino en la memoria<\/span><br \/>\n<span style=\"color: #444444; font-size: 1.0em; font-weight: 400; line-height: 1.5em; margin-left: 27px;\">1.3. Si el kernel de arranque falla, intercambie la partici\u00f3n de firmware activa<\/span><\/p>\n<p><span style=\"color: #444444; font-size: 1.0em; font-weight: 400; line-height: 1.5em\">2. Espacio del Kernel: Bajo la estructura NOR + NAND, siempre usamos la partici\u00f3n llamada rootfs como el sistema de archivos ra\u00edz.<br \/>\n<\/span><\/p>\n<p><span style=\"color: #444444; font-size: 1.0em; font-weight: 400; line-height: 1.5em\">3. Espacio de usuario: cuando se actualiza el sistema<br \/>El procedimiento es el mismo que el de &#039;Solo flash NOR&#039;.<\/span><br \/>\n<br \/><\/br><\/p>\n<p><span style=\"color: #00aeef; font-size: 1.0em; font-weight: 700; line-height: 1.5em\">lll - Implementar<\/span><\/p>\n<p><span style=\"color: #444444; font-size: 1.0em; font-weight: 700; line-height: 1.5em\">Particiones MTD: dos partes iguales para dos firmes<\/span><\/p>\n<p><span style=\"color: #444444; font-size: 1.0em; font-weight: 400; line-height: 1.5em\">II. Bandera de imagen dual: establezca una partici\u00f3n de firmware activa<\/span><\/p>\n<p><span style=\"color: #444444; font-size: 1.0em; font-weight: 400; line-height: 1.5em\">III. Actualizaci\u00f3n del sistema: actualice siempre la partici\u00f3n de firmware inactiva<br \/>\n<\/span><\/p>\n<p><span style=\"color: #444444; font-size: 1.0em; font-weight: 400; line-height: 1.5em\">IV. Recuperaci\u00f3n autom\u00e1tica: si el uboot encuentra que el arranque falla desde esta partici\u00f3n de firmware, active la otra partici\u00f3n de firmware.<\/span><br \/>\n<br \/><\/br><\/p>\n<p><span style=\"color: #444444; font-size: 1.0em; font-weight: 700; line-height: 1.5em\">A. NOR solo flash<\/span><\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.engeniustech.com\/wp-content\/uploads\/2021\/04\/techpaper-2-4.jpg\" width=\"100%\" class=\"center\"><\/p>\n<div class=\"panel-caption center\"><span style=\"color: #777777; font-size: .7em; font-weight: 400; text-align: center; line-height: .5em\">Figura 4: Tabla de particiones MTD: solo NOR<\/span><\/div>\n<p><\/br><br \/>\n<br \/><\/br><br \/>\n<span style=\"color: #444444; font-size: 1.0em; font-weight: 400; line-height: 1.5em\">1. Cree dos particiones de firmware<\/span><\/p>\n<p><span style=\"color: #444444; font-size: 1.0em; font-weight: 400; line-height: 1.5em; margin-left: 27px;\">1.1. modificar nor-partition.xml para decirle al gestor de arranque la informaci\u00f3n de las nuevas particiones<\/span><br \/>\n<span style=\"color: #444444; font-size: 1.0em; font-weight: 400; line-height: 1.5em; margin-left: 27px;\">1.2. modificar sys_flash_map.mk para indicarle a la tabla de particiones mtd del kernel<\/span><\/p>\n<p><span style=\"color: #444444; font-size: 1.0em; font-weight: 400; line-height: 1.5em\">2. Bandera de imagen dual<\/span><\/p>\n<p><span style=\"color: #444444; font-size: 1.0em; font-weight: 400; line-height: 1.5em; margin-left: 27px;\">2.1. Modifique board.c para agregar &quot;active_fw&quot; al entorno predeterminado de uboot<\/span><br \/>\n<span style=\"color: #444444; font-size: 1.0em; font-weight: 400; line-height: 1.5em; margin-left: 27px;\">2.2. Modifique cmd_bootipq.c para intercambiar los argumentos de arranque (root = rootfs o root = rootfs_1).<\/span><\/p>\n<p><span style=\"color: #444444; font-size: 1.0em; font-weight: 400; line-height: 1.5em\">3. Actualizaci\u00f3n del sistema<\/span><\/p>\n<p><span style=\"color: #444444; font-size: 1.0em; font-weight: 400; line-height: 1.5em; margin-left: 27px;\">3.1. marque &quot;active_fw&quot; y actualice el firmware de destino partici\u00f3n@ipq806x.sh<\/span><br \/>\n<span style=\"color: #444444; font-size: 1.0em; font-weight: 400; line-height: 1.5em; margin-left: 27px;\">3.1.1. &quot;Active_fw = 1&quot; =&gt; kernel flash y rootfs<\/span><br \/>\n<span style=\"color: #444444; font-size: 1.0em; font-weight: 400; line-height: 1.5em; margin-left: 27px;\">3.1.2. &quot;Active_fw = 0&quot; =&gt; flash kernel_1 y rootfs_1<\/span><\/p>\n<p><span style=\"color: #444444; font-size: 1.0em; font-weight: 400; line-height: 1.5em\">4. Recuperaci\u00f3n autom\u00e1tica<\/span><\/p>\n<p><span style=\"color: #444444; font-size: 1.0em; font-weight: 400; line-height: 1.5em; margin-left: 27px;\">4.1. Modifique board.c para asegurarse de que uboot capture el valor de retorno de la funci\u00f3n de arranque<\/span><\/p>\n<p><span style=\"color: #444444; font-size: 1.0em; font-weight: 700; line-height: 1.5em\">B. Solo flash NAND<\/span><\/p>\n<p><span style=\"color: #444444; font-size: 1.0em; font-weight: 400; line-height: 1.5em\">El procedimiento es el mismo que el de &#039;Solo flash NOR&#039;.<\/span><br \/>\n<br \/><\/br><br \/>\n<span style=\"color: #444444; font-size: 1.0em; font-weight: 700; line-height: 1.5em\">C. NOR + NAND<\/span><\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.engeniustech.com\/wp-content\/uploads\/2021\/04\/techpaper-2-5.jpg\" width=\"100%\" class=\"center\"><\/p>\n<div class=\"panel-caption center\"><span style=\"color: #777777; font-size: .7em; font-weight: 400; text-align: center; line-height: .5em\">Figura 5: Tabla de particiones MTD cuando active_fw = 0 - NOR + NAND<\/span><\/div>\n<p><\/br><br \/>\n<br \/><\/br><br \/>\n<span style=\"color: #444444; font-size: 1.0em; font-weight: 400; line-height: 1.5em\">1. Cree dos particiones de firmware<\/span><\/p>\n<p><span style=\"color: #444444; font-size: 1.0em; font-weight: 400; line-height: 1.5em; margin-left: 27px;\">1.1. Modifique bootipq.c para agregar particiones llamadas fs2<\/span><br \/>\n<span style=\"color: #444444; font-size: 1.0em; font-weight: 400; line-height: 1.5em; margin-left: 27px;\">1.2. Modifique bootm.c para pasar la informaci\u00f3n de la partici\u00f3n atags. al kernel<\/span><\/p>\n<p><span style=\"color: #444444; font-size: 1.0em; font-weight: 400; line-height: 1.5em\">2. Bandera de imagen dual<\/span><\/p>\n<p><span style=\"color: #444444; font-size: 1.0em; font-weight: 400; line-height: 1.5em; margin-left: 27px;\">2.1. agregue &quot;active_fw&quot; al entorno predeterminado de uboot<\/span><\/p>\n<p><span style=\"color: #444444; font-size: 1.0em; font-weight: 400; line-height: 1.5em\">3. Actualizaci\u00f3n del sistema<\/span><\/p>\n<p><span style=\"color: #444444; font-size: 1.0em; font-weight: 400; line-height: 1.5em; margin-left: 27px;\">3.1. marque &quot;active_fw&quot; y actualice el firmware de destino partici\u00f3n@ipq806x.sh<\/span><br \/>\n<span style=\"color: #444444; font-size: 1.0em; font-weight: 400; line-height: 1.5em; margin-left: 27px;\">3.1.1. Flash de la partici\u00f3n fs2<\/span><\/p>\n<p><span style=\"color: #444444; font-size: 1.0em; font-weight: 400; line-height: 1.5em\">4. Recuperaci\u00f3n autom\u00e1tica<\/span><\/p>\n<p><span style=\"color: #444444; font-size: 1.0em; font-weight: 400; line-height: 1.5em; margin-left: 27px;\">4.1. Modifique board.c para asegurarse de que uboot capture el valor de retorno de la funci\u00f3n de arranque<\/span><\/p>\n<p><\/br><br \/>\n<span style=\"color: #8C43FD; font-size: 1.0em; font-weight: 700; line-height: 1.5em\"><a href=\"https:\/\/www.engeniustech.com\/technical-papers\/ARM-based-product.pdf\">Descargar PDF&gt;<\/a><\/span><br \/>\n<br \/><\/br><\/p>\n<hr>\n<\/hr>\n<p><\/br><br \/>\n<span style=\"color: #00aeef; font-size: 1.3em; font-family: manrope; letter-spacing: -1px; font-weight: 700; line-height: 1.5em\"><a href=\"https:\/\/www.engeniustech.com\/span\/engenius-technical-papers.html\/\">Ver todos los art\u00edculos t\u00e9cnicos&gt;<\/a><\/span><br \/>\n<br \/><\/br><\/p>\n<\/div>","protected":false},"excerpt":{"rendered":"<p><span style=\"color: #1BDFEB; font-weight: 700;\">Documento t\u00e9cnico <\/span>- La imagen dual es una idea viable para proporcionar firmware alternativo entre dos particiones de firmware. Cuando el firmware actual est\u00e1 roto, restablecemos la entrada del kernel y lo iniciamos.<\/p>","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"content-type":"","inline_featured_image":false,"footnotes":""},"categories":[],"tags":[],"class_list":["post-19595","post","type-post","status-publish","format-standard","hentry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v28.2 (Yoast SEO v28.2) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Technical Paper: ARM-based Product Families | EnGenius<\/title>\n<meta name=\"description\" content=\"Dual Image on EnGenius Designed ARM-based Product Families: The changes required to support dual images in the bootloader level.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.engeniustech.com\/span\/dual-image-on-engenius-designed-arm-based-product-families\/\" \/>\n<meta property=\"og:locale\" content=\"es_MX\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Dual Image on EnGenius Designed ARM-based Product Families\" \/>\n<meta property=\"og:description\" content=\"Dual Image on EnGenius Designed ARM-based Product Families: The changes required to support dual images in the bootloader level.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.engeniustech.com\/span\/dual-image-on-engenius-designed-arm-based-product-families\/\" \/>\n<meta property=\"og:site_name\" content=\"engeniustech\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/EnGeniusTech\" \/>\n<meta property=\"article:published_time\" content=\"2021-04-14T19:16:48+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-02-23T22:37:17+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.engeniustech.com\/wp-content\/uploads\/2021\/04\/techpaper-2-1.jpg\" \/>\n<meta name=\"author\" content=\"Allan Quartucci\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@EnGeniusTech\" \/>\n<meta name=\"twitter:site\" content=\"@EnGeniusTech\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Allan Quartucci\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"TechArticle\",\"@id\":\"https:\\\/\\\/www.engeniustech.com\\\/dual-image-on-engenius-designed-arm-based-product-families\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.engeniustech.com\\\/dual-image-on-engenius-designed-arm-based-product-families\\\/\"},\"author\":{\"name\":\"Allan Quartucci\",\"@id\":\"https:\\\/\\\/www.engeniustech.com\\\/#\\\/schema\\\/person\\\/b56f80659a0b9133459352834db786f1\"},\"headline\":\"Dual Image on EnGenius Designed ARM-based Product Families\",\"datePublished\":\"2021-04-14T19:16:48+00:00\",\"dateModified\":\"2026-02-23T22:37:17+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.engeniustech.com\\\/dual-image-on-engenius-designed-arm-based-product-families\\\/\"},\"wordCount\":715,\"publisher\":{\"@id\":\"https:\\\/\\\/www.engeniustech.com\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.engeniustech.com\\\/dual-image-on-engenius-designed-arm-based-product-families\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.engeniustech.com\\\/wp-content\\\/uploads\\\/2021\\\/04\\\/techpaper-2-1.jpg\",\"inLanguage\":\"es\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.engeniustech.com\\\/dual-image-on-engenius-designed-arm-based-product-families\\\/\",\"url\":\"https:\\\/\\\/www.engeniustech.com\\\/dual-image-on-engenius-designed-arm-based-product-families\\\/\",\"name\":\"Technical Paper: ARM-based Product Families | EnGenius\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.engeniustech.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.engeniustech.com\\\/dual-image-on-engenius-designed-arm-based-product-families\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.engeniustech.com\\\/dual-image-on-engenius-designed-arm-based-product-families\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.engeniustech.com\\\/wp-content\\\/uploads\\\/2021\\\/04\\\/techpaper-2-1.jpg\",\"datePublished\":\"2021-04-14T19:16:48+00:00\",\"dateModified\":\"2026-02-23T22:37:17+00:00\",\"description\":\"Dual Image on EnGenius Designed ARM-based Product Families: The changes required to support dual images in the bootloader level.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.engeniustech.com\\\/dual-image-on-engenius-designed-arm-based-product-families\\\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.engeniustech.com\\\/dual-image-on-engenius-designed-arm-based-product-families\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/www.engeniustech.com\\\/dual-image-on-engenius-designed-arm-based-product-families\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.engeniustech.com\\\/wp-content\\\/uploads\\\/2021\\\/04\\\/techpaper-2-1.jpg\",\"contentUrl\":\"https:\\\/\\\/www.engeniustech.com\\\/wp-content\\\/uploads\\\/2021\\\/04\\\/techpaper-2-1.jpg\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.engeniustech.com\\\/dual-image-on-engenius-designed-arm-based-product-families\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.engeniustech.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Dual Image on EnGenius Designed ARM-based Product Families\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.engeniustech.com\\\/#website\",\"url\":\"https:\\\/\\\/www.engeniustech.com\\\/\",\"name\":\"EnGenius Technologies\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.engeniustech.com\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.engeniustech.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.engeniustech.com\\\/#organization\",\"name\":\"EnGenius Technologies\",\"url\":\"https:\\\/\\\/www.engeniustech.com\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/www.engeniustech.com\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.engeniustech.com\\\/wp-content\\\/uploads\\\/2024\\\/03\\\/engenius-black-1.jpg\",\"contentUrl\":\"https:\\\/\\\/www.engeniustech.com\\\/wp-content\\\/uploads\\\/2024\\\/03\\\/engenius-black-1.jpg\",\"width\":1500,\"height\":500,\"caption\":\"EnGenius Technologies\"},\"image\":{\"@id\":\"https:\\\/\\\/www.engeniustech.com\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/EnGeniusTech\",\"https:\\\/\\\/x.com\\\/EnGeniusTech\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/engenius-technologies\\\/mycompany\\\/\"],\"description\":\"Cloud | SD-WAN Gateways | PDUs | Switches | WiFi\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.engeniustech.com\\\/#\\\/schema\\\/person\\\/b56f80659a0b9133459352834db786f1\",\"name\":\"Allan Quartucci\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Documento t\u00e9cnico: Familias de productos basadas en ARM | EnGenius","description":"Imagen dual en familias de productos basadas en ARM dise\u00f1adas por EnGenius: los cambios necesarios para soportar im\u00e1genes duales en el nivel del cargador de arranque.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.engeniustech.com\/span\/dual-image-on-engenius-designed-arm-based-product-families\/","og_locale":"es_MX","og_type":"article","og_title":"Dual Image on EnGenius Designed ARM-based Product Families","og_description":"Dual Image on EnGenius Designed ARM-based Product Families: The changes required to support dual images in the bootloader level.","og_url":"https:\/\/www.engeniustech.com\/span\/dual-image-on-engenius-designed-arm-based-product-families\/","og_site_name":"engeniustech","article_publisher":"https:\/\/www.facebook.com\/EnGeniusTech","article_published_time":"2021-04-14T19:16:48+00:00","article_modified_time":"2026-02-23T22:37:17+00:00","og_image":[{"url":"https:\/\/www.engeniustech.com\/wp-content\/uploads\/2021\/04\/techpaper-2-1.jpg","type":"","width":"","height":""}],"author":"Allan Quartucci","twitter_card":"summary_large_image","twitter_creator":"@EnGeniusTech","twitter_site":"@EnGeniusTech","twitter_misc":{"Escrito por":"Allan Quartucci","Tiempo de lectura":"5 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"TechArticle","@id":"https:\/\/www.engeniustech.com\/dual-image-on-engenius-designed-arm-based-product-families\/#article","isPartOf":{"@id":"https:\/\/www.engeniustech.com\/dual-image-on-engenius-designed-arm-based-product-families\/"},"author":{"name":"Allan Quartucci","@id":"https:\/\/www.engeniustech.com\/#\/schema\/person\/b56f80659a0b9133459352834db786f1"},"headline":"Dual Image on EnGenius Designed ARM-based Product Families","datePublished":"2021-04-14T19:16:48+00:00","dateModified":"2026-02-23T22:37:17+00:00","mainEntityOfPage":{"@id":"https:\/\/www.engeniustech.com\/dual-image-on-engenius-designed-arm-based-product-families\/"},"wordCount":715,"publisher":{"@id":"https:\/\/www.engeniustech.com\/#organization"},"image":{"@id":"https:\/\/www.engeniustech.com\/dual-image-on-engenius-designed-arm-based-product-families\/#primaryimage"},"thumbnailUrl":"https:\/\/www.engeniustech.com\/wp-content\/uploads\/2021\/04\/techpaper-2-1.jpg","inLanguage":"es"},{"@type":"WebPage","@id":"https:\/\/www.engeniustech.com\/dual-image-on-engenius-designed-arm-based-product-families\/","url":"https:\/\/www.engeniustech.com\/dual-image-on-engenius-designed-arm-based-product-families\/","name":"Documento t\u00e9cnico: Familias de productos basadas en ARM | EnGenius","isPartOf":{"@id":"https:\/\/www.engeniustech.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.engeniustech.com\/dual-image-on-engenius-designed-arm-based-product-families\/#primaryimage"},"image":{"@id":"https:\/\/www.engeniustech.com\/dual-image-on-engenius-designed-arm-based-product-families\/#primaryimage"},"thumbnailUrl":"https:\/\/www.engeniustech.com\/wp-content\/uploads\/2021\/04\/techpaper-2-1.jpg","datePublished":"2021-04-14T19:16:48+00:00","dateModified":"2026-02-23T22:37:17+00:00","description":"Imagen dual en familias de productos basadas en ARM dise\u00f1adas por EnGenius: los cambios necesarios para soportar im\u00e1genes duales en el nivel del cargador de arranque.","breadcrumb":{"@id":"https:\/\/www.engeniustech.com\/dual-image-on-engenius-designed-arm-based-product-families\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.engeniustech.com\/dual-image-on-engenius-designed-arm-based-product-families\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.engeniustech.com\/dual-image-on-engenius-designed-arm-based-product-families\/#primaryimage","url":"https:\/\/www.engeniustech.com\/wp-content\/uploads\/2021\/04\/techpaper-2-1.jpg","contentUrl":"https:\/\/www.engeniustech.com\/wp-content\/uploads\/2021\/04\/techpaper-2-1.jpg"},{"@type":"BreadcrumbList","@id":"https:\/\/www.engeniustech.com\/dual-image-on-engenius-designed-arm-based-product-families\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.engeniustech.com\/"},{"@type":"ListItem","position":2,"name":"Dual Image on EnGenius Designed ARM-based Product Families"}]},{"@type":"WebSite","@id":"https:\/\/www.engeniustech.com\/#website","url":"https:\/\/www.engeniustech.com\/","name":"Tecnolog\u00edas EnGenius","description":"","publisher":{"@id":"https:\/\/www.engeniustech.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.engeniustech.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Organization","@id":"https:\/\/www.engeniustech.com\/#organization","name":"Tecnolog\u00edas EnGenius","url":"https:\/\/www.engeniustech.com\/","logo":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.engeniustech.com\/#\/schema\/logo\/image\/","url":"https:\/\/www.engeniustech.com\/wp-content\/uploads\/2024\/03\/engenius-black-1.jpg","contentUrl":"https:\/\/www.engeniustech.com\/wp-content\/uploads\/2024\/03\/engenius-black-1.jpg","width":1500,"height":500,"caption":"EnGenius Technologies"},"image":{"@id":"https:\/\/www.engeniustech.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/EnGeniusTech","https:\/\/x.com\/EnGeniusTech","https:\/\/www.linkedin.com\/company\/engenius-technologies\/mycompany\/"],"description":"Nube | Puertas de enlace SD-WAN | PDU | Conmutadores | Wi-Fi"},{"@type":"Person","@id":"https:\/\/www.engeniustech.com\/#\/schema\/person\/b56f80659a0b9133459352834db786f1","name":"Allan Quartucci"}]}},"_links":{"self":[{"href":"https:\/\/www.engeniustech.com\/span\/wp-json\/wp\/v2\/posts\/19595","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.engeniustech.com\/span\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.engeniustech.com\/span\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.engeniustech.com\/span\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.engeniustech.com\/span\/wp-json\/wp\/v2\/comments?post=19595"}],"version-history":[{"count":32,"href":"https:\/\/www.engeniustech.com\/span\/wp-json\/wp\/v2\/posts\/19595\/revisions"}],"predecessor-version":[{"id":20034,"href":"https:\/\/www.engeniustech.com\/span\/wp-json\/wp\/v2\/posts\/19595\/revisions\/20034"}],"wp:attachment":[{"href":"https:\/\/www.engeniustech.com\/span\/wp-json\/wp\/v2\/media?parent=19595"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.engeniustech.com\/span\/wp-json\/wp\/v2\/categories?post=19595"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.engeniustech.com\/span\/wp-json\/wp\/v2\/tags?post=19595"}],"curies":[{"name":"gracias","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}