Não existe uma lista oficial, a comum é compilada no próprio kernel, outra pode ser analisada pelas extensões do kernel. Aqui está a lista que eu encontrei até agora.
Opções gerais de inicialização:
-v
: Sempre inicialize o sistema no modo verboso sem precisar esperar CMD- Vna inicialização.
-x
: Sempre inicialize o sistema no modo de segurança sem precisar esperar Shiftna inicialização.
f
: Modo de segurança antigo.
-s
: Inicialize o sistema no modo Usuário Único sem a necessidade de aguardar CMD- Sna inicialização.
-F
- Ignorar arquivo de inicialização.
iog
(por exemplo iog=0x0
)
Isso inverte o modo "Clamshell" para os sistemas laptop da Apple, onde quando você fecha a tela, mas conecta o sistema a um monitor externo e teclado, o sistema permanece ativo. Depois de executar este comando, ao conectar um monitor externo, o monitor interno será desativado, o que pode ser benéfico em algumas situações, como aquelas em que você está espelhando sua área de trabalho, mas deseja executar o monitor externo em uma resolução maior do que o seu laptop pode executar. . CNET
arch
Altera como o sistema inicializa, no kernel de 32 bits ( i386
) ou 64 bits ( x86_64
). Observe que as extensões de kernel de terceiros podem ser apenas de 32 ou 64 bits.
Graphics Mode
: Dimensões do modo de gráficos VESA.
Text Mode
: Dimensões do modo de texto VGA.
Boot Graphics
: Gráficos ou modo de texto.
Quiet Boot
: Modo de inicialização silencioso.
MKext Cache
: Arquivo de cache Mkext.
Kernel Cache
: Arquivo de cache do kernel.
rd
: Dispositivo raiz.
boot-uuid
: UUID de inicialização.
platform
: Especialista em plataforma {ACPI}.
config
: Carrega a configuração alternativa (por exemplo config=foobar
, carrega em /Library/Preferences/SystemConfiguration/foobar.plist
vez de com.apple.Boot.plist
) x86osx .
serverperfmode=1
No OS X El Capitan 10.11 e posterior, isso permite que o modo de desempenho dedique recursos adicionais do sistema para aplicativos de servidor.
DTrace:
dtrace_dof_mode
: Defina os modos DTrace DOF {0/1/2/3}.
DisableFBT
: Desative o FBT {1}.
IgnoreFBTBlacklist
: Ignore a lista negra de determinados módulos críticos {1}.
BSD:
-b
: Não execute /etc/rc.boot.
-l
: Registro de vazamentos de memória ( osfmk/kern/startup.c
).
srv
: Inicialize como servidor {1}.
ncl
: Número de clusters.
nbuf
: Número de buffers para BSD.
kmem
: Acesso à memória do kernel {1}.
trace
: Tamanho do buffer de rastreio do kernel.
msgbuf
: Buffer de mensagem.
rp
: Caminho raiz.
mcache_flags
: Sinalizadores de cache de memória.
mbuf_debug
: MBuf Debug {1}.
initmcl
: Init mbuf clusters.
socket_debug
: Depuração de soquete (líquida).
net_affinity
: Afinidade líquida (líquida).
rte_debug
: Depuração de rota (rede) {sinalizadores}.
-rwroot_hack
: Monte a leitura / gravação na raiz.
IOKit:
mseg
: Segmento máx.
dart
: Remova o mapeador presente.
io
: Depuração do kit IO.
Mach:
keepsyms
: Não descarregue a tradução do KLD / símbolo de endereço {1}.
debug
: Depuração do kernel {flags} (por exemplo debug=0x14e
).
Habilita os recursos de depuração do kernel que mostrarão informações extras. Por exemplo
0x01
- Pare no momento da inicialização e aguarde o depurador anexar
0x02
- Enviar saída de depuração do kernel para o console
0x04
- Solte no depurador em uma interrupção não mascarável
0x08
- Envie informações de depuração do kernel para uma porta serial
0x10
- Tornar ddb o depurador padrão
0x20
- Enviar informações de diagnóstico para o log do sistema
0x40
- Permitir que o depurador para ARP e rotear
0x80
- Suporte versões antigas do gdb em sistemas mais recentes
0x100
- Desativar a tela de diálogo gráfica de pânico
nvram_paniclog
: confirme o paniclog na NVRAM {1}.
pmsafe_debug
: Coloque as CPUs no modo de energia "seguro" {1}.
preempt
: Defina a taxa de preempção padrão.
unsafe
: Max quantidade insegura.
poll
: Quantidade máxima de pesquisas.
yield
: Agende a mudança no rendimento da pesquisa.
idlehalt
: Interrompa o encadeamento inativo para permitir que a CPU entre no modo de baixa potência {1}.
panic_io_port
: Em pânico, leia a partir desta porta de E / S {0x0 a 0xffff}.
_fpu
: Limite de recursos da CPU no momento da inicialização {387 / mmx / sse}.
disable high mem/2
: prefira mem alta}.
immediate_NMI
: Força o depurador imediato da NMI {1}.
-legacy
: Força o modo herdado de 32 bits.
lcks
: Estatísticas de bloqueio.
novmx
: Nenhuma emulação altivec no Rosetta {1}.
max_valid_dma_addr
: Endereço DMA válido máximo.
maxbouncepool
: Tamanho máximo da piscina de rejeição.
maxloreserve
: Máxima reserva baixa.
npvhash
: Hash de mapeamento físico para virtual.
wpkernel
: Proteger contra gravação o kernel {1}.
-no_shared_cr3
: Desabilite o espaço de endereço compartilhado do kernel para usuários de 64 bits.
-pmap_trace
: Ative rastreamentos do kernel para pmap.
_panicd_ip
: IP do servidor pânico.
_router_ip
: IP do roteador.
panicd_port
: Porta do servidor pânico.
-zc
: Verificação do elemento da zona livre.
mtxspin
: Rotação Mutex (ppc).
vmmforce
: Força do VMM (ppc).
fn
: Forçar soneca (ppc) (acpi) {0/1/2}.
pmsx
: Modo experimental de gerenciamento de energia experimental (ppc) {1}.
ctrc
: Defina o rastreamento para a CPU específica (ppc).
tb
: Tamanho do buffer de rastreamento não padrão (ppc).
wcte
: Gravar habilitar timer de combinação (ppc).
mcklog
: Limpe o sinalizador de verificação da máquina (ppc).
mcksoft
: Recuperação de software de verificação da máquina (ppc).
ht_shift
: Tamanho da tabela de hash não padrão (ppc) {1}.
zsize
: Tamanho da zona alvo.
colors
: Defina cores da VM.
fill
: Preencha páginas.
serialbaud
: Define a taxa de transmissão serial.
Opções de inicialização de xnu/osfmk/i386/i386_init.c
:
diag
: Saída de diagnóstico.
serial
: Console de diagnóstico serial. Suporte para teclado serial e / ou console.
maxmem
Memória máxima para usar. Limita a memória endereçável à quantidade especificada (por exemplo maxmem=32
).
cpus=1
Limita o número de processadores ativos no sistema ao nível definido. Isso pode ajudar a preservar a energia, provavelmente não útil para muitas outras coisas, a menos que você esteja testando e programando.
himemory_mode
É usado para depurar grandes configurações de memória física para sistemas com mais de 4 GB. Modos: 0 - todas as páginas disponíveis, 1 - desabilitar mem alta, 2 - preferir mem alta.
immediate_NMI
Suporte de depuração para sistemas com mais de 4 GB forçando o depurador imediato da NMI.
urgency_notification_abstime
De outros:
bluetoothHostControllerSwitchBehavior
( never
/ always
)
Informe ao driver Bluetooth se deseja alternar para o dongle conectado. Para tornar o dongle externo o padrão mesmo após a reinicialização, use always
.
smbios
: SMBIOS detalhado (AppleSMBIOS.kext) {1}
acpi
: Depure o AppleACPIPlatform {1-8}
acpi_level
: Nível de depuração da ACPI
acpi_layer
: Camada de depuração ACPI
acpi_sleep
: ACPI Sleep
nvdebug
: Depuração do NVDAResman
nvrm
: NVDAResman
ndrv_debug_level
: Nível de depuração de NDRV (NVDAResman)
pstep
: Depuração da etapa de energia (ACPI_SMC)
hpet
: AppleHPET
busratio
(por exemplo busratio=20
): Usou o i7 cpu em 10.5.6, depois de 10.5.7 não precisa do x86osx .
Fonte: xnu-1228 / Argumentos de inicialização
Uso
Por exemplo, quando você está no Modo Único ( CMD- Sapós o som na inicialização), para entrar no modo de segurança e com uma saída extra de depuração do kernel para o console, tente:
sudo nvram boot-args="-x -v debug=0x14e"
Para adicionar o argumento à existente (sem substituir), tente:
sudo nvram boot-args="-v $(nvram boot-args 2>/dev/null | cut -f 2-)"
Para remover argumentos de inicialização, execute:
sudo nvram boot-args=""
sudo nvram -d boot-args
Outros parâmetros não oficiais podem ser encontrados no próprio kernel
binário, por exemplo
$ 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
Ou verifique nos arquivos de origem da Apple ou no GitHub pesquisando PE_parse_boot_argn
(o que é usado para analisar os argumentos de inicialização do kernel).
Pesquisando no Google
boot-args site:developer.apple.com
dá alguns bons recursos. Por exemplocpus=1
força o sistema a usar apenas um único núcleo da CPU.srv=1
é definido no Xserves e nas máquinas que possuem o Mac OS X Server instalado e, supostamente, altera alguns parâmetros de ajuste do kernel para operação amigável ao servidor._panicd_ip=a.b.c.d
Permite que você especifique o endereço IP de um servidor de depuração de pânico para o qual gravar dumps do núcleo do kernel.debug=0xH
(Onde H é um número hexadecimal de 1 a 4 dígitos) Permite definir sinalizadores de depuração do kernel nesta lista:fonte
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/…Aqui estão mais alguns :
fonte
O kernel do darwin é chamado "xnu", o melhor que pude fazer foi cumprimentar o código-fonte pelo que estava sendo procurado.
Exemplo: OS X 10.8.5
https://gist.github.com/reklis/fa26d4e8db62d6eea9ea
Procedimento:
Vá aqui (ou sua versão do OS X)
http://www.opensource.apple.com/release/mac-os-x-1085/
Faça o download do tarball XNU, extraia, grep para "parse_boot"
cd xnu; grep -iRn parse_boot .
fonte
Para não esquecer o imensamente útil (se você atualizou para o Lion e deseja usar o seu mac no 'modo de garra fechada' com a tampa aberta)
parabéns a: chenga.8
O que me incomoda, no entanto, é que não encontro explicação para isso. Por que 0x0? Por que não 0x1? O que 'iog' significa?
Devo salientar que no meu macbook não funciona.
fonte
A Apple parece não fornecer uma lista abrangente. Pesquise no Google algumas opções conhecidas e
site:apple.com
não produz nenhum resultado. Reduzir a lista de opções encontra artigos como este e algum código-fonte analisa esses argumentos, mas nada abrangente.Você também pode procurar
PE_parse_boot_arg
uma função que analise os argumentos de inicialização.Dito isto, existem algumas páginas de terceiros na web em que os usuários fornecem as informações mais abrangentes que eu poderia encontrar, mas podem estar desatualizadas:
fonte