Nœcleo de las distribuciones basadas en
Metadistros
Sergio GonzÆlez GonzÆlez
HispaLinux, Espaæa
[email protected]
Aspectos a tratar en el I encuentro de desarrolladores de Metadistros, en cuanto al nœcleo de
metadistros. Entendiendo como nœcleo aquello que comprente el sistema base, el sistema extendido y
los paquetes que conformarÆn la base del entorno de consola y/o grÆco.
1. Introduccin
Este documento muestra el estado del nœcleo de metadistros a da 12 de abril de 2003 as como las propuestas
para su desarrollo. Los objetivos no son otros que discutir y llegar a los acuerdos necesarios para continuar su
desarrollo.
Antes de continuar, hemos de distinguir entre el nœcleo de metadistros, como distribucin, y el nœcleo del
sistema operativo, al cual llamaremos kernel:
Nota: El nœcleo de metadistros estÆ formado por un Sistema Base (SBM) (que coincide con el sistema base
de Debian (http://www.debian.org/)), por un Sistema Extendido (SEM) y por los paquetes que conformarÆn
la base de un entorno basado en consola o en un sistema grÆco.
Nota: El nœcleo del sistema operativo, a partir de ahora kernel, no es otro que Linux, a da de hoy. Esto no
quita que en el futuro se integren otros kernels en metadistros, distintos a Linux. El kernel estara integrado
en el SBM.
Un esquema de todo lo descrito anteriormente se puede ver en la estructura
(http://metadistros.hispalinux.es/images/estructura-metadistros-3.png) propuesta para metaditros:
1
Nœcleo de las distribuciones basadas en Metadistros
Estructura de metadistros
2. Kernel para metadistros
Actualmente hay disponibles dos kernels: uno destinado al sistema de escritorio y otro a servidores. Ambos se
han basado en la versin 2.4.20 de Linux, lo que los diferencia son los parches aplicados y la conguracin de
los mismos. Veremos los detalles a continuacin.
2.1. Diferencias en la conguracin
La conguracin del kernel vara dependiendo de si este estÆ destinado a servidores o a entornos de escritorio.
Las diferencias principales son: los sistemas de escritorio no poseeran soporte multiprocesador y la
conguracin de grsecurity es menos restrictiva que para los servidores.
A continuacin veremos la salida del comando:
# diff -u 2.4.20.metadistros-servidor.conf 2.4.20.metadistros-usuario.conf
Siendo 2.4.20.metadistros-servidor.conf el archivo donde estÆ guardada la conguracin para los kernels
destinados a servidores y 2.4.20.metadistros-usuario.conf la conguracin para los kernels destinados a los
sistemas de escritorio.
--- 2.4.20.metadistros-servidor.conf 2003-04-13 20:33:54.000000000 +0200
+++ 2.4.20.metadistros-usuario.conf 2003-04-13 20:38:44.000000000 +0200
@@ -20,6 +20,8 @@
#
# Processor type and features
#
+CONFIG_LOLAT=y
+CONFIG_LOLAT_SYSCTL=y
CONFIG_M386=y
# CONFIG_M486 is not set
# CONFIG_M586 is not set
@@ -55,16 +57,18 @@
# CONFIG_HIGHMEM is not set
CONFIG_MATH_EMULATION=y
CONFIG_MTRR=y
-CONFIG_SMP=y
-# CONFIG_MULTIQUAD is not set
+# CONFIG_SMP is not set
+CONFIG_PREEMPT=y
+CONFIG_X86_UP_APIC=y
+# CONFIG_X86_UP_IOAPIC is not set
+CONFIG_X86_LOCAL_APIC=y
# CONFIG_X86_TSC_DISABLE is not set
#
# General setup
#
2
Nœcleo de las distribuciones basadas en Metadistros
+CONFIG_HZ=500
CONFIG_NET=y
-CONFIG_X86_IO_APIC=y
-CONFIG_X86_LOCAL_APIC=y
CONFIG_PCI=y
# CONFIG_PCI_GOBIOS is not set
# CONFIG_PCI_GODIRECT is not set
@@ -92,7 +96,6 @@
CONFIG_HOTPLUG_PCI=m
CONFIG_HOTPLUG_PCI_COMPAQ=m
# CONFIG_HOTPLUG_PCI_COMPAQ_NVRAM is not set
-CONFIG_HOTPLUG_PCI_IBM=m
# CONFIG_HOTPLUG_PCI_ACPI is not set
CONFIG_SYSVIPC=y
CONFIG_BSD_PROCESS_ACCT=y
@@ -103,7 +106,6 @@
CONFIG_BINFMT_ELF=y
CONFIG_BINFMT_MISC=m
CONFIG_PM=y
-# CONFIG_ACPI is not set
CONFIG_APM=m
# CONFIG_APM_IGNORE_USER_SUSPEND is not set
CONFIG_APM_DO_ENABLE=y
@@ -114,6 +116,11 @@
# CONFIG_APM_REAL_MODE_POWER_OFF is not set
#
+# ACPI Support
+#
+# CONFIG_ACPI is not set
+
+#
# Memory Technology Devices (MTD)
#
# CONFIG_MTD is not set
@@ -176,6 +183,7 @@
CONFIG_CISS_SCSI_TAPE=y
CONFIG_BLK_DEV_DAC960=m
CONFIG_BLK_DEV_UMEM=m
+# CONFIG_CDROM_PKTCDVD is not set
CONFIG_BLK_DEV_LOOP=m
CONFIG_BLK_DEV_NBD=m
CONFIG_BLK_DEV_RAM=y
@@ -406,7 +414,7 @@
CONFIG_IPSEC_ALG_BLOWFISH=m
CONFIG_IPSEC_ALG_CAST=m
CONFIG_IPSEC_ALG_CRYPTOAPI=m
-# CONFIG_IPSEC_ALG_NON_LIBRE is not set
+CONFIG_IPSEC_ALG_NON_LIBRE=y
CONFIG_IPSEC_ALG_NULL=m
CONFIG_IPSEC_ALG_SERPENT=m
CONFIG_IPSEC_ALG_TWOFISH=m
@@ -512,7 +520,6 @@
CONFIG_BLK_DEV_SR_VENDOR=y
CONFIG_SR_EXTRA_DEVS=2
CONFIG_CHR_DEV_SG=m
-# CONFIG_SCSI_DEBUG_QUEUES is not set
3
# CONFIG_SCSI_MULTI_LUN is not set
CONFIG_SCSI_CONSTANTS=y
# CONFIG_SCSI_LOGGING is not set
@@ -779,7 +786,7 @@
CONFIG_NS83820=m
CONFIG_HAMACHI=m
CONFIG_YELLOWFIN=m
-CONFIG_SK98LIN=m
+# CONFIG_SK98LIN is not set
CONFIG_TIGON3=m
CONFIG_FDDI=y
CONFIG_DEFXX=m
@@ -1266,7 +1273,7 @@
CONFIG_INTEL_RNG=m
CONFIG_AMD_PM768=m
CONFIG_NVRAM=m
-CONFIG_RTC=y
+CONFIG_RTC=m
CONFIG_DTLK=m
CONFIG_R3964=m
CONFIG_APPLICOM=m
@@ -1380,6 +1387,7 @@
CONFIG_REISERFS_FS=y
# CONFIG_REISERFS_CHECK is not set
# CONFIG_REISERFS_PROC_INFO is not set
+# CONFIG_SUPERMOUNT is not set
CONFIG_ADFS_FS=m
CONFIG_ADFS_FS_RW=y
CONFIG_AFFS_FS=m
@@ -1550,8 +1558,9 @@
CONFIG_FB_PM3=m
CONFIG_FB_CYBER2000=m
CONFIG_FB_VESA=y
+CONFIG_LPP=y
CONFIG_FB_VGA16=m
-CONFIG_FB_HGA=m
+# CONFIG_FB_HGA is not set
CONFIG_VIDEO_SELECT=y
CONFIG_FB_MATROX=m
CONFIG_FB_MATROX_MILLENIUM=y
@@ -1574,6 +1583,7 @@
CONFIG_FB_VOODOO1=m
CONFIG_FB_TRIDENT=m
# CONFIG_FB_VIRTUAL is not set
+# CONFIG_FBCON_SPLASHSCREEN is not set
CONFIG_FBCON_ADVANCED=y
CONFIG_FBCON_MFB=m
CONFIG_FBCON_CFB2=y
@@ -1809,9 +1819,6 @@
CONFIG_MAGIC_SYSRQ=y
# CONFIG_DEBUG_SPINLOCK is not set
# CONFIG_FRAME_POINTER is not set
-# CONFIG_KDB is not set
-# CONFIG_KDB_MODULES is not set
-# CONFIG_KALLSYMS is not set
#
Nœcleo de las distribuciones basadas en Metadistros
4
# Library routines
@@ -1831,22 +1838,12 @@
#
# Address Space Protection
#
-CONFIG_GRKERNSEC_PAX_NOEXEC=y
-CONFIG_GRKERNSEC_PAX_PAGEEXEC=y
-CONFIG_GRKERNSEC_PAX_SEGMEXEC=y
-CONFIG_GRKERNSEC_PAX_EMUTRAMP=y
-CONFIG_GRKERNSEC_PAX_EMUSIGRT=y
-CONFIG_GRKERNSEC_PAX_MPROTECT=y
-CONFIG_GRKERNSEC_PAX_NOELFRELOCS=y
-CONFIG_GRKERNSEC_PAX_ASLR=y
-CONFIG_GRKERNSEC_PAX_RANDUSTACK=y
-CONFIG_GRKERNSEC_PAX_RANDMMAP=y
-CONFIG_GRKERNSEC_PAX_RANDEXEC=y
-CONFIG_GRKERNSEC_KMEM=y
-CONFIG_GRKERNSEC_IO=y
-CONFIG_RTC=y
-CONFIG_GRKERNSEC_PROC_MEMMAP=y
-CONFIG_GRKERNSEC_HIDESYM=y
+# CONFIG_GRKERNSEC_PAX_NOEXEC is not set
+# CONFIG_GRKERNSEC_PAX_ASLR is not set
+# CONFIG_GRKERNSEC_KMEM is not set
+# CONFIG_GRKERNSEC_IO is not set
+# CONFIG_GRKERNSEC_PROC_MEMMAP is not set
+# CONFIG_GRKERNSEC_HIDESYM is not set
#
# ACL options
@@ -1861,49 +1858,33 @@
CONFIG_GRKERNSEC_PROC=y
# CONFIG_GRKERNSEC_PROC_USER is not set
CONFIG_GRKERNSEC_PROC_USERGROUP=y
-CONFIG_GRKERNSEC_PROC_GID=2000
+CONFIG_GRKERNSEC_PROC_GID=2001
CONFIG_GRKERNSEC_PROC_ADD=y
CONFIG_GRKERNSEC_LINK=y
CONFIG_GRKERNSEC_FIFO=y
-CONFIG_GRKERNSEC_CHROOT=y
-CONFIG_GRKERNSEC_CHROOT_MOUNT=y
-CONFIG_GRKERNSEC_CHROOT_DOUBLE=y
-CONFIG_GRKERNSEC_CHROOT_PIVOT=y
-CONFIG_GRKERNSEC_CHROOT_CHDIR=y
-CONFIG_GRKERNSEC_CHROOT_CHMOD=y
-CONFIG_GRKERNSEC_CHROOT_FCHDIR=y
-CONFIG_GRKERNSEC_CHROOT_MKNOD=y
-CONFIG_GRKERNSEC_CHROOT_SHMAT=y
-CONFIG_GRKERNSEC_CHROOT_UNIX=y
-CONFIG_GRKERNSEC_CHROOT_FINDTASK=y
-CONFIG_GRKERNSEC_CHROOT_NICE=y
-CONFIG_GRKERNSEC_CHROOT_SYSCTL=y
-CONFIG_GRKERNSEC_CHROOT_CAPS=y
+# CONFIG_GRKERNSEC_CHROOT is not set
#
# Kernel Auditing
Nœcleo de las distribuciones basadas en Metadistros
5
Nœcleo de las distribuciones basadas en Metadistros
#
-CONFIG_GRKERNSEC_AUDIT_GROUP=y
-CONFIG_GRKERNSEC_AUDIT_GID=2007
-CONFIG_GRKERNSEC_EXECLOG=y
-CONFIG_GRKERNSEC_RESLOG=y
-CONFIG_GRKERNSEC_CHROOT_EXECLOG=y
-CONFIG_GRKERNSEC_AUDIT_CHDIR=y
-CONFIG_GRKERNSEC_AUDIT_MOUNT=y
-CONFIG_GRKERNSEC_AUDIT_IPC=y
-CONFIG_GRKERNSEC_SIGNAL=y
-CONFIG_GRKERNSEC_FORKFAIL=y
-CONFIG_GRKERNSEC_TIME=y
+# CONFIG_GRKERNSEC_AUDIT_GROUP is not set
+# CONFIG_GRKERNSEC_EXECLOG is not set
+# CONFIG_GRKERNSEC_RESLOG is not set
+# CONFIG_GRKERNSEC_CHROOT_EXECLOG is not set
+# CONFIG_GRKERNSEC_AUDIT_CHDIR is not set
+# CONFIG_GRKERNSEC_AUDIT_MOUNT is not set
+# CONFIG_GRKERNSEC_AUDIT_IPC is not set
+# CONFIG_GRKERNSEC_SIGNAL is not set
+# CONFIG_GRKERNSEC_FORKFAIL is not set
+# CONFIG_GRKERNSEC_TIME is not set
#
# Executable Protections
#
-CONFIG_GRKERNSEC_EXECVE=y
+# CONFIG_GRKERNSEC_EXECVE is not set
CONFIG_GRKERNSEC_DMESG=y
CONFIG_GRKERNSEC_RANDPID=y
-CONFIG_GRKERNSEC_TPE=y
-CONFIG_GRKERNSEC_TPE_ALL=y
-CONFIG_GRKERNSEC_TPE_GID=2005
+# CONFIG_GRKERNSEC_TPE is not set
#
# Network Protections
@@ -1914,13 +1895,7 @@
CONFIG_GRKERNSEC_RANDSRC=y
CONFIG_GRKERNSEC_RANDRPC=y
CONFIG_GRKERNSEC_RANDPING=y
-CONFIG_GRKERNSEC_SOCKET=y
-CONFIG_GRKERNSEC_SOCKET_ALL=y
-CONFIG_GRKERNSEC_SOCKET_ALL_GID=2004
-CONFIG_GRKERNSEC_SOCKET_CLIENT=y
-CONFIG_GRKERNSEC_SOCKET_CLIENT_GID=2003
-CONFIG_GRKERNSEC_SOCKET_SERVER=y
-CONFIG_GRKERNSEC_SOCKET_SERVER_GID=2002
+# CONFIG_GRKERNSEC_SOCKET is not set
#
# Sysctl support
6
2.2. Kernel para sistemas de escritorio
Nœcleo de las distribuciones basadas en Metadistros
Este kernel ha sido parcheado para mejorar la respuesta del sistema, haciendo Ønfasis en el sistema de escritorio.
TambiØn se ha puesto especial cuidado en las caractersticas visuales del mismo, debido al pœblico al que va
destinado.
Para conseguir todo esto, se han utilizado los siguientes parches:
2.2.1. Parches de Con Kolivas
Estos parches tiene como n mejorar la respuesta del sistema, sobre todo en sistemas de escritorio. La lista de
parches, que se ha obtenido de la pÆgina (http://kernel.kolivas.org/) destinada al kernel de Con Kolivas, se puede
ver a continuacin (si desea obtener mÆs informacin sobre algœn parche determinado, visite las pÆgina principal
d
Comentarios de: Núcleo de las distribuciones basadas en Metadistros (0)
No hay comentarios