No hay una lista oficial, las comunes se compilan en el núcleo por sí mismas, otras pueden ser analizadas por las extensiones del núcleo. Aquí está la lista que he encontrado hasta ahora.
Opciones generales de arranque:
-v
: Siempre arrancar el sistema en modo detallado sin necesidad de realizar CMD- Ven el inicio.
-x
: Inicie siempre el sistema en Modo a prueba de fallos sin necesidad de mantenerlo Shiften el inicio.
f
: Modo seguro antiguo.
-s
: Arranque el sistema en modo de usuario único sin necesidad de realizar CMD- Sen el inicio.
-F
- Ignorar el archivo de arranque.
iog
(por ejemplo iog=0x0
)
Esto invierte el modo "Clamshell" para los sistemas portátiles de Apple, donde cuando cierra la pantalla pero conecta el sistema a un monitor y teclado externos, el sistema permanecerá despierto. Después de ejecutar este comando, al conectar un monitor externo, la pantalla interna se desactivará, lo que puede ser beneficioso en algunas situaciones, como aquellas en las que está duplicando su escritorio pero desea ejecutar la pantalla externa a una resolución más alta que la que puede ejecutar su computadora portátil . CNET
arch
Cambia la forma en que se inicia el sistema, ya sea en el núcleo de 32 bits ( i386
) o de 64 bits ( x86_64
). Tenga en cuenta que las extensiones de kernel de terceros pueden ser solo de 32 bits o de 64 bits.
Graphics Mode
: Dimensiones del modo de gráficos VESA.
Text Mode
: Dimensiones del modo de texto VGA.
Boot Graphics
: Modo de gráficos o texto.
Quiet Boot
: Modo de arranque tranquilo.
MKext Cache
: Archivo de caché Mkext.
Kernel Cache
: Archivo Kernel Cache.
rd
: Dispositivo raíz.
boot-uuid
: Arranque UUID.
platform
: Experto en plataformas {ACPI}.
config
: Carga la configuración alternativa plist (por ejemplo, config=foobar
se cargará en /Library/Preferences/SystemConfiguration/foobar.plist
lugar de com.apple.Boot.plist
) x86osx .
serverperfmode=1
En OS X El Capitan 10.11 y posterior, esto habilita el modo de rendimiento para dedicar recursos del sistema adicionales para aplicaciones de servidor.
DTrace:
dtrace_dof_mode
: Establezca los modos DTrace DOF {0/1/2/3}.
DisableFBT
: Deshabilitar FBT {1}.
IgnoreFBTBlacklist
: Ignorar la lista negra de ciertos módulos críticos {1}.
BSD:
-b
: No ejecute /etc/rc.boot.
-l
: Registro de pérdidas de memoria ( osfmk/kern/startup.c
).
srv
: Arrancar como servidor {1}.
ncl
: Número de grupos.
nbuf
: Número de buffers para BSD.
kmem
: Acceso a la memoria del núcleo {1}.
trace
: Tamaño del búfer de rastreo del kernel.
msgbuf
: Buffer de mensajes.
rp
: Ruta de la raíz.
mcache_flags
: Banderas de memoria caché.
mbuf_debug
: MBuf Debug {1}.
initmcl
: Inicia los grupos de mbuf.
socket_debug
: Depuración de sockets (neto).
net_affinity
: Afinidad neta (neta).
rte_debug
: Ruta de depuración (net) {flags}.
-rwroot_hack
: Montar lectura / escritura raíz.
IOKit:
mseg
: Segmento máx.
dart
: Eliminar el mapeador presente.
io
: Depuración de IO Kit.
Mach:
keepsyms
: No descargue la traducción de KLD / Dirección-símbolo {1}.
debug
: Kernel debug {flags} (por ejemplo debug=0x14e
).
Habilita las funciones de depuración del núcleo que le mostrarán información adicional. P.ej
0x01
- Pare en el momento del arranque y espere a que se conecte el depurador
0x02
- Enviar salida de depuración del kernel a la consola
0x04
- Caiga en el depurador en una interrupción no enmascarable
0x08
- Enviar información de depuración del núcleo a un puerto serie
0x10
- Hacer ddb el depurador predeterminado
0x20
- Salida de información de diagnóstico al registro del sistema
0x40
- Permitir al depurador a ARP y ruta
0x80
- Admite versiones antiguas de gdb en sistemas más nuevos
0x100
- Deshabilitar la pantalla de diálogo de pánico gráfico
nvram_paniclog
: compromete paniclog a NVRAM {1}.
pmsafe_debug
: Ponga las CPU en modo de energía "segura" {1}.
preempt
: Establece la tasa de preferencia predeterminada.
unsafe
: Quanta inseguras máx.
poll
: Max encuesta quanta.
yield
: Programar el cambio de rendimiento de la encuesta.
idlehalt
: Detenga el subproceso inactivo para permitir que la CPU entre en modo de bajo consumo {1}.
panic_io_port
: En pánico, lea desde este puerto de E / S {0x0 a 0xffff}.
_fpu
: Limite las características de la CPU durante el tiempo de arranque {387 / mmx / sse}.
disable high mem/2
: prefiera alta mem}.
immediate_NMI
: Fuerza el depurador NMI inmediato {1}.
-legacy
: Fuerza el modo heredado de 32 bits.
lcks
: Estadísticas de bloqueo.
novmx
: Sin emulación altivec en Rosetta {1}.
max_valid_dma_addr
: Dirección DMA válida máxima.
maxbouncepool
: Tamaño máximo de la piscina de rebote.
maxloreserve
: Max baja reserva.
npvhash
: Hash de mapeo físico a virtual.
wpkernel
: Escritura proteger kernel {1}.
-no_shared_cr3
: Deshabilite el espacio de dirección del núcleo compartido para usuarios de 64 bits.
-pmap_trace
: Habilita las trazas del kernel para pmap.
_panicd_ip
: IP del servidor de pánico.
_router_ip
: IP del enrutador.
panicd_port
: Puerto del servidor de pánico.
-zc
: Comprobación de elementos de zona libre.
mtxspin
: Giro Mutex (ppc).
vmmforce
: Fuerza VMM (ppc).
fn
: Forzar siesta (ppc) (acpi) {0/1/2}.
pmsx
: Modo paso a paso de administración de energía experimental (ppc) {1}.
ctrc
: Establece el seguimiento en una CPU específica (ppc).
tb
: Tamaño de búfer de rastreo no predeterminado (ppc).
wcte
: Escribir combinación de temporizador habilitado (ppc).
mcklog
: Borrar la marca de verificación de la máquina (ppc).
mcksoft
: Recuperación de software de verificación de máquina (ppc).
ht_shift
: Tamaño de tabla hash no predeterminada (ppc) {1}.
zsize
: Tamaño de la zona objetivo.
colors
: Establecer colores VM.
fill
: Rellenar páginas.
serialbaud
: Establecer la velocidad de transmisión en serie.
Opciones de arranque desde xnu/osfmk/i386/i386_init.c
:
diag
: Salida de diagnóstico.
serial
: Consola de diagnóstico en serie. Soporte para un teclado y / o consola en serie.
maxmem
Máxima memoria para usar. Limita la memoria direccionable a la cantidad especificada (por ejemplo maxmem=32
).
cpus=1
Limita el número de procesadores activos en el sistema al nivel establecido. Esto podría ayudar a conservar la energía, lo que probablemente no sea útil para mucho más a menos que esté probando y programando.
himemory_mode
Se utiliza para depurar grandes configuraciones de memoria física para sistemas de más de 4 GB. Modos: 0: todas las páginas disponibles, 1: deshabilitar la memoria alta, 2: prefieren la memoria alta.
immediate_NMI
Soporte de depuración para sistemas de más de 4GB al forzar el depurador NMI inmediato.
urgency_notification_abstime
Otro:
bluetoothHostControllerSwitchBehavior
( never
/ always
)
Indique al controlador Bluetooth si debe cambiar al dispositivo de seguridad que conectó. Para que el dispositivo de seguridad externo sea el predeterminado incluso después de reiniciar, use always
.
smbios
: SMBIOS detallado (AppleSMBIOS.kext) {1}
acpi
: Depurar AppleACPIPlatform {1-8}
acpi_level
: Nivel de depuración ACPI
acpi_layer
: Capa de depuración ACPI
acpi_sleep
: Sueño ACPI
nvdebug
: Depuración NVDAResman
nvrm
: NVDAResman
ndrv_debug_level
: Nivel de depuración NDRV (NVDAResman)
pstep
: Depuración de Power Step (ACPI_SMC)
hpet
: AppleHPET
busratio
(p busratio=20
. ej. ): usó i7 cpu en 10.5.6, después de 10.5.7 no necesita x86osx .
Fuente: xnu-1228 / Argumentos de arranque
Uso
Por ejemplo, cuando está en modo único ( CMD- Sdespués del sonido al inicio), para ejecutar en modo seguro y de forma vergonzosa con salida de depuración de kernel adicional a la consola, intente:
sudo nvram boot-args="-x -v debug=0x14e"
Para agregar el argumento en existente (sin anular), intente:
sudo nvram boot-args="-v $(nvram boot-args 2>/dev/null | cut -f 2-)"
Para eliminar argumentos de arranque, ejecute:
sudo nvram boot-args=""
sudo nvram -d boot-args
Se pueden encontrar otros parámetros no oficiales en kernel
binario, por ejemplo
$ strings /System/Library/Kernels/kernel | grep -C7 maxmem
kernel_early_bootstrap
diag
serial
Serial mode specified: %08X
PE_init_printf
version_variant = %s
version = %s
maxmem
himemory_mode
himemory_mode: %d
immediate_NMI
urgency_notification_abstime
i386_vm_init
power_management_init
machine_startup
O busque en los archivos fuente de Apple o en GitHub buscando PE_parse_boot_argn
(que se utiliza para analizar los argumentos de arranque del kernel).
Buscar en Google
boot-args site:developer.apple.com
da algunos buenos recursos. P.ejcpus=1
obliga al sistema a usar solo un núcleo de CPU.srv=1
está configurado en Xserves y máquinas que tienen instalado Mac OS X Server, y supuestamente cambia algunos parámetros de ajuste del kernel para una operación amigable con el servidor._panicd_ip=a.b.c.d
Le permite especificar la dirección IP de un servidor de depuración de pánico para escribir volcados de núcleo del núcleo.debug=0xH
(Donde H es un número hexadecimal de 1-4 dígitos) Le permite establecer indicadores de depuración del núcleo de esta lista:fuente
static void parse_bsd_args(void)
opensource.apple.com/source/xnu/xnu-2782.1.97/bsd/kern/…void i386_init(void)
opensource.apple.com/source/xnu/xnu-2782.1.97/osfmk/i386/…void gzalloc_configure(void)
opensource.apple.com/source/xnu/xnu-2782.1.97/osfmk/kern/…Aquí hay algunos más :
fuente
El núcleo de Darwin se llama "xnu", lo mejor que pude hacer fue obtener el código fuente de lo que se estaba buscando.
Ejemplo: OS X 10.8.5
https://gist.github.com/reklis/fa26d4e8db62d6eea9ea
Procedimiento:
Vaya aquí (o su versión de OS X)
http://www.opensource.apple.com/release/mac-os-x-1085/
Descargar XNU tarball, extract, grep para "parse_boot"
cd xnu; grep -iRn parse_boot .
fuente
Sin olvidar lo inmensamente útil (si actualizaste a Lion y quieres usar tu mac en 'modo clamshell cerrado' con la tapa abierta)
felicitaciones a: chenga.8
Sin embargo, lo que me molesta es que no encuentro ninguna explicación para eso. ¿Por qué 0x0? ¿Por qué no 0x1? ¿Qué significa 'iog' de todos modos?
Debo señalar que en mi macbook no funciona.
fuente
Apple no parece proporcionar una lista completa. Busca en Google algunas opciones conocidas y
site:apple.com
no da ningún resultado. Al reducir la lista de opciones, se encuentran artículos como este y algunos códigos fuente que analizan estos argumentos, pero nada exhaustivo.También puede buscar
PE_parse_boot_arg
una función que, bueno, analiza los argumentos de arranque.Dicho esto, hay algunas páginas de terceros en la web donde los usuarios proporcionan la información más completa que pude encontrar, pero podría estar desactualizada:
fuente