Boot options in config.txt
These options specify the firmware files transferred to the Videocore GPU prior to booting.
start_file specifies the Videocore (VC4) firmware file to use.
fixup_file specifies the file used to fix up memory locations used in the
start_file to match the GPU memory split. Note that the
start_file and the
fixup_file are a matched pair - using unmatched files will stop the board from booting. This is an advanced option, so we advise that you use
start_debug rather than this option.
These provide a shortcut to some alternative
fixup_file settings, and are the recommended methods for selecting firmware configurations.
On the Pi 4, if the files
fixup4x.dat are present, these files will be used instead.
There is no specific handling for the Pi 4, so if you wish to use the Pi 4 debug firmware files, you need to manually specify
start_x=1 should be specified when using the camera module. Enabling the camera via
raspi-config will set this automatically.
disable_commandline_tags command to
1 to stop
start.elf from filling in ATAGS (memory from
0x100) before launching the kernel.
cmdline is the alternative filename on the boot partition from which to read the kernel command line string; the default value is
kernel is the alternative filename on the boot partition to use when loading the kernel. The default value on the Pi 1, Pi Zero, and Compute Module is
kernel.img, and on the Pi 2, Pi 3, and Compute Module 3 it is
kernel8.img is present on the Pi 3 or Compute Module 3, it will be loaded in preference and entered in 64-bit mode. NOTE: This must be an uncompressed kernel image file.
kernel_address is the memory address to which the kernel image should be loaded. 32-bit kernels are loaded to address
0x8000 by default, and 64-bit kernels to address
kernel_old is set, kernels are loaded to the address
1 to load the kernel to the memory address
ramfsfile is the optional filename on the boot partition of a ramfs to load. More information is available here.
ramfsaddr is the memory address to which the
ramfsfile should be loaded.
initramfs command specifies both the ramfs filename and the memory address to which to load it. It performs the actions of both
ramfsaddr in one parameter. The address can also be
0) to place it in memory after the kernel image. Example values are:
initramfs initramf.gz 0x00800000 or
initramfs init.gz followkernel. NOTE: This option uses different syntax from all the other options, and you should not use a
= character here.
init_uart_baud is the initial UART baud rate. The default value is
init_uart_clock is the initial UART clock frequency. The default value is
48000000 (48MHz). Note that this clock only applies to UART0 (ttyAMA0 in Linux), and that the maximum baudrate for the UART is limited to 1/16th of the clock. The default UART on the Pi 3 and Pi Zero is UART1 (ttyS0 in Linux), and its clock is the core VPU clock - at least 250MHz.
bootcode_delay command delays for a given number of seconds in
bootcode.bin before loading
start.elf: the default value is
This is particularly useful to insert a delay before reading the EDID of the monitor, for example if the Pi and monitor are powered from the same source, but the monitor takes longer to start up than the Pi. Try setting this value if the display detection is wrong on initial boot, but is correct if you soft-reboot the Pi without removing power from the monitor.
boot_delay command instructs to wait for a given number of seconds in
start.elf before loading the kernel: the default value is
1. The total delay in milliseconds is calculated as
(1000 x boot_delay) + boot_delay_ms. This can be useful if your SD card needs a while to get ready before Linux is able to boot from it.
boot_delay_ms command means wait for a given number of milliseconds in
start.elf, together with
boot_delay, before loading the kernel. The default value is
disable_splash is set to
1, the rainbow splash screen will not be shown on boot. The default value is
enable_gic (Pi 4B only)
On the Raspberry Pi 4B, if this value is set to
0 then the interrupts will be routed to the ARM cores using the legacy interrupt controller, rather than via the GIC-400. The default value is
This article uses content from the eLinux wiki page RPiconfig, which is shared under the Creative Commons Attribution-ShareAlike 3.0 Unported license