Raspberry Pi online course

Configure Raspberry Pi Boot Options

Learn how to use raspi-config to start a Raspberry Pi in console, desktop, or Scratch mode, save the setting, reboot, and troubleshoot common issues.

When a Raspberry Pi boots, it starts the computer and loads its operating system. Boot behaviour is the interface or application presented after the operating system starts. On legacy Raspbian installations, you can select a text console, a graphical desktop, or Scratch as the startup destination.

Your choice is saved as a system setting and normally applies to subsequent startups. The available names and menu locations can differ between Raspbian releases, so treat the labels below as a guide rather than an exact match for every installation.

Why change the boot behaviour?

  • Console: Starts at a text login prompt. This is useful for command-line learning, headless systems, and remote administration.
  • Desktop: Starts a graphical desktop environment with windows, menus, icons, and mouse support. This suits general-purpose local use.
  • Scratch: Starts the Scratch visual programming environment. This can be convenient for a classroom or a beginner-programming computer dedicated to interactive projects.

Choose the mode that matches how the Pi will be used. A desktop consumes more resources than a text console, while Scratch is most useful when the device has a focused educational purpose.

Open raspi-config

raspi-config is a text-menu configuration utility for Raspberry Pi system settings. Open a terminal and run:

sudo raspi-config

sudo runs the command with administrator privileges. You may be asked for your account password.

Use the keyboard to operate the utility:

  • Use the arrow keys to move through menu entries.
  • Press Enter to open a highlighted item or accept a choice.
  • Press Tab to move between controls such as buttons when applicable.
  • Read confirmation prompts carefully before selecting an option.

Find the boot-option setting

In older Raspbian versions, the relevant menu entry was historically labelled Enable Boot to Desktop/Scratch. Select that entry, or choose the boot- or startup-related entry with equivalent wording.

Menu names and locations vary between releases. A newer layout may separate two related decisions:

  • Boot target: Whether the system starts at a console or graphical environment.
  • Login or auto-login: Whether a login screen is shown or the standard Pi account is signed in automatically.

If the older label is missing, look for entries containing boot, startup, desktop, login, or auto-login. Use the installed release's menu help text when available.

Console boot

Console mode starts at a text-only terminal login prompt. After entering a username and password, you work in a console, also called a CLI (command-line interface). Commands are typed rather than selected from graphical controls.

This was the historical default choice for many Raspbian installations. It is suitable when:

  • The Pi runs without a regular monitor or keyboard, known as headless operation.
  • You administer the Pi remotely.
  • You are learning Linux shell commands.
  • You want a low-overhead startup with no graphical desktop loaded.

Console boot does not prevent you from starting graphical software later if the required desktop packages and display configuration are present.

Desktop boot

Desktop mode starts a graphical desktop environment. It provides windows, menus, icons, and support for a mouse and keyboard. In the historical setup, the standard Pi account could be used for the graphical session.

Choose desktop mode when the Pi is connected to a monitor for everyday use or when you need graphical applications such as a web browser, file manager, or graphical development tools.

Some releases distinguish between showing a graphical login screen and automatically entering a desktop session. A login is the authentication step that begins a user session. Auto-login signs in to a selected user account without requesting credentials at startup. Selecting a graphical boot target does not necessarily enable auto-login, so review both settings when the release provides them separately.

Scratch boot

Scratch is a visual, block-based programming environment. Users assemble blocks to create interactive projects such as animations and games without typing traditional source code.

A Scratch boot option launches Scratch during startup. It is appropriate for a classroom computer or a Raspberry Pi dedicated to beginner programming because learners can begin creating projects with fewer setup steps.

Scratch boot integration depends on the Raspbian version and the installed Scratch package. Some releases do not offer Scratch as a direct boot target. In that case, use desktop mode and launch Scratch from the graphical environment after confirming that the application is installed.

Select, save, and apply the choice

  1. Run sudo raspi-config.
  2. Open the boot- or startup-related menu. On older systems, this may be Enable Boot to Desktop/Scratch.
  3. Select the desired console, desktop, or Scratch option.
  4. Confirm the selection when prompted.
  5. Exit raspi-config cleanly.
  6. Restart the Raspberry Pi so the new boot target can take effect.

From a terminal, restart safely with:

sudo reboot

From the desktop, use the system menu's normal Restart or Reboot command. Close or save open work first. Do not remove power while the operating system is running unless normal shutdown is impossible, because an abrupt power loss can damage files.

Compare the three historical choices

  • Console: Text login prompt; the user logs in and runs shell commands; generally the simplest and lowest-overhead option; best for headless administration, command-line work, and remote access.
  • Desktop: Graphical session or graphical login; may require a separate auto-login choice; best for browser, file manager, and other desktop applications; uses more memory and processing resources.
  • Scratch: Scratch launches at startup when supported and installed; best for dedicated beginner-programming activities; availability depends on the Raspbian release and package installation.

For command-oriented or low-overhead systems, choose console mode. For general-purpose local use with a monitor, choose desktop mode. For a computer intended to open directly into introductory programming activities, choose Scratch mode when the installation supports it.

Troubleshoot boot-option problems

The expected boot-option label is missing

The installed Raspbian release may use a different raspi-config layout. The setting may be grouped under system, startup, desktop, login, or auto-login options.

  • Search the menus for boot, startup, desktop, login, or auto-login.
  • Read the menu help text for the installed release.
  • Remember that newer releases may separate the boot target from automatic login.

The Pi still starts in the old mode

The selection may not have been confirmed, or the Pi may not have been restarted.

  1. Run sudo raspi-config again and verify the selected setting.
  2. Confirm the choice before leaving the utility.
  3. Exit cleanly and run sudo reboot.

The desktop does not appear

Possible causes include missing or damaged desktop packages, a display connection problem, or a configuration that shows a graphical login rather than automatically entering a desktop session.

  • Confirm that the graphical desktop packages are installed.
  • Check monitor power, cable connections, and display settings.
  • Review the separate login or auto-login setting if the installed release provides one.

Scratch is unavailable or does not start

Scratch may not be installed, or the operating system may no longer provide the historical Scratch boot integration.

  • Verify that the intended Scratch application is installed.
  • Launch Scratch from the desktop to confirm that it works normally.
  • If direct Scratch boot is unavailable, select desktop startup and configure application launching using the facilities provided by that release.

Related Raspberry Pi skills