Instalando NetBSD 7.1 en modo UEFI

 

 

 

Recientemente estuve experimentando instalar NetBSD en modo UEFI; y he logrado el experimento, gracias a este enlace del wiki de NetBSD, mas crear manualmente el arranque grub, ademas que el UEFI logre encontrar el grub mediante el bootx64.efi.

La instalacion debe efectuarse de manera manual (por consola) en lugar del instalador, ya que este solo soporta el modo BIOS y puede corromper la tabla de particiones.

En la version 8.0 de NetBSD, se espera  el soporte UEFI nativamente, tanto en el instalador como en el metodo de arranque.

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.

Reloj Unix en el año 2038

Para la fecha de 2038, existe un problema que pasara con los relojes de Unix y se basa en el descontrol del tiempo, puesto en una fecha inapropiada.

Personalmente hice una prueba, en Slackware 64 bits (1ra foto), FreeBSD 64 bits (2da foto) y Tiny Core 32 bits.

Es evidente el descontrol de reloj en sistemas de 32 bits (i386); no siendo asi en sistemas de 64 bits en el cual  no se evidencia el problema. Afortunadamente la arquitectura de 32 bits ha sido descartada en la actualidad en el mercado, mediante el surgimiento de sistemas operativos de solo 64 bits.

A

Qué es BSD?

Qué es BSD?
BSD son las siglas de “Berkeley Software Distribution”. Así se llamó a las distribuciones de código fuente que se hicieron en la Universidad de Berkeley en California y que en origen eran extensiones del sistema operativo UNIX® de AT&T Research. Varios proyectos de sistemas operativos de código abierto tienen su origen en una distribución de éste código conocida como 4.4BSD-Lite. Añaden además un buen número de paquetes de otros proyectos de Código Abierto, incluyendo de forma destacada al proyecto GNU. El sistema operativo completo incluye:

El kernel BSD, que se encarga de la programación del tiempo de ejecución de los procesos, la gestión de memoria, el multiproceso simétrico (SMP), los controladores de dispositivos, etc.

A diferecia del kernel Linux existen varios kernel BSD con diversas funciones.

La biblioteca C, la API base del sistema.

La biblioteca C de BSD está basada en código procedente de Berkeley no del proyecto GNU.

Aplicaciones como las distintas shells, aplicaciones de gestión de ficheros, compiladores y enlazadores.

Algunas de las aplicaciones derivan del proyecto GNU, otras no.

El sistema X Window, que gestiona el entorno gráfico.

El sistema X Window que se usa en la mayoría de versiones de BSD es producto de un proyecto aparte, el Proyecto XFree86. Se usa el mismo código que en Linux. BSD por lo general no predetermina un “gestor de ventanas” como KDE o GNOME, aunque éstos y otros muchos esten disponibles.

Muchos otros programas y utilidades.

Sigue leyendo

Compilando el kernel beta (7.99) de NetBSD para nuevo hardware

En una instalación previa de NetBSD 6.1.5, no me fue posible habilitar las interfaces de red cableada e inalámbrica en mi portatil.

Decidí entonces ingresar a los mirrors de NetBSD para descargar y compilar las fuentes mas recientes.

Para compilar desempaquetamos el archivo
# tar -xzvf src.tar.gz -C /

Nos cambiamos al directorio de fuentes
cd /usr/src

Ejecutamos el script build.sh

# ./build.sh tools && ./build.sh kernel=GENERIC

Una vez hecho esto, buscamos la imagen netbsd que esta dentro de la ruta /usr/obj/ y la copiamos a /

Con esto ya tenemos instalada la imagen para bootear la nueva version del kernel.

Una vez logueado, al ejecutar ifconfig, muestra las interfaces detectadas.

En mi caso eran Intel Centrino 2230
Y Qualcomm Atheros.

Equivalencia de instalacion de paquetes entre Gentoo y FreeBSD

Gentoo es una distribucion Linux, la cual su paqueteria es manejada por portage, en donde esta distribucion tomo idea desde el ports de FreeBSD. Hay que aclarar que los comandos para manejar entre uno y otro no son iguales. Existe tambien la diferencia de que en Gentoo no dispone de creacion de binarios de por si, principalmente compila e instala los paquetes.

Actualizar el arbol

Gentoo: emerge –sync

FreeBSD: portsnap fetch update

Sigue leyendo