fbpx
Wikipedia

coreboot

coreboot (antes llamado LinuxBIOS) es un proyecto dirigido a reemplazar el firmware no libre de los BIOS propietarios, encontrados en la mayoría de los computadores, por un BIOS libre y ligero diseñado para realizar solamente el mínimo de tareas necesarias para cargar y correr un sistema operativo moderno de 32 bits o de 64 bits. coreboot es respaldado por la Free Software Foundation (FSF).[1]

coreboot
Parte de Software Freedom Conservancy
Información general
Tipo de programa Firmware
Autor Ronald G. Minnich, Eric Biederman, Olli Lo, Stefan Reinauer, comunidad coreboot
Lanzamiento inicial 1999
Licencia GNU General Public License
Información técnica
Programado en
Plataformas admitidas x86
Versiones
Última versión estable 4.13 12 de mayo de 2020 (1 año, 4 meses y 28 días)
Asistencia técnica
Enlaces
Sitio web oficial
Repositorio de código
Crecimiento de coreboot desde 2002 a 2007.

Su existencia no se basa en una necesidad tecnológica, sino en una ética, ya que para los miembros de la FSF es importante que todo el software del PC sea libre, y el BIOS ha sido el único que ha quedado olvidado. Los autores esperan que en los próximos años algunos fabricantes estén dispuestos a distribuirlo en sus máquinas, debido a su carácter gratuito.

El proyecto coreboot fue iniciado en el invierno de 1999 en el Advanced Computing Laboratory en Los Alamos National Laboratory,[2]​ y en 2006 se liberó su primera versión estable, lista para producción. Está licenciado bajo la GNU GPL. Los contribuyentes principales han sido LANL, AMD, coresystems gmbH y Linux Networx, Inc, así como los fabricantes de placas base MSI, Gigabyte y Tyan, ofreciendo coreboot junto al BIOS propietario estándar o proporcionando las especificaciones de las interfaces del hardware para algunas de sus placas base recientes. Sin embargo, Tyan parece haber abandonado el soporte para coreboot. Google es patrocinador del proyecto coreboot.[3]

Información general

coreboot fue creado en un principio para arrancar sistemas operativos con núcleo Linux, pero actualmente puede cargar cualquier otro ejecutable stand-alone (independiente) de ELF, como por ejemplo el Etherboot, que puede cargar Linux desde un servidor de cargador o de un ADLO que puede cargar Microsoft Windows 2000, OpenBSD. coreboot también puede cargar gestores de arranque, como LILO, GNU GRUB u otros firmwares como OpenBIOS, Open Firmware o SmartFirmware, y casi cualquier sistema operativo de cualquier dispositivo soportado, como Myrinet, Quadrics, o interconexiones de cluster SCI. Algunos sistemas operativos requieren funciones heredadas del BIOS (como Windows XP) y no correrán sin una adaptación.

Coreboot hace cualquier inicialización del hardware que Linux no hace y deja a Linux finalizar la inicialización del hardware.

Una notable característica única de coreboot es que la versión x86 corre en modo de 32 bits después de ejecutar solamente dieciséis instrucciones (casi todos los otros BIOS de x86 corren exclusivamente en modo de 16 bits). Se ha creado con la intención de que realice su cometido en el mínimo de instrucciones posible. Al trabajar en modo de 32 bits hace que corra muy rápido[cita requerida], su récord actual de arranque en frío es de 3 segundos hasta la interfaz de comando.

Coreboot puede cargar otros núcleos que no sean Linux, o, en lugar de ello, puede pasar el control a un cargador para arrancar un núcleo o imagen. coreboot también puede cargar directamente el núcleo de Plan 9.

Desarrollo y depuración de coreboot

Puesto que coreboot debe inicializar desde el hardware, debe ser adaptado a todos los chipset de placas base que soporte. Antes de inicializar la RAM, coreboot inicializa el puerto serie (direccionando solamente el caché y los registros), de tal manera que pueda enviar texto de depuración a un emulador de terminal conectado. Coreboot también puede enviar códigos de bytes al puerto 0x80 que son mostrados en una pantalla de dos dígitos hexadecimales de una tarjeta POST conectada. Otra ayuda es el BIOS Savior, que es una combinación de dos dispositivos de BIOS que se enchufan en el zócalo del BIOS y tienen un interruptor manual para seleccionar entre ellos. Una alternativa más costosa es un programador EPROM/flash. Hay también emuladores de CPU que, o substituyen al CPU, o se conectan mediante un puerto de JTAG. El código se puede construir o descargarlo a los emuladores del BIOS en lugar de flashearlo en el dispositivo BIOS.

