ARM Linux 上的内核初始化参数¶
以下文档描述了内核初始化参数结构,也称为“struct param_struct”,它用于大多数 ARM Linux 架构。
此结构用于将初始化参数从内核加载器传递到 Linux 内核,并且在内核初始化过程中可能很短暂。 一般来说,不应在 arch/arm/kernel/setup.c:setup_arch() 之外引用它。
其中列出了很多参数,下面将对其进行描述
- page_size
此参数必须设置为机器的页面大小,并且将由内核检查。
- nr_pages
这是系统中内存页面的总数。 如果内存已分组,则此项应包含系统中的页面总数。
如果系统包含单独的 VRAM,则此值不应包含此信息。
- ramdisk_size
这现在已过时,不应使用。
- flags
各种内核标志,包括
位 0
1 = 以只读方式挂载根目录
位 1
未使用
位 2
0 = 加载 ramdisk
位 3
0 = 提示 ramdisk
- rootdev
要挂载为根文件系统的设备的主/次编号对。
- video_num_cols / video_num_rows
这两个参数共同描述了虚拟控制台或 VGA 控制台字符大小的字符大小。 它们不应用于任何其他目的。
通常,最好将它们设置为标准 VGA,或与您的 fbcon 显示器等效的字符大小。 这样可以正确显示所有启动消息。
- video_x / video_y
这描述了 VGA 控制台上光标的字符位置,否则未使用。(不应用于其他控制台类型,也不应用于其他目的)。
- memc_control_reg
基于 Acorn Archimedes 和 Acorn A5000 的机器的 MEMC 芯片控制寄存器。 不同的架构可能会以不同的方式使用它。
- sounddefault
Acorn 机器上的默认声音设置。 不同的架构可能会以不同的方式使用它。
- adfsdrives
ADFS/MFM 磁盘的数量。 不同的架构可能会以不同的方式使用它。
- bytes_per_char_h / bytes_per_char_v
这现在已过时,不应使用。
- pages_in_bank[4]
系统内存的每个 bank 中的页面数(用于 RiscPC)。 这旨在用于物理内存从处理器角度来看不连续的系统。
- pages_in_vram
VRAM 中的页面数(用于 Acorn RiscPC)。 如果无法从硬件获取视频 RAM 的大小,则加载程序也可以使用此值。
- initrd_start / initrd_size
这描述了初始 ramdisk 的内核虚拟起始地址和大小。
- rd_start
软盘上 ramdisk 镜像的起始地址(以扇区为单位)。
- system_rev
系统修订号。
- system_serial_low / system_serial_high
系统 64 位序列号
- mem_fclk_21285
21285(footbridge)的外部振荡器的速度,它控制着内存总线、定时器和串行端口的速度。 根据 cpu 的速度,其值可以在 0-66 MHz 之间。 如果未传递任何参数或传递了零值,则在 21285 架构上,默认值为 50 Mhz。
- paths[8][128]
这现在已过时,不应使用。
- commandline
内核命令行参数。 详细信息可以在其他地方找到。