diff options
| author | Cheng Li <[email protected]> | 2026-09-07 23:41:45 +0900 |
|---|---|---|
| committer | Rbb666 <[email protected]> | 2026-09-11 13:23:29 +0800 |
| commit | 4f95e33270a9134ee7f3b329320985cbd9e25fe9 (patch) | |
| tree | 1761330e33616e0de27b6171baf7a200c867e5d2 /documentation | |
| parent | 2bb31e568ad11f0f631406c7c6afba2a2650057b (diff) | |
[docs] fix outdated and missing apt packages in QEMU Linux quick start
The dependency list in the QEMU (Ubuntu) quick start no longer works on
current Debian/Ubuntu releases:
- gdb-arm-none-eabi no longer exists (dropped since Debian 11 /
Ubuntu 22.04); gdb-multiarch replaces it
- the qemu meta-package has been split up and can no longer be installed
- libncurses5-dev has been removed; libncurses-dev replaces it
- libstdc++-arm-none-eabi-newlib was missing, so linking fails with
"cannot find -lsupc++", which does not point at the missing package
- kconfiglib was not mentioned at all, although scons --menuconfig needs
it; python3-kconfiglib is packaged, and pip install kconfiglib is
rejected by PEP 668 on recent releases
Merge the eleven single-package commands into one, add a table mapping
the old package names to the current ones, and note the kconfiglib
requirement where menuconfig is first used.
Verified with apt-get -s install on Debian 13.
Diffstat (limited to 'documentation')
| -rw-r--r-- | documentation/2.quick-start/quick_start_qemu/quick_start_qemu_linux.md | 33 |
1 files changed, 22 insertions, 11 deletions
diff --git a/documentation/2.quick-start/quick_start_qemu/quick_start_qemu_linux.md b/documentation/2.quick-start/quick_start_qemu/quick_start_qemu_linux.md index 1945e4a333..d830239b66 100644 --- a/documentation/2.quick-start/quick_start_qemu/quick_start_qemu_linux.md +++ b/documentation/2.quick-start/quick_start_qemu/quick_start_qemu_linux.md @@ -7,19 +7,25 @@ The development of embedded software is inseparable from the development board. We need to type commands as following in the terminal: ```shell -sudo apt install gcc -sudo apt install python3 -sudo apt install python3-pip -sudo apt install gcc-arm-none-eabi -sudo apt install gdb-arm-none-eabi -sudo apt install binutils-arm-none-eabi -sudo apt install scons -sudo apt install libncurses5-dev -sudo apt install qemu -sudo apt install qemu-system-arm -sudo apt install git +sudo apt install git gcc scons python3 python3-kconfiglib \ + gcc-arm-none-eabi binutils-arm-none-eabi libstdc++-arm-none-eabi-newlib \ + gdb-multiarch qemu-system-arm libncurses-dev ``` +> Note for users of older tutorials or older distributions: several package +> names used to be different, and some no longer exist at all. If a package is +> reported as not found, check the table below: +> +> | Old package name | Current package name | Reason | +> | ---------------- | -------------------- | ------ | +> | `gdb-arm-none-eabi` | `gdb-multiarch` | Dropped since Debian 11 / Ubuntu 22.04 | +> | `qemu` | `qemu-system-arm` | The `qemu` meta-package has been split up; install only the ARM system emulator | +> | `libncurses5-dev` | `libncurses-dev` | The `ncurses5` transitional package has been removed | +> +> `libstdc++-arm-none-eabi-newlib` is required at link time. Without it the +> build fails with `cannot find -lsupc++`, which does not make the missing +> package obvious. + ## 2 Get RT-Thread source code Download RT-Thread Source Code : `git clone https://github.com/RT-Thread/rt-thread.git` @@ -75,6 +81,11 @@ Type following the command under `bsp/qemu-vexpress-a9` folder: scons --menuconfig ``` +`scons --menuconfig` requires `kconfiglib`. It is installed as +`python3-kconfiglib` by the command in chapter 1. Installing it with +`pip install kconfiglib` instead fails on recent Debian/Ubuntu releases, +because PEP 668 marks the system Python environment as externally managed. + The Env tool will be installed and initialized after using the `scons --menuconfig` command. Then it will enter the configuration interface, and you could configure the BSP:  |
