Sí. Si los desmonta (compila/hace módulos solo con las cosas que necesita), comprime el kernel (optimiza el tamaño)... resultará en un kernel tan pequeño. Puede hacer uno aún más pequeño, para el sistema específico. Como sé mi PC, sé mis cosas. Así que voy a compilar lo que necesito. Como mis propios drivers SATA, driver para USB, etc. Nada más. Sin cámara web, sin unidades IDE antiguas, nada.
Además:los más grandes que encuentra son el kernel ENTERO (que nunca necesita usar). Incluso los de escritorio contienen (la mayoría de las veces, como módulos) MUCHAS cosas innecesarias. Pero los novatos esperan que todo tipo de hardware que conecten funcione.
(Tenga en cuenta que los módulos no se cargarán hasta que se necesiten. Hay 3 estados:
[ ]
- No se compilará, no formará parte de su kernel.
[M]
- Se compilará como un módulo.
(Puede modprobarlo, o su sistema lo cargará automáticamente cuando sea necesario.
Depende del sistema, zona de usuario.)
[X]
- Será compilado en el kernel Y estará presente - siempre.
Distribuciones con kernel pequeño:
- Tiny Core Linux, Micro Core Linux, escritorio con GUI de Linux de 12 MB, Live, frugal, extensible
- Página principal de la comunidad de Puppy Linux - Primeros pasos
Las primeras distribuciones de Linux, como Tom's Root-Boot, MuLinux, Diet-router, (la ahora desaparecida) LOAF y muchas otras que ya no existen, se ajustan a un sistema Linux en funcionamiento en uno o dos disquetes de 1,44 MB.
El kernel de Linux ha crecido pero es modular:los módulos del kernel se cargan según sea necesario. Por lo tanto, todavía es posible producir una distribución de Linux con una huella muy pequeña.
Consulte:Guía de ajuste del tamaño del kernel - eLinux.org
Si lees Linux_tiny.pdf verás esto
- kernel histórico 0.99pl15:Slackware 1.1.2, 1994:301K
- Fedora Core 2:1,2 millones
- SuSE 9.1:1,5 millones
- Configuración de prueba 2.6.5-tiny1:IDE, ext2, TCP, NIC:363K
La configuración predeterminada del kernel está configurada para admitir la mayor cantidad de hardware posible. Un kernel no despojado con la configuración predeterminada resultó en un tamaño de 1897996 kB (incluidos kernel + módulos). Al eliminar muchos controladores y opciones innecesarios (¿por qué necesitaría un módulo HP si tengo una computadora portátil Clevo), resultó en un tamaño de 892892 kB, lo que representa una reducción del tamaño del 53 % en comparación con el kernel estándar.
Al instalar los módulos del kernel, agregue el INSTALL_MOD_STRIP=1
opción. Esto eliminará todos los símbolos de depuración y reducirá el tamaño en un 92% para mí (de 892892 kB a 69356 kB). Tenga en cuenta que esto solo afectará a los módulos que se instalarán y no al kernel (vmlinuz) en sí mismo:
make INSTALL_MOD_STRIP=1 modules_install
De Documentación/kbuild/kbuild.txt:
INSTALL_MOD_STRIP
--------------------------------------------------
INSTALL_MOD_STRIP, if defined, will cause modules to be
stripped after they are installed. If INSTALL_MOD_STRIP is '1', then
the default option --strip-debug will be used. Otherwise,
INSTALL_MOD_STRIP value will be used as the options to the strip command.