1 votos

Boot iPXE en MacBook Pro usando BSDP

Recientemente adquirí un MacBook Pro de segunda mano del 2013 con un disco limpio y deseo hacerlo útil.

Aunque entiendo que las recomendaciones son usar el sistema de Recuperación de Internet para instalar macOS, o conectar un cable Thunderbolt y hacer uso del Modo de Disco de Destino para instalar cualquier otra cosa, aún deseo provisionar un sistema operativo de una manera más limpia y reproducible. ¿Seguramente eso debería ser posible?

En hardware no perteneciente a Apple, típicamente uso iPXE, y esta respuesta indica que también es posible en cualquier MacBook basado en intel si se arranca desde medios extraíbles. La forma en que entiendo las cosas, también debería ser posible arrancar iPXE a través de la red utilizando el Protocolo de Descubrimiento de Servicios de Arranque (BSDP) de Apple, al que se accede al presionar N para lanzar una Instalación en Red desde un Servidor de Arranque en Red.

Parece que todo lo que se necesita saber, es cómo poblar la configuración para los servidores DHCP y tftp. La página de Wikipedia sobre BSDP es bastante técnica. Junto con la especificación a la que hace referencia, parece ser lo suficientemente detallada como para permitir la configuración de esta solución de arranque en red de dos etapas que estoy buscando. Sin embargo, parece ser lo suficientemente complicado como para motivar a preguntar primero; ¿Sabe esta comunidad de SE de algún intento previo de servir iPXE a través de BSDP? (¡Respuestas relacionadas sobre historias de éxito u otras implementaciones que no sean las de Apple sirviendo macOS sobre BSDP quizás también sean interesantes y pertinentes?)

Un posible problema que veo está relacionado con el soporte de controladores. Aunque iPXE tiene cierto soporte para arrancar sobre wifi, no estoy seguro de si funcionará con el dispositivo en el macbook. Correr ioreg | grep AirPort en la shell de rescate revela un BroadCom 4360. Hay soporte para tarjetas Broadcom bcm44xx en el árbol de código fuente, pero no tengo idea si esos números de modelo podrían ser lo bastante similares tecnológicamente.

0voto

sampi Puntos 111

Ahora puedo responder mi propia pregunta, después de aparentemente haber ido por un agujero de conejo y haber salido por otro.

Según la conversación en los comentarios de la pregunta, probablemente sea posible colocar iPXE en una Imagen de Disco de Apple dentro de una Imagen de NetBoot y cargarlo usando BSDP. Sin embargo, como siempre, el diablo está en los detalles y con mi hardware específico (MacBookPro11,1; A1502 EMC 2678) esta idea no es factible de perseguir.

El eslabón más débil es la interfaz wifi, el Broadcom bcm4360 con id de pci 14e4:43a0. Estas tarjetas no son como la serie bcm44xx. De hecho, ni siquiera se pueden comparar con otras tarjetas bcm43xx. El único datasheet que se puede encontrar para ellas, al menos sin firmar un NDA, es un delgado documento de ocho páginas que describe cosas triviales como sus dimensiones físicas. A diferencia de las tarjetas de nombre similar, nadie ha publicado controladores de código abierto. Según mi entendimiento la wifi es casi inutilizable con FreeBSD, illumos, NetBSD y OpenBSD. Solo funcionan bajo Linux si se cargan blobs binarios proporcionados por Broadcom (alpine, arch, debian, ubuntu). Se puede asumir con seguridad que iPXE no implementará controladores para un dispositivo que ninguno de los sistemas operativos de código abierto admiten nativamente.

Con una gran cantidad de voces que creen que los hechos son diferentes, el mejor lugar para buscar es los códigos fuente reales. La constante PCI_DEVID_BCM4360_D11AC no se utiliza en ningún lugar de FreeBSD, NetBSD carece por completo de la constante esperada PCI_PRODUCT_BROADCOM_BCM4360, y OpenBSD no menciona la constante PCI_PRODUCT_BROADCOM_BCM4360 al enumerar la lista de dispositivos admitidos.

Cuando me dieron esta computadora hace unos días, creía que se podía ejecutar un Darwin de código abierto en ella. Sin embargo, parece que OpenDarwin fue anunciado muerto en 2006, y PureDarwin perdió impulso alrededor de 2015. Incluso si hubiera comunidades activas, Apple habría estado contractualmente prohibida de abrir sus controladores de wifi, haciendo efectivamente el soporte de wifi específico de macOS en vez de estar disponible en Darwin¹.

Supuestamente hay macbooks con otros chipsets wifi. Dejaré mi propia respuesta sin aceptar, esperando que alguien eventualmente proporcione una respuesta que realmente dé una solución completa al caso de uso deseado para cualquier persona con una tarjeta compatible.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X