Il n'y a pas de liste officielle, les communes sont compilées dans le noyau lui-même, d'autres peuvent être analysées par les extensions du noyau. Voici la liste que j'ai trouvée jusqu'à présent.
Options générales de démarrage:
-v
: Démarrez toujours le système en mode détaillé sans avoir besoin de le maintenir CMD- Vau démarrage.
-x
: Démarrez toujours le système en mode sans échec sans avoir besoin de le maintenir Shiftau démarrage.
f
: Ancien mode sans échec.
-s
: Démarrez le système en mode mono-utilisateur sans avoir besoin de le maintenir CMD- Sau démarrage.
-F
- Ignorer le fichier de démarrage.
iog
(par exemple iog=0x0
)
Cela inverse le mode "Clamshell" pour les systèmes portables Apple, où lorsque vous fermez l'écran mais connectez le système à un moniteur externe et un clavier, le système restera éveillé. Après avoir exécuté cette commande, lors de la connexion d'un moniteur externe, l'affichage interne sera désactivé, ce qui peut être bénéfique dans certaines situations telles que celles où vous mettez en miroir votre bureau mais souhaitez exécuter l'affichage externe à une résolution plus élevée que celle de votre ordinateur portable. . CNET
arch
Modifie la façon dont le système démarre, vers le noyau 32 bits ( i386
) ou 64 bits ( x86_64
). Notez que les extensions de noyau tierces peuvent être de 32 bits ou 64 bits uniquement.
Graphics Mode
: Dimensions du mode graphique VESA.
Text Mode
: Dimensions du mode texte VGA.
Boot Graphics
: Mode graphique ou texte.
Quiet Boot
: Mode de démarrage silencieux.
MKext Cache
: Fichier cache Mkext.
Kernel Cache
: Fichier de cache du noyau.
rd
: Périphérique racine.
boot-uuid
: UUID de démarrage.
platform
: Platform Expert {ACPI}.
config
: Charger une autre liste de configuration (par exemple config=foobar
, chargera à la /Library/Preferences/SystemConfiguration/foobar.plist
place de com.apple.Boot.plist
) x86osx .
serverperfmode=1
Sous OS X El Capitan 10.11 et versions ultérieures, cela permet au mode performances de dédier des ressources système supplémentaires aux applications serveur.
DTrace:
dtrace_dof_mode
: Définissez les modes DTrace DOF {0/1/2/3}.
DisableFBT
: Désactiver FBT {1}.
IgnoreFBTBlacklist
: Ignorer la liste noire de certains modules critiques {1}.
BSD:
-b
: N'exécutez pas /etc/rc.boot.
-l
: Journalisation des fuites de mémoire ( osfmk/kern/startup.c
).
srv
: Démarrer en tant que serveur {1}.
ncl
: Nombre de clusters.
nbuf
: Nombre de tampons pour BSD.
kmem
: Accès à la mémoire du noyau {1}.
trace
: Taille du tampon de trace du noyau.
msgbuf
: Tampon de messages.
rp
: Chemin racine.
mcache_flags
: Drapeaux de cache mémoire.
mbuf_debug
: Débogage MBuf {1}.
initmcl
: Init clusters mbuf.
socket_debug
: Débogage de socket (net).
net_affinity
: Affinité nette (nette).
rte_debug
: Route debug (net) {flags}.
-rwroot_hack
: Montez la lecture / écriture root.
IOKit:
mseg
: Segment max.
dart
: Supprimer le mappeur présent.
io
: Débogage du kit IO.
Mach:
keepsyms
: Ne déchargez pas la traduction des symboles KLD / adresse {1}.
debug
: Débogage du noyau {drapeaux} (par exemple debug=0x14e
).
Active les fonctionnalités de débogage du noyau qui vous montreront des informations supplémentaires. Par exemple
0x01
- Arrêtez-vous au démarrage et attendez que le débogueur se connecte
0x02
- Envoyer la sortie de débogage du noyau à la console
0x04
- Passer dans le débogueur sur une interruption non masquable
0x08
- Envoyer des informations de débogage du noyau à un port série
0x10
- Faire de ddb le débogueur par défaut
0x20
- Sortie des informations de diagnostic dans le journal système
0x40
- Autoriser le débogueur à ARP et à router
0x80
- Prise en charge des anciennes versions de gdb sur les nouveaux systèmes
0x100
- Désactivez l'écran de dialogue de panique graphique
nvram_paniclog
: validez paniclog sur NVRAM {1}.
pmsafe_debug
: Mettez les processeurs en mode d'alimentation "sûr" {1}.
preempt
: Définir le taux de préemption par défaut.
unsafe
: Max quanta dangereux.
poll
: Quanta de poll max.
yield
: Programmez le changement de rendement du sondage.
idlehalt
: Arrêtez le thread inactif pour permettre au processeur d'être en mode basse consommation {1}.
panic_io_port
: En cas de panique, lire à partir de ce port d'E / S {0x0 à 0xffff}.
_fpu
: Limiter les fonctionnalités du processeur au démarrage {387 / mmx / sse}.
disable high mem/2
: préfère mem élevé}.
immediate_NMI
: Force le débogueur NMI immédiat {1}.
-legacy
: Forcer le mode 32 bits hérité.
lcks
: Statistiques de verrouillage.
novmx
: Aucune émulation altivec dans Rosetta {1}.
max_valid_dma_addr
: Adresse DMA max valide.
maxbouncepool
: Taille maximale du pool de rebonds.
maxloreserve
: Réserve basse max.
npvhash
: Hachage de mappage physique à virtuel.
wpkernel
: Protéger le noyau en écriture {1}.
-no_shared_cr3
: Désactivez l'espace d'adressage du noyau partagé pour les utilisateurs 64 bits.
-pmap_trace
: Activer les traces du noyau pour pmap.
_panicd_ip
: IP du serveur de panique.
_router_ip
: IP du routeur.
panicd_port
: Port du serveur de panique.
-zc
: Vérification des éléments de zone libre.
mtxspin
: Mutex spin (ppc).
vmmforce
: Force VMM (ppc).
fn
: Forcer la sieste (ppc) (acpi) {0/1/2}.
pmsx
: Mode pas à pas de gestion expérimentale de la puissance (ppc) {1}.
ctrc
: Définissez le traçage sur un processeur spécifique (ppc).
tb
: Taille du tampon de trace non par défaut (ppc).
wcte
: Écriture de la minuterie de combinaison activée (ppc).
mcklog
: Effacer l'indicateur de vérification de la machine (ppc).
mcksoft
: Récupération du logiciel de vérification de la machine (ppc).
ht_shift
: Taille de table de hachage non définie par défaut (ppc) {1}.
zsize
: Taille de la zone cible.
colors
: Définir les couleurs VM.
fill
: Remplissez les pages.
serialbaud
: Définir le débit en bauds série.
Options de démarrage à partir de xnu/osfmk/i386/i386_init.c
:
diag
: Sortie de diagnostic.
serial
: Console de diagnostic série. Prise en charge d'un clavier et / ou d'une console série.
maxmem
Mémoire maximale à utiliser. Il limite la mémoire adressable à la quantité spécifiée (par exemple maxmem=32
).
cpus=1
Limite le nombre de processeurs actifs dans le système au niveau défini. Cela pourrait aider à préserver l'énergie, ce qui n'est probablement pas utile pour beaucoup d'autre chose, sauf si vous testez et programmez.
himemory_mode
Il est utilisé pour déboguer les grandes configurations de mémoire physique pour les systèmes de plus de 4 Go. Modes: 0 - toutes les pages disponibles, 1 - désactiver la mémoire haute, 2 - préférer la mémoire haute.
immediate_NMI
Prise en charge du débogage pour les systèmes de plus de 4 Go en forçant le débogueur NMI immédiat.
urgency_notification_abstime
Autre:
bluetoothHostControllerSwitchBehavior
( never
/ always
)
Indiquez au pilote Bluetooth s'il doit passer au dongle que vous avez branché. Pour définir le dongle externe par défaut même après le redémarrage, utilisez always
.
smbios
: SMBIOS détaillé (AppleSMBIOS.kext) {1}
acpi
: Débogage AppleACPIPlatform {1-8}
acpi_level
: Niveau de débogage ACPI
acpi_layer
: Couche de débogage ACPI
acpi_sleep
: ACPI Sleep
nvdebug
: Débogage NVDAResman
nvrm
: NVDAResman
ndrv_debug_level
: Niveau de débogage NDRV (NVDAResman)
pstep
: Debug Power Step (ACPI_SMC)
hpet
: AppleHPET
busratio
(par exemple busratio=20
): Il a utilisé i7 cpu en 10.5.6, après 10.5.7 il n'a pas besoin de x86osx .
Source: xnu-1228 / Arguments de démarrage
Usage
Par exemple, lorsque vous êtes en mode unique ( CMD- Saprès le son au démarrage), pour exécuter en mode sans échec et verbeusement avec une sortie de débogage du noyau supplémentaire sur la console, essayez:
sudo nvram boot-args="-x -v debug=0x14e"
Pour ajouter l'argument dans existant (sans redéfinir), essayez:
sudo nvram boot-args="-v $(nvram boot-args 2>/dev/null | cut -f 2-)"
Pour supprimer les arguments de démarrage, exécutez:
sudo nvram boot-args=""
sudo nvram -d boot-args
D'autres paramètres non officiels peuvent être trouvés dans le kernel
binaire lui-même, par exemple
$ 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 vérifiez dans les fichiers source Apple ou sur GitHub en recherchant PE_parse_boot_argn
(qui est utilisé pour analyser les arguments de démarrage du noyau).
La recherche sur Google
boot-args site:developer.apple.com
donne de bonnes ressources. Par exemplecpus=1
force le système à n'utiliser qu'un seul cœur de processeur.srv=1
est défini sur Xserves et les machines sur lesquelles Mac OS X Server est installé, et modifie soi-disant certains paramètres de réglage du noyau pour un fonctionnement convivial du serveur._panicd_ip=a.b.c.d
Vous permet de spécifier l'adresse IP d'un serveur de débogage de panique dans lequel écrire les vidages mémoire du noyau.debug=0xH
(Où H est un nombre hexadécimal de 1 à 4 chiffres) Vous permet de définir des indicateurs de débogage du noyau à partir de cette liste:la source
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/…En voici encore plus :
la source
Le noyau darwin est appelé "xnu", le mieux que j'ai pu faire était de récupérer le code source pour ce qui était recherché.
Exemple: OS X 10.8.5
https://gist.github.com/reklis/fa26d4e8db62d6eea9ea
Procédure:
Allez ici (ou votre version OS X)
http://www.opensource.apple.com/release/mac-os-x-1085/
Télécharger l'archive tar XNU, extraire, grep pour "parse_boot"
cd xnu; grep -iRn parse_boot .
la source
Sans oublier l'énorme utilité (si vous avez mis à jour vers Lion et que vous souhaitez utiliser votre mac en «mode clapet fermé» avec le couvercle ouvert)
bravo à: chenga.8
Ce qui me dérange cependant, c'est que je ne trouve aucune explication à cela. Pourquoi 0x0? Pourquoi pas 0x1? Que signifie «iog» de toute façon?
Je dois souligner que sur mon macbook cela ne fonctionne pas.
la source
Apple ne semble pas fournir une liste complète. Googler pour quelques options connues et
site:apple.com
ne donne aucun résultat. Réduire la liste des options trouve des articles comme celui-ci et du code source analysant ces arguments, mais rien de complet.Vous pouvez également rechercher
PE_parse_boot_arg
une fonction qui, bien, analyse les arguments de démarrage.Cela étant dit, il y a quelques pages tierces sur le Web où les utilisateurs fournissent les informations les plus complètes que j'ai pu trouver, mais elles peuvent être obsolètes:
la source