On Debian and derivatives, the package you’re looking for is gcc-arm-none-eabi:

apt install gcc-arm-none-eabi

To find this out yourself in future, install apt-file, update your indexes and use it to search for commands:

apt install apt-file
apt-file update
apt-file search bin/arm-none-eabi-gcc
Answer from Stephen Kitt on Stack Exchange
🌐
Arch Linux
archlinux.org › packages › extra › x86_64 › arm-none-eabi-gcc
Arch Linux - arm-none-eabi-gcc 14.2.0-2 (x86_64)
View the file list for arm-none-eabi-gcc · View the soname list for arm-none-eabi-gcc
🌐
Arch Linux
aur.archlinux.org › packages › gcc-arm-none-eabi-bin
AUR (en) - gcc-arm-none-eabi-bin - Arch Linux
https://armkeil.blob.core.windows.net/developer/files/downloads/gnu/15.2.rel1/binrel/arm-gnu-toolchain-15.2.rel1-aarch64-arm-none-eabi.tar.xz
Discussions

software installation - Installing arm-none-eabi-gcc - Unix & Linux Stack Exchange
My guess is because I don't have the arm-none-eabi-gcc installed on my system but when I enter the command sudo apt-get install arm-none-eabi-gcc I get an error saying there is no such package. More on unix.stackexchange.com
🌐 unix.stackexchange.com
July 9, 2017
Arch Linux ARM • View topic - gcc-arm-none-eabi for aarch64
Just took the x86_64 version and ... GDB)" arch=('aarch64') depends=('glibc') optdepends=( 'arm-none-eabi-gdb: GNU Debugger for ARM EABI' ) provides=('gcc-arm-none-eabi' 'arm-none-eabi-gcc' 'arm-none-eabi-binutils' 'arm-none-eabi-newlib' ) conflicts=('gcc-arm-none-eabi' 'arm-none-eabi-gcc' 'arm-none-eabi-binutils' 'arm-none-eabi-newlib' ) url="https://developer.arm.com/open-source/gnu-toolchain/gnu-rm" source=("https://armkeil.blob.core.windows.net/developer/Files/downloads/gnu-rm/10... More on archlinuxarm.org
🌐 archlinuxarm.org
arm-none-eabi-gcc (bleeding-edge-toolchain) 9.1.0

no one:

freddiechopin: here's something for embedded development with the stuff that's so fresh it's even called "bleeding"

