Darwin Boot Options

When you boot your hackintosh you can press “F8” before you see the gray apple boot screen.

then you should see a menu with all the partitions you have, at this time you may choose between the partitions using up/down arrows (it defines what partition to load from).
another thing you can do at this boot prompt is to specify boot options.
note that the last line says: “boot:” this is your prompt, you may write one of the next options:
[Kernel Name]
 
[Kernel Flags]
 
[Boot Flags]
  -s
  -v
  -f
  -x
 
[Parameters]
  cpus=
  “Graphics Mode”=
  rd=
  config=
  platform=
  idlehalt=
  legacy
 
[Info]
  ?memory
  ?video
 
[UnKnown flags]
  debug=0x144

Kernel Name this boot option state what kernel to use in order to load the system, for instance you may use mach_kernel or any other kernel you downloaded and want to try (new EFI supporting kernel or new version of kernel), the kernel must be in folder “/”
Kernel Flags you can enter kernel flags that should be used during this boot time, kernel flags examples: debug=0x144 io=0xffffffff (not so sure what these guys do, but read more on kernel)
 
-s mean you would like to enter “Single User” mode which doesn’t load GUI and doesn’t mount partitions but gives you a prompt so you can make system maintenance and recovery procedures.
-v loads the system in Verbose mode which display allot of log lines during boot time and does not display the apple gray boot screen, it is good to use this option if things go wrong, or if you get an error screen and you want to know the reason.
-f tells the hackintosh to reload all kext (Kernel Extensions = drivers) and dump the cache, not rely on it (kext cache found in: /System/Library/Extensions.mkext, you can delete it manually and the system will recreate it)
the kext cache is built of the necessary kext that needs to be loaded and it will be created whenever it does not exist.
you can use a command line utility (from terminal) named: “mkextunpack” to extract the content and see what kext are cached for example the command:
mkextunpack -d /111 /System/Library/Extensions.mkext
will extract the content to a folder (that must exist before runing this command) /111
you can also use the command line utility “kextcache” to create or update kextcache.
-x this option boot the system into safe mode ignoring kext cache and loads only necessary kext
cpus= this parameter tells the hackintosh how many cpus to use, for instance if you have dual CPU or dual Core then you can state cpus=2, so the system will use both cpus, and if you get reboot without loading GUI or boot screen then you may use cpus=1 to allow use of one cpu and avoid reboot
“Graphics Mode”= this parameter tells the hackintosh to use stated graphics resolution and color depth, the pattern to use is: WidthxHeightxDepth@RefreshRate for instance a resolution of 640×480 with 32 bit color depth and 60 hertz frequancy refresh rate will look like this:
“Graphics Mode”=”640x480x32@60”
rd= this parameter state what is the boot disk to use (instead of using the boot menu appearing before the prompt) you state the drive and partition in the pattern: diskXsY where X stands for the disk number (first disk (usually primary master in IDE) 0 second disk is 1 etc.) and Y stands for the partition on that disk starting with 1 as the first partition, so if you have one disk and one partition the parameter will look like this: rd=disk0s1
config= this parameter tells the system to load using different copy of the boot config file, the default copy used is kept in:
/Library/Preferences/SystemConfiguration/com.apple.Boot.plist
the content of this file state boot options such as:
timeout (how much time to wait for user selection in boot prompt)
kernel (what kernel to use)
kernel flags (what kernel flags to use in each and every boot)
quiet boot (weather to display boot menu or not)
boot graphics (if to boot with apple spinning circle)
etc.
platform= this parameter sets the platform to use at this boot time, you may use:
platform=ACPI (ACPI support)
platform=X86PC (non ACPI support)
platform=ACPI|86PC (try to support ACPI if fails do not support it)
idlehalt gets two values ether 1 or 0 stating true or false, if set to true then at idle time the cpu will halt causing power saving and cooling of CPU, if set to 0 then the cpu will allways run even in idle time.
idlehalt=0
idlehalt=1
-legacy causes the system to load in 32 bit mode while running on 64 bit systems
?memory this info screen display information about the memory on the machine
?video this info screen display information about the video card supported graphic modes
This entry was posted in OSx86. Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *