Como resolver el arranque de TrueOS (dell)

En estos dias, he estado experimentando mi entorno de servidor/workstation con TrueOS.Sorpresivamente, al bootear en modo normal (con el kernel GENERIC) la instalacion, esta se detiene en la fase de mensajes del kernel.

Estuve toda esta semana en proceso de investigacion de la causa, ya que esto no pasa en una instalacion de FreeBSD 11. Despues de efectuar la instalacion en ‘Safe Mode’, donde solo trabaja con un solo ‘core’ del procesador, Compile el kernel GENERIC_DRM, el cual tiene menos opciones en los drivers, por lo que es destinado a controladores de video.

Recientemente, se me ocurrio comparar las dos configuraciones de GENERIC en FreeBSD 11 y el GENERIC que trae el source de TrueOS.

Llegue a comentar las siguientes lineas

#options TCP_HHOOK # hhook(9) framework for TCP #options EARLY_AP_STARTUP #device evdev #options EVDEV_SUPPORT #options VIMAGE

Luego de haber compilado el kernel con  esta modificacion, finalmente TrueOS pudo arrancar con GENERIC, esto a su vez con el SMP y el driver de Video.

Qué es FreeBSD, el sistema en el que se basan Nintendo Switch y PS4? (ADSLZone)

FreeBSD es un sistema operativo derivado de la versión 4.4 de BSD-Lite, que a su vez es una versión de UNIX desarrollada por la Universidad de California. Es un sistema operativo libre y gratuito, cuyo código fuente está disponible de manera gratuita para cualquier usuario y fabricante.

Nintendo Switch: dos de las tres grandes consolas están basadas en FreeBSD

La principal ventaja que ofrece FreeBSD a un fabricante como puede ser Nintendo o Sony es que, al contrario de lo que ocurre con Linux, si se modifica el código del sistema operativo, no están obligados a compartirlo o publicarlo, pudiendo mantener en secreto las modificaciones que le hagan, y así se evite que los usuarios encuentren posibles vulnerabilidades para instalar homebrew en sus dispositivos. Además de no tener que publicar el código, BSD ofrece otra serie de ventajas, como su gran estabilidad, su pequeño kernel ideal para sistemas operativos móviles o dispositivos con recursos limitados, además de tener una gran cantidad de funcionalidades de red.
nintendo-switch-freebsd
Todo esto es lo que ha llevado que Nintendo Switch o PlayStation 4 utilicen BSD, o al menos un fork de ellos. En el caso de Nintendo, sabemos que su kernel está basado en FreeBSD, mientras que PlayStation 4 está basada en Orbis OS, un sistema operativo derivado directamente de FreeBSD (Xbox One está basada en Windows NT)
También encontramos que sistemas operativos como macOS o iOS están basados en Darwin, que es a su vez también un fork de BSD. Tanto es así, que, si se publica una imagen de un juego desde la Nintendo Switch a Twitter, en el tweet aparecerá que el tweet ha sido publicado vía Safari, mostrando la gran similitud con la que cuentan ambas plataformas.

Sistema operativo libre no implica facilidad de hackeo

Utilizar FreeBSD para basar el sistema operativo de la consola en él permite que Nintendo Switch sea la primera consola de Nintendo en soportar multitarea real (con el permiso de la NES Mini, que utiliza Linux para ejecutar juegos de la NES original mediante emulación). Además, hacer un kernel personalizado con FreeBSD es más barato, es más difícil que se encuentren vulnerabilidades (como las que tenía por ejemplo la 3DS), además de la gran optimización que comentábamos.
zelda-pc-cemu
Que Nintendo Switch utilice un sistema operativo ampliamente conocido por los usuarios no quiere decir que sea fácil de hackear, e incluso puede significar lo contrario. La única esperanza es que las modificaciones que Nintendo haya introducido en el sistema operativo algunos fallos, o que incluso se abra la puerta a poder emular la consola en PC. La 3DS, Wii y la Wii U utilizaban un sistema operativo personalizado y totalmente cerrado, y a pesar de ello fueron crackeadas, además de emuladas con emuladores.
Por último, aunque para portar juegos no habrá mucha diferencia, a la hora de portar aplicaciones como Netflix el proceso será más sencillo, abriendo también una nueva ventana a mejorar fácilmente la consola a través de drivers y mejoras en el kernel. En definitiva, Switch es una consola más abierta a nivel de software, además de a nivel de hardware, utilizando conectores como el USB Tipo C o ser fácilmente reparable, tal y como han comprobado en iFixit.

Experimentando con TrueOS

Recientemente estoy experimentando con TrueOS, que no es mas que una variante de FreeBSD en version -CURRENT (12), aunque esta vez estabilizada por la comunidad de desarrolladores, entre ellos Kris Moore, que es el fundador de este proyecto, anteriormente llamado PC-BSD.

TrueOS es un FreeBSD pensado para los usuarios que se inician en este mundo BSD, ademas de ser para uso de escritorio o de servidor. Las dos versiones son instalables desde la imagen ISO o IMG.

TrueOS trae las mejoras del futuro FreeBSD 12. Aunque se mantiene rolling release. Este posee OpenZFS como principal sistema de archivos, ademas de poder cifrarlo.

Personalmente instale la version server; que no instala todos los paquetes destinado para escritorio; aun   asi manteniendo las funcionalidades que posee.

El manejo de componentes graficos y de «video cards» son en base a Linux DRM 4.9, por lo que es soportado en los ultimos modelos en este sistema.