Easyboot es un administrador de arranque y creador de imágenes de disco de arranque todo en uno que puede cargar varios núcleos de sistema operativo y núcleos compatibles con Multiboot2 en varios formatos binarios.
NOTA: Si está buscando un cargador de arranque que cargue un solo kernel, eche un vistazo al hermano pequeño de Easyboot, Simpleboot.
Este proyecto no habría sido posible sin el apoyo de la Free Software Foundation Hungary. El proyecto fue creado en el marco de la licitación de software libre 2023 de FSF.hu.
Núcleos soportados: Multiboot1 (ELF32, PE/COFF, a.out; BIOS, UEFI, RPi), Multiboot2 (ELF32, ELF64, PE32+/COFF, a.out; BIOS, UEFI, RPi), Linux (BIOS, UEFI, RPi), Windows (UEFI), OpenBSD (BIOS, UEFI), FreeBSD (BIOS, UEFI), FreeDOS (BIOS), ReactOS (BIOS), MenuetOS 32 / 64 (BIOS, UEFI), KolibriOS (BIOS, UEFI), SerenityOS (BIOS, UEFI), Haiku (BIOS, UEFI)
Sistemas de archivos soportados: FAT12/16/32, exFAT, NTFS (v3, v3.1), ext2/3/4, XFS (SGI), UFS (v2, v4.4), mfs (Minix3), BeFS (Haiku), AXFS (OS/Z)
(Cuando el kernel está ubicado en la partición de arranque, se puede usar cualquier sistema de archivos para root: ZFS, btrfs, etc.)
Creé un cargador de arranque fácil de usar y los usuarios pedían más y más funciones. Quería mantener ese gestor de arranque como lo más simple posible, pero FSF.hu ofreció soporte, así que decidí bifurcarlo y agregar todas las funciones solicitadas en este administrador de arranque en cambio.
Esta también es una herramienta sin mamar como Simpleboot, no tiene dependencias y es extremadamente fácil de usar:
easyboot (directorio de origen) (archivo de imagen de salida)
Puede instalar el administrador de arranque y hacer que un dispositivo o imagen existente sea de arranque; o puedes crear una imagen
de arranque nueva. Puede inicie esa imagen en una VM, o puede escribirla con dd
o USBImager
en un almacenamiento y arrancar eso también en una máquina real.
¡Simplicidad es la máxima sofisticación!
Simplemente descargue el binario para su sistema operativo. Estos son ejecutables portátiles, no requieren instalación y no necesitan ningún bibliotecas compartidas/DLL.
Además, puede encontrar varias soluciones de empaquetado en el directorio distrib (para Debian, Ubuntu, RaspiOS, Gentoo, Arch).
Al crear una imagen (dependiendo de su configuración), es posible que también necesite algunos complementos en su (directorio de
origen)
. Tú Puede encontrarlos en el directorio src/plugins usando la extensión plg
. Cuando se instalan desde un
paquete, estos serán colocado en /usr/share/easyboot
.
La documentación detallada sobre cómo usar el creador del disco de arranque y cómo se inicia un kernel se puede encontrar en los docs directorio.
Si desea escribir un kernel que pueda cargarse sin ningún complemento usando el protocolo Multiboot2 simplificado de Easyboot, eche un vistazo a Kernel de ejemplo de Simpleboot. Ambos cargadores usan el mismo protocolo de arranque, ese kernel funciona con Easyboot tal como está. Verá que no se requiere Assembly ni etiquetas integradas; de lo contrario, el código fuente es 99,9 % igual que el ejemplo en la especificación Multiboot2 (la única diferencia es que se imprime en la consola serie y no en la pantalla del teletipo VGA, porque eso este último no existe en máquinas UEFI ni en RaspberryPi).
Se necesita GNU/make para la orquestación (aunque literalmente es solo cc easyboot.c -o easyboot
). La cadena de herramientas no
importa, cualquier compilador ANSI C servirá, también funciona en POSIX y WIN32 MINGW. Simplemente vaya al directorio src y
ejecute make
. Eso es todo. A pesar de su pequeño tamaño, es autónomo y la compilación tiene exactamente cero dependencias de
biblioteca. No se llama Easyboot para nada :-)
Para recompilar los cargadores, necesitará flatassembler y LLVM Clang y lld (gcc y GNU ld no funcionará,
me temo). Pero no te preocupes, los agregué todos a src/data.h
como una matriz de bytes, para que no tengas que compilar. Estos a
menos que realmente lo desees (para eso, simplemente elimina data.h antes de ejecutar make).
Por otro lado para compilar los complementos, tendrás que tener un compilador cruzado, ya sea LLVM CLang o GNU gcc (x86_64-elf-gcc,
aarch64-elf-gcc). El repositorio también los incluye como binarios. Para realizar la recompilación, simplemente elimine los archivos
src/plugins/*.plg
antes de ejecutar make.
Easyboot es software gratuito y de código abierto, con licencia según los términos de GPL versión 3 o (en su opinión) cualquier versión posterior. Consulte el archivo LICENSE para obtener más detalles.
bzt