This is just a quicky on how to customize your boot plist so that you can set your graphics mode, boot loader time out, boot flag and various other options.

First of all, open Terminal and type (or paste) this:
CODE
sudo pico /Library/Preferences/SystemConfiguration/com.apple.Boot.plist
(Replace pico with your favourite text-based editor!)You will need to enter your password to gain root access.
Once in, the files contents will appear and you can now modify settings such as:
<key>Kernel Flags</key>CODE
Add your graphics mode | <string>"Graphics Mode"="1280×1024×32"</string>
CODE
Choose which disk to boot | <string>rd=diskXsY</string>
CODE
Add service flags | <string>-f -s</string>
CODE
Or just add everything | <string>"Graphics Mode"="1280×1024×32" rd=diskXsY -f -s</string>
<key>Boot Loader Timeout</key>CODE
Set the number of secconds before the bootloader attempts to boot a disk. | <string>SECS</string>
Don't screw anything up, and you should be fine.
Could you perhaps exapand on the order in which entries are edited into boot.plist?
Or perhaps explain the use of pico vs nano?
Also possibly include the keypresses required to save and exit pico?
More bootflags would be awesome too:
QUOTE
QUOTE (PolishOX @ May 17 2009, 10:59 AM)

Could you perhaps exapand on the order in which entries are edited into boot.plist?
Or perhaps explain the use of pico vs nano?
Also possibly include the keypresses required to save and exit pico?
More bootflags would be awesome too:
On most systems, including current versions of Ubuntu and OS X, pico is literally just symlinked to nano. Meaning pico once existed as a separate program, but on these unix-based or unix-like systems, pico is just a pointer to nano. It was discontinued
Save and exit by pressing ctrl-x, it'll then prompt you to save, just hit enter to save with the default name if the file already exists, and then y to overwrite, you also have to open it as root (with sudo).
Just to add a tip , you may alternatively use OSX TextEdit and write it directly (if you prefer a GUI rather then CLI). Its just a tip and some of us have their own preference
CODE
sudo /Applications/TextEdit.app/Contents/MacOS/TextEdit /Library/Preferences/SystemConfiguration/com.apple.Boot.plist
Basically it fires up TextEdit.app for you as root (since you're running it as root) and allows you directly to edit your com.apple.Boot.plist and save it !
I mean it takes for a while for one to get command line. This is just an alternative approach to it !
QUOTE (prasys @ May 18 2009, 10:49 AM)

Just to add a tip , you may alternatively use OSX TextEdit and write it directly (if you prefer a GUI rather then CLI). Its just a tip and some of us have their own preference
CODE
sudo /Applications/TextEdit.app/Contents/MacOS/TextEdit /Library/Preferences/SystemConfiguration/com.apple.Boot.plist
Basically it fires up TextEdit.app for you as root (since you're running it as root) and allows you directly to edit your com.apple.Boot.plist and save it !
I mean it takes for a while for one to get command line. This is just an alternative approach to it !
You can also do this on the dvd (without sudo, since you're already root) and make edits from within the dvd environment if you need to add device id's to an AHCI plist for example (i had to do this last week for a friend).
QUOTE (realityiswhere @ May 17 2009, 04:44 PM)

On most systems, including current versions of Ubuntu and OS X, pico is literally just symlinked to nano. Meaning pico once existed as a separate program, but on these unix-based or unix-like systems, pico is just a pointer to nano. It was discontinued
discontinued?
wut? :)
pico is *still* the texteditor of pine, 'my' good old and beloved console based mail client with imapv4 support ;) don't be talking of it, as if it's dead man :D
nano is actually the successor of pico - not in use by pine - but as a texteditor itself. heh, i still even rembember the first announcement of nano on some german linux site called pro-linux.de but i guess no one it interested in stuff like history or such here...
anyway, many people were using it as a simple text editor to edit config files and such type of files back then and i guess, many people still cannot get that 'pico' outta their heads. i'm still typing constantly pico and wish myself to hell reading this 'command not found' again and again until i put up an alias for it pointing to nano :) guess yourself how i've been amazed of having an out of the box 'pico' coming with osx :D
edit: or is it a darwin/bsd-feature!?
QUOTE (aprodigy @ May 18 2009, 11:26 PM)

discontinued?
Pine (developed into alpine) and pico are in effect discontinued. It has some what restricted license as well, if you make changes to the source you are required to get University of Washington permission to distribute it. Nano is GPL.
From an old post by SuperHai the Great:
QUOTE
# DTrace
dtrace_dof_mode - Set DTrace DOF modes {0/1/2/3}
DisableFBT - Disable FBT {1}
IgnoreFBTBlacklist - Ignore blacklist of certain critical modules {1}
# BSD
-b - Don't run /etc/rc.boot
-l - Log leaks
srv - Boot as server {1}
ncl - Number of clusters
nbuf - Number of buffers for bsd
kmem - Kernel memory access {1}
trace - Kernel trace buffer size
msgbuf - Message Buffer
rp - Root path
mcache_flags - Memory cache flags
mbuf_debug - MBuf Debug {1}
initmcl - Init mbuf clusters
socket_debug - Socket debug (net)
net_affinity - Net Affinity (net)
rte_debug - Route debug (net) {flags}
-rwroot_hack - Mount root read/write
# IOKit
mseg - Max segment
dart - Remove mapper present
io - IO Kit Debug
# Mach
keepsyms - Do not unload KLD/Address-symbol translation {1}
debug - Kernel debug {flags}
nvram_paniclog - commit paniclog to NVRAM {1}
pmsafe_debug - Put CPUs into "safe" power mode {1}
preempt - Set default preemption rate
unsafe - Max unsafe quanta
poll - Max poll quanta
yield - Schedule poll yield shift
idlehalt - Halt idle thread to allow cpu into lowpower mode {1}
panic_io_port - In a panic read from this I/O port {0x0 to 0xffff}
_fpu - Limit boot-time cpu features {387/mmx/sse}
diag - Diagnostic output
serial - Serial diagnostic console
maxmem - Maximum memory to use
cpus -Numbers of cpus
himemory_mode - Set memorymode for over 4GB {0 - All pages available/1- disable high mem/2 - prefer high mem}
immediate_NMI - Force immediate NMI debugger {1}
-legacy - Force legacy 32bit mode
lcks - Lock statistics
novmx - No altivec emulation in Rosetta {1}
max_valid_dma_addr - Max valid DMA address
maxbouncepool - Max bounce pool size
maxloreserve - Max low reserve
npvhash - Physical to virtual mapping hash
wpkernel - Write protect kernel {1}
-no_shared_cr3 - Disable shared kernel address space for 64 bit users
-pmap_trace - Enable kernel traces for pmap
_panicd_ip - IP of panic server
_router_ip - IP of router
panicd_port - Port of panic server
-zc - Free zone element checking
mtxspin - Mutex spin (ppc)
vmmforce - VMM force (ppc)
fn - Force nap (ppc) (acpi) {0/1/2}
pmsx - Experimental power management stepper mode (ppc) {1}
ctrc - Set tracing to specific cpu (ppc)
tb - Non-default trace buffer size (ppc)
wcte - Write combine timer enable (ppc)
mcklog - Clear machine check flag (ppc)
mcksoft - Machine check software recovery (ppc)
ht_shift - Non-default hash table size (ppc) {1}
zsize - Target zone size
colors - Set VM colors
fill - Fill pages
serialbaud - Set serial baud rate
# Boot
-v - Verbose Mode
-x - Safe Mode
-f - Old Safe Mode
-F - Ignore Boot File
-s - Single User Mode
Graphics Mode - VESA Graphics Mode Dimensions
Text Mode - VGA Text Mode Dimensions
Boot Graphics - Graphics or Text Mode
Quiet Boot - Quiet Bootmode
MKext Cache - Mkext cache file
Kernel Cache - Kernel Cache file
rd - Root Device
boot-uuid - Boot UUID
platform - Platform Expert {ACPI}
config - Load alternate config plist
# Other
smbios - Verbose SMBIOS (AppleSMBIOS.kext) {1}
acpi - Debug AppleACPIPlatform {1-8}
acpi_level - ACPI Debug Level
acpi_layer - ACPI Debug Layer
acpi_sleep - ACPI Sleep
nvdebug - NVDAResman debug
nvrm - NVDAResman
ndrv_debug_level - NDRV Debug Level (NVDAResman)
pstep - Power Step Debug (ACPI_SMC)
hpet - AppleHPET