Inicialización de la memoria DRAM

El hardware más difícil que inicializa coreboot es el controlador de DRAM y la memoria DRAM. En algunos casos, la documentación técnica de cómo hacer esto no está disponible o está protegida por un NDA (acuerdo de confidencialidad), por ello, haciendo imposible construir un coreboot. La disposición de la memoria RAM es particularmente difícil porque hasta que la RAM sea inicializada, no hay RAM disponible para ser usada. La forma de inicializar los controladores de la DRAM sin usar la memoria RAM (por el programa) es utilizar los registros de propósito general de la unidad central de procesamiento. Para facilitar esta tarea, se desarrolló un compilador de C, llamado romcc, que usa los registros en vez de la RAM. Usando romcc, es relativamente fácil hacer los accesos de SMBus a las ROM de SPD de los módulos de DRAM, lo que permite que la RAM sea utilizada. Con recientes procesadores x86, el caché del procesador puede ser usado como RAM hasta que es inicializada la DRAM. El caché del procesador también tiene que ser inicializado en el modo Caché-como-RAM, pero esto necesita menos instrucciones que la inicialización de la DRAM.

Véase también

Referencias

  1. The Free Software Foundation's Campaign for Free BIOS
  2. LinuxBIOS FAQ: Who is working on LinuxBIOS?

Enlaces externos

  • Sitio web oficial de coreboot (en inglés)
  • Campaña de la FSF por un BIOS libre (en inglés)
  • Open BIOSes for Linux", by Peter Seebach
  • ", by Bruce Byfield
  • First desktop motherboard supported by LinuxBIOS: GIGABYTE M57SLI-S4", by Brandon Howard
  • LinuxBIOS with X Server Inside YouTube Video en YouTube.
  • OLPC booting with LinuxBIOS YouTube Video en YouTube.
  • Web CoreBoot.org
  •   Datos: Q286812
  •   Multimedia: Coreboot

