Diferencia entre revisiones de «Coreboot»

m (Texto reemplazado: «<div align="justify">» por «»)
 
(No se muestran 11 ediciones intermedias de 3 usuarios)
Línea 2: Línea 2:
 
| nombre        = Coreboot
 
| nombre        = Coreboot
 
| imagen      =Coreboot_menuconfig.png  
 
| imagen      =Coreboot_menuconfig.png  
|descripcion= Configuración-coreboot
+
|descripcion= Antes conocido como Linux BIOS. Creado en 1999 por el Laboratorio Nacional de Los Álamos,
 
}}
 
}}
<div align="justify">
+
 
 
'''Coreboot''' es un proyecto cuyo objeto es reemplazar la [[BIOS]], la  principal  diferencia con las [[BIOS]] habituales en los ordenadores personales es que  Coreboot es open source. Está  respaldado por la FSF(Free Software Foundation) y su  creación no emana de una necesidad, si no de  la forma de pensar de esta  fundación, para ellos es realmente  fundamental que todo el [[software]]  sea de código abierto.
 
'''Coreboot''' es un proyecto cuyo objeto es reemplazar la [[BIOS]], la  principal  diferencia con las [[BIOS]] habituales en los ordenadores personales es que  Coreboot es open source. Está  respaldado por la FSF(Free Software Foundation) y su  creación no emana de una necesidad, si no de  la forma de pensar de esta  fundación, para ellos es realmente  fundamental que todo el [[software]]  sea de código abierto.
  
Línea 16: Línea 16:
 
Para la mayoría de los “usuarios comunes” tener Coreboot o el  BIOS que le trajo su equipo sea lo mismo, pero, además de ser [[software libre]] el [[BIOS]] Del conejo veloz tiene algunas cosas que ofrecer y que quizás le interesen a más de uno:
 
Para la mayoría de los “usuarios comunes” tener Coreboot o el  BIOS que le trajo su equipo sea lo mismo, pero, además de ser [[software libre]] el [[BIOS]] Del conejo veloz tiene algunas cosas que ofrecer y que quizás le interesen a más de uno:
  
Permite upgradear [[BIOS]] en paralelo (ideal para clusters).
+
Permite actualizar [[BIOS]] en paralelo (ideal para clusters).
 
Es rápido (en algunos equipos inicia en 3 segundos).
 
Es rápido (en algunos equipos inicia en 3 segundos).
Se pasa el DRM basado en BIOS por el culo.
 
  
 
==LinuxBIOS==  
 
==LinuxBIOS==  
  
La LinuxBIOS fue creada 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]].  El LinuxBIOS también puede cargar gestores de arranque, como LILO, GRUB u otros firmwares como OpenBIOS, Open [[Firmware]] o [[SmartFirmware]], y casi  cualquier [[sistema operativo]] de cualquier dispositivo soportado,  como [[Myrinet]], Quadrics, o  interconecciones de [[cluster]] SCI. Algunos sistemas  operativos requieren funciones heredadas del BIOS (como Windows XP) y no  correrán sin  una adaptación.  
+
La LinuxBIOS fue creada 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]].  El LinuxBIOS también puede cargar gestores de arranque, como LILO, GRUB u otros firmwares como OpenBIOS, Open [[Firmware]] o SmartFirmware, y casi  cualquier [[sistema operativo]] de cualquier dispositivo soportado,  como Myrinet, Quadrics, o  interconecciones de cluster SCI. Algunos sistemas  operativos requieren funciones heredadas del [[BIOS]] (como [[Windows XP]]) y no  correrán sin  una adaptación.  
  
La LinuxBIOS hace cualquier inicialización del hardware que Linux  no hace y deja a Linux finalizar la inicialización del hardware.  
+
La LinuxBIOS 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 del LinuxBIOS 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 record actual de arranque  en frío es de 3 segundos hasta la interface de comando.  
+
Una notable característica única del LinuxBIOS 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 record actual de arranque  en frío es de 3 segundos hasta la interface de comando.  
  
Aunque "[[Linux]]" está en el nombre, LinuxBIOS puede cargar otros  núcleos, o, en lugar de ello, pasar el control a un cargador para  arrancar un núcleo o imagen. El LinuxBIOS también puede cargar  directamente el núcleo de Plan  9. Todavía está en desarrollo un LinuxBIOS capaz para la versión de  grub2.  
+
Aunque "[[Linux]]" está en el nombre, LinuxBIOS puede cargar otros  núcleos, o, en lugar de ello, pasar el control a un cargador para  arrancar un núcleo o imagen. El LinuxBIOS también puede cargar  directamente el núcleo de Plan  9. Todavía está en desarrollo un LinuxBIOS capaz para la versión de  grub2.
  
 
==Desarrollando y depurando  el LinuxBIOS==  
 
