The kernel accept various "command-line" parameters that can be passed in on the GRUB "kernel" line. Normally the only parameter needed is "root=boot-device" to tell the kernel where to find the bootup filesystem. Everything else is optionally and are rarely needed. All parameters are given as "name=value" with no spaces around the "=" sign (the parsing is not very robust so be very careful whith the syntax). Numbers can be prefixed with "0x" to indicate a hexadecimal number or a "0" to indicate an octal number. Numbers can also be postfixed with "k" for kilo (1024) and "M" for mega (1048576). The size-postfix must come immediatly after the number (no spaces in between). The kernel kan take the following "command-line" parameters: "root", "rootfs", "rootfsargs", "bootmode", "memsize", "debug_baudrate", "debug_port", "debug_plaintext", "disable_pci", "disable_smp", "uspace_start", "uspace_end" root: Tell the kernel what partition should be booted (for example /dev/disk/bios/hda/1). This is the only non-optional parameter. rootfs: This tell the kernel what FS-driver to use when mounting the boot filesystem. This defaults to afs which is normaly what is desired. rootfsargs: Arguments passed to the mount() function when mounting the boot filesystem. None of the current FS-drivers take additional parameters. bootmode: A string indicating the boot-mode. (CURRENTLY BROKEN. DO NOT USE) memsize: If the boot-loader for some reason mis-detect the memory size you can enforce the size with this parameter. The value is the memory size in bytes. You can add "k" for kilobytes or "M" for megabytes. debug_baudrate: The AtheOS kernel will write a lot of progress information and if someting goes wrong, error messages to COM2 when booting. This parameter tell what baudrate to use for transmitting the kernel output. Setting the baudrate to 0 will disable all serial output. The default value is 0. debug_port Which COM port to use for kernel output and the kernel debugger. The default value is 2. (Note that if you plan to use a serial mouse this currently must be plugged into com1 and the kernel output must be sendt to com2). debug_plaintext When running, the AtheOS kernel and it's device drivers will print debug information and accept kernel-debugger commands from one of the serial ports (see debug_baudrate and debug_port). Normally the kernel will wrap this information in a simple protocol that allows you to see the kernel output and run the kernel debugger in separate windows on a second AtheOS machine. If you however don't have a second AtheOS machine but still want to see the kernel output and run the debugger you can disable the protocol by passing "debug_plaintext=true" to the kernel. This will make the it output plain ascii text, and it will accept kernel debugger commands in plain ascii. The output from the kernel debugger will then be interleaved with other messages from the kernel. The following commands should normally not be given but can be useful in some cases when debugging or running in a "unusual" environment like a virtual machine. disable_pci Pass "disable_pci=true" to disable the PCI-BUS scan during bootup. disable_smp Pass "disable_smp=true" to prevent AtheOS from booting any additional CPU's. uspace_start and uspace_end: Set the start and end of the user address-space. Normally AtheOS allow all addresses between 0x80000000 and 0xffffffff to be used by a user-space process which is ok for a "real" CPU but the VMWare virtual-machine do not allow the upper 8MB to be used for stack-space so to be able to boot AtheOS under VMWare you will have to restrict the upper boundary of the address-space. Passing in "uspace_end=0xf7ffffff" should allow AtheOS to boot under VMWare.