| Kernel initialisation parameters on ARM Linux | |
| --------------------------------------------- | |
| The following document describes the kernel initialisation parameter | |
| structure, otherwise known as 'struct param_struct' which is used | |
| for most ARM Linux architectures. | |
| This structure is used to pass initialisation parameters from the | |
| kernel loader to the Linux kernel proper, and may be short lived | |
| through the kernel initialisation process. As a general rule, it | |
| should not be referenced outside of arch/arm/kernel/setup.c:setup_arch(). | |
| There are a lot of parameters listed in there, and they are described | |
| below: | |
| page_size | |
| This parameter must be set to the page size of the machine, and | |
| will be checked by the kernel. | |
| nr_pages | |
| This is the total number of pages of memory in the system. If | |
| the memory is banked, then this should contain the total number | |
| of pages in the system. | |
| If the system contains separate VRAM, this value should not | |
| include this information. | |
| ramdisk_size | |
| This is now obsolete, and should not be used. | |
| flags | |
| Various kernel flags, including: | |
| bit 0 - 1 = mount root read only | |
| bit 1 - unused | |
| bit 2 - 0 = load ramdisk | |
| bit 3 - 0 = prompt for ramdisk | |
| rootdev | |
| major/minor number pair of device to mount as the root filesystem. | |
| video_num_cols | |
| video_num_rows | |
| These two together describe the character size of the dummy console, | |
| or VGA console character size. They should not be used for any other | |
| purpose. | |
| It's generally a good idea to set these to be either standard VGA, or | |
| the equivalent character size of your fbcon display. This then allows | |
| all the bootup messages to be displayed correctly. | |
| video_x | |
| video_y | |
| This describes the character position of cursor on VGA console, and | |
| is otherwise unused. (should not be used for other console types, and | |
| should not be used for other purposes). | |
| memc_control_reg | |
| MEMC chip control register for Acorn Archimedes and Acorn A5000 | |
| based machines. May be used differently by different architectures. | |
| sounddefault | |
| Default sound setting on Acorn machines. May be used differently by | |
| different architectures. | |
| adfsdrives | |
| Number of ADFS/MFM disks. May be used differently by different | |
| architectures. | |
| bytes_per_char_h | |
| bytes_per_char_v | |
| These are now obsolete, and should not be used. | |
| pages_in_bank[4] | |
| Number of pages in each bank of the systems memory (used for RiscPC). | |
| This is intended to be used on systems where the physical memory | |
| is non-contiguous from the processors point of view. | |
| pages_in_vram | |
| Number of pages in VRAM (used on Acorn RiscPC). This value may also | |
| be used by loaders if the size of the video RAM can't be obtained | |
| from the hardware. | |
| initrd_start | |
| initrd_size | |
| This describes the kernel virtual start address and size of the | |
| initial ramdisk. | |
| rd_start | |
| Start address in sectors of the ramdisk image on a floppy disk. | |
| system_rev | |
| system revision number. | |
| system_serial_low | |
| system_serial_high | |
| system 64-bit serial number | |
| mem_fclk_21285 | |
| The speed of the external oscillator to the 21285 (footbridge), | |
| which control's the speed of the memory bus, timer & serial port. | |
| Depending upon the speed of the cpu its value can be between | |
| 0-66 MHz. If no params are passed or a value of zero is passed, | |
| then a value of 50 Mhz is the default on 21285 architectures. | |
| paths[8][128] | |
| These are now obsolete, and should not be used. | |
| commandline | |
| Kernel command line parameters. Details can be found elsewhere. |