==Desarrollando y depurando  el LinuxBIOS==  
  
Puesto que el LinuxBIOS debe inicializar desde el simple [[hardware]],  debe ser portado hacia todos los chipset de tarjetas  madres que soporte. Antes de inicializar la [[RAM]], LinuxBIOS inicializa el puerto  serial (direccionando solamente el [[caché]] y los registros), de tal  manera que pueda enviar texto de depuración a un emulador  de terminal conectado. El LinuxBIOS 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.  Un 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]].  
+
Puesto que el LinuxBIOS debe inicializar desde el simple [[hardware]],  debe ser portado hacia todos los [[chipset]] de tarjetas  madres que soporte. Antes de inicializar la [[RAM]], LinuxBIOS inicializa el puerto  serial (direccionando solamente el [[caché]] y los registros), de tal  manera que pueda enviar texto de depuración a un emulador  de terminal conectado. El LinuxBIOS 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.  Un 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]].
  
 
==Inicializando  la memoria DRAM==  
 
==Inicializando  la memoria DRAM==  
  
El hardware más difícil que inicializa el LinuxBIOS son 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, haciéndolo  imposible construir un LinuxBIOS. 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 del CPU. Para hacer esta dura tarea  fácil, fue construido un compilador  C, llamado romcc, que usa los registros en vez  de la RAM. Usando el romcc, es relativamente fácil hacer los accesos de SMBus  a las ROM de SPD  de los DIMMs 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.  
+
El hardware más difícil que inicializa el LinuxBIOS son 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, haciéndolo  imposible construir un LinuxBIOS. 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 del [[CPU]]. Para hacer esta dura tarea  fácil, fue construido un compilador  C, llamado romcc, que usa los registros en vez  de la [[RAM]]. Usando el romcc, es relativamente fácil hacer los accesos de SMBus  a las ROM de SPD  de los DIMMs 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.
  
 
==CoreBoot BIOS Opensource==
 
==CoreBoot BIOS Opensource==
  
El BIOS continúa siendo una pieza fundamental de software en la gran  mayoría de los ordenadores, más allá de los esfuerzos que se han hecho  por retirarlo. En general, el BIOS tiene una relación muy estrecha con  el fabricante de la placa base, y sólo se puede obtener actualizaciones  viables desde allí. Sin embargo, todo software puede ser reemplazado,  incluyendo el BIOS. Coreboot se presenta como una alternativa de código  abierto capaz de reemplazar el BIOS propietario en una placa base, de  forma ligera y eficiente.
+
El [[BIOS]] continúa siendo una pieza fundamental de [[software]] en la gran  mayoría de los ordenadores, más allá de los esfuerzos que se han hecho  por retirarlo. En general, el [[BIOS]] tiene una relación muy estrecha con  el fabricante de la placa base, y sólo se puede obtener actualizaciones  viables desde allí. Sin embargo, todo [[software]] puede ser reemplazado,  incluyendo el [[BIOS]]. Coreboot se presenta como una alternativa de [[código  abierto]] capaz de reemplazar el [[BIOS]] propietario en una placa base, de  forma ligera y eficiente.
[[Imagen:CF14x200y200.jpg|none|70px|CF14x200y200.jpg.]]
 
  
Actualizar un BIOS es un proceso delicado. Tanto el hardware como el  software involucrado han avanzado mucho para ofrecer al usuario una  operación lo menos traumática posible, pero hay que tener en cuenta  varios detalles antes de hacerlo. Debido a la complejidad de algunos  componentes y al avance en las capacidades de los sistemas operativos,  actualizar un BIOS se ha vuelto mucho más frecuente en estos días. ¿Pero  qué hay de reemplazarlo? Después de todo, el BIOS no deja de ser  software, y puede que exista algo mejor. Ciertamente lo hay, a través  del famoso EFI sobre el que hemos hablado, pero si cambiar la plataforma  no es una opción, tal vez el código abierto tenga la respuesta.
+
Actualizar un [[BIOS]] es un proceso delicado. Tanto el [[hardware]] como el  [[software]] involucrado han avanzado mucho para ofrecer al usuario una  operación lo menos traumática posible, pero hay que tener en cuenta  varios detalles antes de hacerlo. Debido a la complejidad de algunos  componentes y al avance en las capacidades de los sistemas operativos,  actualizar un [[BIOS]] se ha vuelto mucho más frecuente en estos días. ¿Pero  qué hay de reemplazarlo? Después de todo, el [[BIOS]] no deja de ser  software, y puede que exista algo mejor. Ciertamente lo hay, a través  del famoso EFI sobre el que hemos hablado, pero si cambiar la plataforma  no es una opción, tal vez el [[código abierto]] tenga la respuesta.
  
 
==Enlaces externos==
 
