Operation Manual

The first file, arm128_start.elf, is configured to split the memory down the middle, with 128 MB available to the
BCM2835s ARM CPU and 128 MB available to the VideoCore IV GPU.
The second and third files gradually reduce the amount of memory available to the GPU. arm192_start.elf gives 192 MB to
the CPU and 64 MB to the GPU, while arm224_start.elf gives 224 MB to the CPU and 32 MB to the GPU. By telling the
Pi to use these files, you can increase the amount of memory available for general-purpose computing.
Applications that do heavy graphics work, such as 3D games and high-definition video playback software, typically need 128 MB of memory for the
GPU. Reducing this can result in a dramatic drop in performance.
Most general-purpose distributions work on a 192 MB/64 MB split, but you can free up more memory for programs by forcing
the Pi to use the 224 MB/32 MB split. This can improve general-purpose performance without the risks associated with
overclocking the Pi.
To change how the memory is apportioned, simply delete start.elf from the /boot directory and copy one of the three other
versions in its place. Make sure you rename the file to start.elf, or the Pi wont boot. The easiest way to achieve this is to
type the following at the terminal:
sudo cp /boot/arm224_start.elf /boot/start.elf
When you next reboot the Pi, it will have more memory available to the ARM CPU. To check the amount of memory available,
type free at the terminal. To change to another memory split, simply repeat the preceding command with a different version of
start.elf as the source file: arm_192_start.elf or arm128_start.elf.
Software Settings—cmdline.txt
In addition to config.txt, which controls various features of the Pis hardware, theres another important text file in the /boot
directory: cmdline.txt (see Figure 6-3). This file contains what is known as the kernel mode lineoptions passed to the Linux
kernel as the Pi boots up.
Figure 6-3: The cmdline.txt file in /boot