More on reddit.com
🌐 r/embedded
11
30
May 3, 2019
Which gcc is safe for armv7l?
arm-linux-gnueabi is for Linux development and arm-none-eabi is for bare metal. You should choose a supported version, so currently either 9.4, 10.3 or 11.2. I'd go for 11.2 unless you have a good reason to use an older version. More on reddit.com
🌐 r/embedded
9
2
March 11, 2022
🌐
Arm Developer
developer.arm.com › downloads › - › gnu-rm
Downloads | GNU Arm Embedded Toolchain Downloads – Arm Developer
This will prevent GCC from cloning such functions. Release notes for **************************************************** GNU Arm Embedded Toolchain 2020-q2-update **************************************************** This release includes bare metal pre-built binaries for AArch32 EABI targets, which can be hosted on: * Windows 10 or later on 32/64-bit architecture ...
🌐
Arm Developer
developer.arm.com › downloads › - › arm-gnu-toolchain-downloads
Arm GNU Toolchain Downloads – Arm Developer
$ arm-none-eabi-gcc -mcpu=cortex-m55 -mfloat-abi=hard · Arm GNU Toolchain 15.2.rel1 supports a set of multilibs in each toolchain. To list all multilibs supported by any of the toolchain, use --print-multi-lib option. For example, ... To check which multilib is selected by the arm-none-eabi toolchain based on -mthumb, -mcpu, -mfpu and -mfloat-abi command line options:
🌐
Arch Linux
archlinux.org › packages › extra › x86_64 › arm-none-eabi-gcc › files
Arch Linux - arm-none-eabi-gcc 14.2.0-2 (x86_64) - File List
Arch Linux · Home · Packages · Forums · Wiki · GitLab · Security · AUR · Download · Package has 2524 files and 285 directories. Back to Package · usr/ usr/arm-none-eabi/ usr/arm-none-eabi/include/ usr/arm-none-eabi/include/c++/ usr/arm-none-eabi/include/c++/14.2.0/ usr/arm-none-eabi/include/c++/14.2.0/algorithm ·
🌐
Arch Linux Man Pages
man.archlinux.org › man › arm-none-eabi-gcc.1.en
arm-none-eabi-gcc(1) — Arch manual pages
gcc - GNU project C and C++ compiler · gcc [-c|-S|-E] [-std=standard] [-g] [-pg] [-Olevel] [-Wwarn...] [-Wpedantic] [-Idir...] [-Ldir...] [-Dmacro[=defn]...] [-Umacro] [-foption...] [-mmachine-option...] [-o outfile] [@file] infile
🌐
GitHub
github.com › marketplace › actions › arm-none-eabi-gcc-gnu-arm-embedded-toolchain
arm-none-eabi-gcc GNU Arm Embedded Toolchain - GitHub Marketplace
GitHub Action (compatible with Linux x86_64 and aarch64, macOS x86_64 and arm64, and Windows x86_64 platforms) to download, check, set up, and cache the arm-none-eabi-gcc compiler toolchain.
Find elsewhere
🌐
Linux Mint Forums
forums.linuxmint.com › board index › main edition support › software & applications
Getting to work ARM-compiler arm-none-eabi with Linux 21 Vanessa - Linux Mint Forums
November 28, 2022 - sudo ln -s /usr/share/gcc-arm-11.2-2022.02-x86_64-arm-none-eabi/bin/arm-none-eabi-gcc /usr/bin/arm-none-eabi-gcc ... 3)Install dependency sudo apt install libncurses-dev 4) Create links 5) From here on: I can call arm-none-eabi-gcc and g++ version without an error.
🌐
Arch Linux ARM
archlinuxarm.org › forum › viewtopic.php
Arch Linux ARM • View topic - gcc-arm-none-eabi for aarch64
Just took the x86_64 version and replaced the link with the aarch version / md5 checksums $this->bbcode_second_pass_code('', ' # Original Maintainer: James Duley <jagduley gmail> # Previous Maintainer: 2bluesc <2bluesc gmail.com> # Maintainer: Vadzim Dambrouski <pftbest gmail.com> pkgname=gcc-arm-none-eabi-bin pkgver=10_2020_q4_major pkgrel=1 pkgdesc="GNU Tools ARM Embedded Processors (binary distribution, includes newlib, does NOT include GDB)" arch=('aarch64') depends=('glibc') optdepends=( 'arm-none-eabi-gdb: GNU Debugger for ARM EABI' ) provides=('gcc-arm-none-eabi' 'arm-none-eabi-gcc' 'ar
🌐
Arch Linux
archlinux.org › packages › extra › any › arm-none-eabi-newlib
Arch Linux - arm-none-eabi-newlib 4.5.0.20241231-2 (any)
Arch Linux · Home · Packages · Forums · Wiki · GitLab · Security · AUR · Download · Source Files / View Changes · Bug Reports / Add New Bug · Search Wiki / Manual Pages · Security Issues · Flagged out-of-date on 2026-02-04 · Download From Mirror · arm-none-eabi-gcc (make) libopencm3 ...
🌐
Arm Learning
learn.arm.com › install-guides › gcc › arm-gnu
Arm GNU Toolchain | Arm Learning Paths
$HOME/arm-gnu-toolchain-15.2.rel1-aarch64-arm-none-eabi/share/doc/gcc-arm-none-eabi/examples
🌐
Arch Linux
security.archlinux.org › package › arm-none-eabi-gcc
arm-none-eabi-gcc - Arch Linux
Arch Linux · Packages · Forums · GitLab · Security · Download · issues · advisories · stats · login
🌐
Homebrew
formulae.brew.sh › formula › arm-none-eabi-gcc
arm-none-eabi-gcc — Homebrew Formulae
brew install arm-none-eabi-gcc · GNU compiler collection for arm-none-eabi · https://gcc.gnu.org · License: GPL-3.0-or-later WITH GCC-exception-3.1 · Development: Pull requests · Formula JSON API: /api/formula/arm-none-eabi-gcc.json · ...
🌐
Debian
packages.debian.org › sid › gcc-arm-none-eabi
Package: gcc-arm-none-eabi (15:15.2.rel1.1-3 and others)
gcc-arm-none-eabi-source · ... gcc-riscv64-unknown-elf · libnewlib-arm-none-eabi · gcc-xtensa-lx106 · Bare metal C and C++ compiler for embedded ARM chips using Cortex-M, and Cortex-R processors....
🌐
Internet Archive
archive.org › software
arm-none-eabi-gcc package archive from Arch Linux : Arch Linux : Free Download, Borrow, and Streaming : Internet Archive
June 4, 2018 - The GNU Compiler Collection - cross compiler for ARM EABI (bare-metal) target This item contains old versions of the Arch Linux package for arm-none-eabi-gcc.
🌐
GitHub
gist.github.com › artizirk › f6ab0bd787fecf2c5eceab27b82ea2fe
Some instructions on how to build a arm embeded linux system from scratch based on the Cubietruck board with sunxi mainline kernel https://wiki.wut.ee/en/arm · GitHub
Download ZIP · Some instructions on how to build a arm embeded linux system from scratch based on the Cubietruck board with sunxi mainline kernel https://wiki.wut.ee/en/arm · Raw · linux_from_scratch_with_googlefoo.md · netbooting cubietruck with from source software built under arch linux · install arm gcc and other tools · pacman -S arm-none-eabi-gcc uboot-tools bc ·
Top answer
1 of 5
49

It turned out that ARM decided to make our life easier (sarcasm) by deprecating the use of PPA - their page at launchpad now has an anouncement: "... all new binary and source packages will not be released on Launchpad henceforth ...".

So, to make use of their latest arm-none-eabi-gdb you have to install gcc-arm-embedded manually.

Remove arm-none-eabi-gcc from your system:

sudo apt remove gcc-arm-none-eabi

Download latest version (Linux x86_64 Tarball) from their website, check its MD5. Unpack it into some directory. I used /usr/share/ :

sudo tar xjf gcc-arm-none-eabi-YOUR-VERSION.bz2 -C /usr/share/

Create links so that binaries are accessible system-wide:

sudo ln -s /usr/share/gcc-arm-none-eabi-YOUR-VERSION/bin/arm-none-eabi-gcc /usr/bin/arm-none-eabi-gcc 
sudo ln -s /usr/share/gcc-arm-none-eabi-YOUR-VERSION/bin/arm-none-eabi-g++ /usr/bin/arm-none-eabi-g++
sudo ln -s /usr/share/gcc-arm-none-eabi-YOUR-VERSION/bin/arm-none-eabi-gdb /usr/bin/arm-none-eabi-gdb
sudo ln -s /usr/share/gcc-arm-none-eabi-YOUR-VERSION/bin/arm-none-eabi-size /usr/bin/arm-none-eabi-size
sudo ln -s /usr/share/gcc-arm-none-eabi-YOUR-VERSION/bin/arm-none-eabi-objcopy /usr/bin/arm-none-eabi-objcopy

Install dependencies. ARM's "full installation instructions" listed in readme.txt won't tell you what dependencies are - you have to figure it out by trial and error. In my system I had to manually create symbolic links to force it to work:

sudo apt install libncurses-dev
sudo ln -s /usr/lib/x86_64-linux-gnu/libncurses.so.6 /usr/lib/x86_64-linux-gnu/libncurses.so.5
sudo ln -s /usr/lib/x86_64-linux-gnu/libtinfo.so.6 /usr/lib/x86_64-linux-gnu/libtinfo.so.5

Check if it works:

arm-none-eabi-gcc --version
arm-none-eabi-g++ --version
arm-none-eabi-gdb --version
arm-none-eabi-size --version
2 of 5
10

I've wrapped the script here by @kmhallen into a semi-automated debian package builder here: https://gitlab.com/alelec/arm-none-eabi-gcc-deb/-/releases

Installing a package like this means you can skip the tedious manual symlinks to put tools on the path, and just as importantly you can uninstall / upgrade to newer packages (assuming I remember to make more packages)

🌐
Apache
mynewt.apache.org › latest › get_started › native_install › cross_tools.html
Installing the Cross Tools for ARM — Apache Mynewt latest documentation
$ sudo apt-get remove ... apt-get install gcc-arm-none-eabi $ sudo apt-get install gdb-arm-none-eabi · Download and run the installer to install arm-none-eabi-gcc and arm-none-eabi-gdb....