================================================= Parámetros para la línea de comandos del *kernel* ================================================= .. contents:: Contenido :depth: 2 Los siguientes, son una lista consolidada de parámetros del núcleo implementados por las funciones(macros) ``__setup()``, ``core_param()`` y ``module_param()``. Han sido ordenadas alfabéticamente siguiendo el orden del alfabeto Inglés. El núcleo analiza los parámetros desde la línea de comandos hasta encontrar ``--``; si no reconoce el parámetro y no contiene un ``.``, el parámetro es pasado a ``init``: parámetros con ``=`` van al entorno de ``init``, otros son pasados como argumentos de la línea de comandos a ``init``. Los parámetros de módulos, pueden ser especificados de dos formas: *via* línea de comandos con un prefijo de nombre de módulo, o *via* ``modprobe``, ejem. :: (línea de comandos kernel) usbcore.blinkenlights=1 (líne de comandos modprobe)modprobe usbcore blinkenlights=1 Los parámetros para módulos, los cuales están construidos *dentro* del núcleo, necesitan ser especificados en la línea de comandos kernel. ``modprobe`` busca a través de la línea de comandos kernel (``/proc/cmdline``) y recoge los parámetros de los módulos cuando lee uno, así que la línea de comandos kernel, puede usarse para cargar módulos también. Los guiones ``-`` y guión bajo ``_`` son equivalentes en los nombres de parámetros, así: :: log_buf_len=1M print-fatal-signals=1 puede intrerpretarse igual que: :: log-buf-len=1M print_fatal_signals=1 Las dobles comillas ``"``, son usadas para proteger espacios en *valores*: :: param="spaces in here" **parser:** analizador de sentencias. Listas de CPU ^^^^^^^^^^^^^ Algunos parámetros del *kernel* toman una lista de CPUs como valor ejem. ``isolcpu``, ``nohz_full``, ``irqaffinity``, ``rcu_nocbs``. El formato de estas listas es: :: ,...., ó :: - (debe ser un rango positivo en orden ascendente) ó una mezcla :: ,...,- Nótese, que para el caso especial de un rango, podría separarse el rango en dos grupos de igual tamaño y, para cada grupo, usar cierta cantidad desde el comienzo de ese grupo: :: -cpu number>:/ Por ejemplo, uno podría añadir el siguiente parámetro a la línea de comandos: :: isolcpus=1,2,10-20,100-2000:2/25 Donde el objeto final, representa CPUs 100,101,125,126,150,151,… El comando ``modinfo $(modulName)`` muestra una lista actualizada de todos los parámetros de un módulo *cargable*. Los módulos *cargables*, después de ser cargados dentro del kernel en carrera, también revelarán sus parámetros desde ``/sys/module/$(modulname)/parameters/$(parm)``. Los parámetros listados más abajo, sólo son válidos si ciertas opciones de núcleo, fueron activadas y, si cierto *hardware* está presente. El texto entre corchetes ``[]`` al principio de cada descripción, establece las restricciones en el que es aplicable un parámetro: :: ACPI activado soporte para ACPI AGP AGP (Accelerated Graphics Port) is enabled. ALSA ALSA sound support is enabled. APIC APIC support is enabled. APM Advanced Power Management support is enabled. ARM ARM architecture is enabled. AX25 Appropriate AX.25 support is enabled. BLACKFIN Blackfin architecture is enabled. CLK Common clock infrastructure is enabled. CMA Contiguous Memory Area support is enabled. DRM Direct Rendering Management support is enabled. DYNAMIC_DEBUG Build in debug messages and enable them at runtime EDD BIOS Enhanced Disk Drive Services (EDD) is enabled EFI EFI Partitioning (GPT) is enabled EIDE EIDE/ATAPI support is enabled. EVM Extended Verification Module FB The frame buffer device is enabled. FTRACE Function tracing enabled. GCOV GCOV profiling is enabled. HW Appropriate hardware is enabled. IA-64 IA-64 architecture is enabled. IMA Integrity measurement architecture is enabled. IOSCHED More than one I/O scheduler is enabled. IP_PNP IP DHCP, BOOTP, or RARP is enabled. IPV6 IPv6 support is enabled. ISAPNP ISA PnP code is enabled. ISDN Appropriate ISDN support is enabled. JOY Appropriate joystick support is enabled. KGDB Kernel debugger support is enabled. KVM Kernel Virtual Machine support is enabled. LIBATALibata driver is enabled LP Printer support is enabled. LOOP Loopback device support is enabled. M68k M68k architecture is enabled. These options have more detailed description inside of Documentation/m68k/kernel-options.txt. MDA MDA console support is enabled. MIPS MIPS architecture is enabled. MOUSE Appropriate mouse support is enabled. MSI Message Signaled Interrupts (PCI). MTD MTD (Memory Technology Device) support is enabled. NET Appropriate network support is enabled. NUMA NUMA support is enabled. NFS Appropriate NFS support is enabled. OSS OSS sound support is enabled. PV_OPS A paravirtualized kernel is enabled. PARIDE The ParIDE (parallel port IDE) subsystem is enabled. PARISC The PA-RISC architecture is enabled. PCI PCI bus support is enabled. PCIE PCI Express support is enabled. PCMCIA The PCMCIA subsystem is enabled. PNP Plug & Play support is enabled. PPC PowerPC architecture is enabled. PPT Parallel port support is enabled. PS2 Appropriate PS/2 support is enabled. RAM RAM disk support is enabled. RDT Intel Resource Director Technology. S390 S390 architecture is enabled. SCSI Appropriate SCSI support is enabled. A lot of drivers have their options described inside the Documentation/scsi/ sub-directory. SECURITY Different security models are enabled. SELINUX SELinux support is enabled. APPARMOR AppArmor support is enabled. SERIAL Serial support is enabled. SH SuperH architecture is enabled. SMP The kernel is an SMP kernel. SPARC Sparc architecture is enabled. SWSUSP Software suspend (hibernation) is enabled. SUSPEND System suspend states are enabled. TPM TPM drivers are enabled. TS Appropriate touchscreen support is enabled. UMS USB Mass Storage support is enabled. USB USB support is enabled. USBHID USB Human Interface Device support is enabled. V4L Video For Linux support is enabled. VMMIO Driver for memory mapped virtio devices is enabled. VGA The VGA console has been enabled. VT Virtual terminal support is enabled. WDT Watchdog support is enabled. XT IBM PC/XT MFM hard disk support is enabled. X86-32 X86-32, aka i386 architecture is enabled. X86-64 X86-64 architecture is enabled. More X86-64 boot options can be found in Documentation/x86/x86_64/boot-options.txt . X86 Either 32-bit or 64-bit x86 (same as X86-32+X86-64) X86_UV SGI UV support is enabled. XEN Xen support is enabled El siguiente texto explica otras opciones: :: BUGS= Relacionado con posibles errores(bugs) del procesador, en dicho procesador. KNL es un parámetro de arranque del kernel BOOT es un parámetro del gestor de arranque Los parámetros marcados con BOOT son de hecho, interpretados por el gestor de arranque, y no tienen un significado directo para el kernel. .. warning:: No modificar la sintaxis de los parámetros del gestor de arranque, sin una necesidad extrema o sin ser coordinados con la documentación aportada en: :: $plataforma/boot.txt Nótese que todos los parámetros del kernel listados más abajo\ `Doc <#ref1>`__, hacen distinción entre mayúsculas o no. El símbolo ``=`` en el nombre de stado de un parámetro, será *entrado* como *variable de entorno*, donde su ausencia indica que aparecerá como argumente del *kernel* leíble via ``/proc/cmdline`` por los programas en carrera, una vez el sistema este en marcha. El número de parámetros del núcleo, *no es límitado*, pero su longitud *lo está*, a un número fijo de carácteres. Éste límite depende de la arquitectura y, está comprendida entre *256 y 4096 carácteres*. Definido en el archivo ``./include/asm/setup.h`` como ``COMMAND_LINE_SIZE``. Finalmente, el sufijo ``[KMG]`` es comunmente descrito después de un número de valores de parámetro. Éstas letras ‘K’, ‘M’ y ‘G’, representan el multiplicador *Kilo, Mega, Giga*, iguales a 2^10, 2^20, and 2^30, ``bytes`` respectivamente. Estos sufjos de letras, podrán ser omitidos completamente. Éste documento podría no estar completamente actualizado. Efestivamente, no hay corchetes. La lista de parámetros está copiada, tal y como el traductor la encontró al descargar la fuente. Referencias y agradecimientos ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Documentación extraida de la fuente del *núcleo de linux*. documentación: ``kernel-parameters.txt``