coreboot, antes, llamado, linuxbios, proyecto, dirigido, reemplazar, firmware, libre, bios, propietarios, encontrados, mayoría, computadores, bios, libre, ligero, diseñado, para, realizar, solamente, mínimo, tareas, necesarias, para, cargar, correr, sistema, o. coreboot antes llamado LinuxBIOS es un proyecto dirigido a reemplazar el firmware no libre de los BIOS propietarios encontrados en la mayoria de los computadores por un BIOS libre y ligero disenado para realizar solamente el minimo de tareas necesarias para cargar y correr un sistema operativo moderno de 32 bits o de 64 bits coreboot es respaldado por la Free Software Foundation FSF 1 corebootParte de Software Freedom ConservancyInformacion generalTipo de programaFirmwareAutorRonald G Minnich Eric Biederman Olli Lo Stefan Reinauer comunidad corebootLanzamiento inicial1999LicenciaGNU General Public LicenseInformacion tecnicaProgramado enClenguaje ensambladorPlataformas admitidasx86VersionesUltima version estable4 13 12 de mayo de 2020 1 ano 4 meses y 28 dias Asistencia tecnicaEnlacesSitio web oficial Repositorio de codigo editar datos en Wikidata Crecimiento de coreboot desde 2002 a 2007 Su existencia no se basa en una necesidad tecnologica sino en una etica ya que para los miembros de la FSF es importante que todo el software del PC sea libre y el BIOS ha sido el unico que ha quedado olvidado Los autores esperan que en los proximos anos algunos fabricantes esten dispuestos a distribuirlo en sus maquinas debido a su caracter gratuito El proyecto coreboot fue iniciado en el invierno de 1999 en el Advanced Computing Laboratory en Los Alamos National Laboratory 2 y en 2006 se libero su primera version estable lista para produccion Esta licenciado bajo la GNU GPL Los contribuyentes principales han sido LANL AMD coresystems gmbH y Linux Networx Inc asi como los fabricantes de placas base MSI Gigabyte y Tyan ofreciendo coreboot junto al BIOS propietario estandar o proporcionando las especificaciones de las interfaces del hardware para algunas de sus placas base recientes Sin embargo Tyan parece haber abandonado el soporte para coreboot Google es patrocinador del proyecto coreboot 3 Indice 1 Informacion general 2 Desarrollo y depuracion de coreboot 3 Inicializacion de la memoria DRAM 4 Vease tambien 5 Referencias 6 Enlaces externosInformacion general Editarcoreboot fue creado en un principio para arrancar sistemas operativos con nucleo Linux pero actualmente puede cargar cualquier otro ejecutable stand alone independiente de ELF como por ejemplo el Etherboot que puede cargar Linux desde un servidor de cargador o de un ADLO que puede cargar Microsoft Windows 2000 OpenBSD coreboot tambien puede cargar gestores de arranque como LILO GNU GRUB u otros firmwares como OpenBIOS Open Firmware o SmartFirmware y casi cualquier sistema operativo de cualquier dispositivo soportado como Myrinet Quadrics o interconexiones de cluster SCI Algunos sistemas operativos requieren funciones heredadas del BIOS como Windows XP y no correran sin una adaptacion Coreboot hace cualquier inicializacion del hardware que Linux no hace y deja a Linux finalizar la inicializacion del hardware Una notable caracteristica unica de coreboot es que la version x86 corre en modo de 32 bits despues de ejecutar solamente dieciseis instrucciones casi todos los otros BIOS de x86 corren exclusivamente en modo de 16 bits Se ha creado con la intencion de que realice su cometido en el minimo de instrucciones posible Al trabajar en modo de 32 bits hace que corra muy rapido cita requerida su record actual de arranque en frio es de 3 segundos hasta la interfaz de comando Coreboot puede cargar otros nucleos que no sean Linux o en lugar de ello puede pasar el control a un cargador para arrancar un nucleo o imagen coreboot tambien puede cargar directamente el nucleo de Plan 9 Desarrollo y depuracion de coreboot EditarPuesto que coreboot debe inicializar desde el hardware debe ser adaptado a todos los chipset de placas base que soporte Antes de inicializar la RAM coreboot inicializa el puerto serie direccionando solamente el cache y los registros de tal manera que pueda enviar texto de depuracion a un emulador de terminal conectado Coreboot tambien puede enviar codigos de bytes al puerto 0x80 que son mostrados en una pantalla de dos digitos hexadecimales de una tarjeta POST conectada Otra ayuda es el BIOS Savior que es una combinacion de dos dispositivos de BIOS que se enchufan en el zocalo del BIOS y tienen un interruptor manual para seleccionar entre ellos Una alternativa mas costosa es un programador EPROM flash Hay tambien emuladores de CPU que o substituyen al CPU o se conectan mediante un puerto de JTAG El codigo se puede construir o descargarlo a los emuladores del BIOS en lugar de flashearlo en el dispositivo BIOS Inicializacion de la memoria DRAM EditarEl hardware mas dificil que inicializa coreboot es el controlador de DRAM y la memoria DRAM En algunos casos la documentacion tecnica de como hacer esto no esta disponible o esta protegida por un NDA acuerdo de confidencialidad por ello haciendo imposible construir un coreboot La disposicion de la memoria RAM es particularmente dificil porque hasta que la RAM sea inicializada no hay RAM disponible para ser usada La forma de inicializar los controladores de la DRAM sin usar la memoria RAM por el programa es utilizar los registros de proposito general de la unidad central de procesamiento Para facilitar esta tarea se desarrollo un compilador de C llamado romcc que usa los registros en vez de la RAM Usando romcc es relativamente facil hacer los accesos de SMBus a las ROM de SPD de los modulos de DRAM lo que permite que la RAM sea utilizada Con recientes procesadores x86 el cache del procesador puede ser usado como RAM hasta que es inicializada la DRAM El cache del procesador tambien tiene que ser inicializado en el modo Cache como RAM pero esto necesita menos instrucciones que la inicializacion de la DRAM Vease tambien EditarOpenBIOS BIOS Open Firmware Extensible Firmware Interface IBM PC ROM BIOS FirmwareReferencias Editar The Free Software Foundation s Campaign for Free BIOS LinuxBIOS FAQ Who is working on LinuxBIOS Google Sponsors the LinuxBIOS projectEnlaces externos EditarSitio web oficial de coreboot en ingles Campana de la FSF por un BIOS libre en ingles Open BIOSes for Linux by Peter Seebach LinuxBIOS ready to go mainstream by Bruce Byfield First desktop motherboard supported by LinuxBIOS GIGABYTE M57SLI S4 by Brandon Howard Video recording of Ron Minnich s LinuxBIOS talk from FOSDEM 2007 LinuxBIOS with X Server Inside YouTube Video en YouTube OLPC booting with LinuxBIOS YouTube Video en YouTube Web CoreBoot org Noticia en Datos Q286812 Multimedia CorebootObtenido de https es wikipedia org w index php title Coreboot amp oldid 131682310, wikipedia, wiki, leyendo, leer, libro, biblioteca,

español

, española, descargar, gratis, descargar gratis, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, imagen, música, canción, película, libro, juego, juegos