==Enlaces externos==

última versión al 13:16 20 jun 2019

Coreboot
Información sobre la plantilla
Coreboot menuconfig.png
Antes conocido como Linux BIOS. Creado en 1999 por el Laboratorio Nacional de Los Álamos,

Coreboot es un proyecto cuyo objeto es reemplazar la BIOS, la principal diferencia con las BIOS habituales en los ordenadores personales es que Coreboot es open source. Está respaldado por la FSF(Free Software Foundation) y su creación no emana de una necesidad, si no de la forma de pensar de esta fundación, para ellos es realmente fundamental que todo el software sea de código abierto.

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 de LinuxBIOS fue iniciado en el invierno de 1999 en el Advanced Computing Laboratory en Los Alamos National Laboratory, 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 vendedores de tarjetas madres MSI, Gigabyte y Tyan, ofreciendo el linuxBIOS al lado del BIOS propietario estándar o proporcionando las especificaciones de las interfaces del hardware para algunas de sus recientes tarjetas madre. Sin embargo, Tyan parece haber abandonado el soporte para el LinuxBIOS. Google es patrocinante del proyecto del LinuxBIOS.


Beneficios

Para la mayoría de los “usuarios comunes” tener Coreboot o el BIOS que le trajo su equipo sea lo mismo, pero, además de ser software libre el BIOS Del conejo veloz tiene algunas cosas que ofrecer y que quizás le interesen a más de uno:

Permite actualizar BIOS en paralelo (ideal para clusters). Es rápido (en algunos equipos inicia en 3 segundos).

LinuxBIOS

La LinuxBIOS fue creada 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. El LinuxBIOS también puede cargar gestores de arranque, como LILO, GRUB u otros firmwares como OpenBIOS, Open Firmware o SmartFirmware, y casi cualquier sistema operativo de cualquier dispositivo soportado, como Myrinet, Quadrics, o interconecciones de cluster SCI. Algunos sistemas operativos requieren funciones heredadas del BIOS (como Windows XP) y no correrán sin una adaptación.

La LinuxBIOS 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 del LinuxBIOS 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 record actual de arranque en frío es de 3 segundos hasta la interface de comando.

Aunque "Linux" está en el nombre, LinuxBIOS puede cargar otros núcleos, o, en lugar de ello, pasar el control a un cargador para arrancar un núcleo o imagen. El LinuxBIOS también puede cargar directamente el núcleo de Plan 9. Todavía está en desarrollo un LinuxBIOS capaz para la versión de grub2.

Desarrollando y depurando el LinuxBIOS

Puesto que el LinuxBIOS debe inicializar desde el simple hardware, debe ser portado hacia todos los chipset de tarjetas madres que soporte. Antes de inicializar la RAM, LinuxBIOS inicializa el puerto serial (direccionando solamente el caché y los registros), de tal manera que pueda enviar texto de depuración a un emulador de terminal conectado. El LinuxBIOS 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. Un 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.

Inicializando la memoria DRAM

El hardware más difícil que inicializa el LinuxBIOS son 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, haciéndolo imposible construir un LinuxBIOS. 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 del CPU. Para hacer esta dura tarea fácil, fue construido un compilador C, llamado romcc, que usa los registros en vez de la RAM. Usando el romcc, es relativamente fácil hacer los accesos de SMBus a las ROM de SPD de los DIMMs 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.

CoreBoot BIOS Opensource

El BIOS continúa siendo una pieza fundamental de software en la gran mayoría de los ordenadores, más allá de los esfuerzos que se han hecho por retirarlo. En general, el BIOS tiene una relación muy estrecha con el fabricante de la placa base, y sólo se puede obtener actualizaciones viables desde allí. Sin embargo, todo software puede ser reemplazado, incluyendo el BIOS. Coreboot se presenta como una alternativa de código abierto capaz de reemplazar el BIOS propietario en una placa base, de forma ligera y eficiente.

Actualizar un BIOS es un proceso delicado. Tanto el hardware como el software involucrado han avanzado mucho para ofrecer al usuario una operación lo menos traumática posible, pero hay que tener en cuenta varios detalles antes de hacerlo. Debido a la complejidad de algunos componentes y al avance en las capacidades de los sistemas operativos, actualizar un BIOS se ha vuelto mucho más frecuente en estos días. ¿Pero qué hay de reemplazarlo? Después de todo, el BIOS no deja de ser software, y puede que exista algo mejor. Ciertamente lo hay, a través del famoso EFI sobre el que hemos hablado, pero si cambiar la plataforma no es una opción, tal vez el código abierto tenga la respuesta.

Enlaces externos

fuetes

  • Libro de Coreboot 2000.
  • Tutorial Compilado.
  • CD de Coreboot