- Arm unknown linux gnueabi
- Latest commit
- Git stats
- Files
- README.md
- About
- gcc-arm-linux-gnueabi command not found
- 11 Answers 11
- ERROR make arm-uboot: arm-xilinx-linux-gnueabi-gcc: not found #60
- Comments
- ninode commented Jul 31, 2017
- davidbiancolin commented Aug 9, 2017
- ninode commented Aug 9, 2017 •
- davidbiancolin commented Aug 9, 2017
- ninode commented Aug 9, 2017
- ninode commented Aug 9, 2017 •
- davidbiancolin commented Aug 10, 2017
- ninode commented Aug 10, 2017
- Команда gcc-arm-linux-gnueabi не найдена
- 10 ответов
- Linux для ARM в эмуляторе qemu
Arm unknown linux gnueabi
⚒️ Bleeding edge GNU GCC toolchains (CC only) built from sources with latest binutils and glibc. (for ARM)
Latest commit
Git stats
Files
Failed to load latest commit information.
README.md
GNU GCC Toolchain
Bleeding edge GNU GCC AArch32 systems. built from sources with latest binutils and glibc. These Builds (on master/main branch) are always made from the latest GCC sources rather than stable releases.
This toolchain AArch32 AArch64 here. Built with Support for Link Time Optimization, -O3, —disable-nls and removed extras that we don’t need.
Getting the toolchain
Clone using git from this repo, As currently we don’t have any mirror or a archived release.
Note: This is continous updating repository made from the latest GCC sources rather than stable releases, if you want to use stable release of gcc clone the stable-gcc branch of this repository.
Note: Also using depth flag (—depth=1) is recommended as repository size is large and will keep increasing in future updates.
Using the toolchain
Export the CROSS_COMPILE in enviroment
Along with the compiler (GCC) which is built from latest sources, the GNU and other libraries and prerequisite are also been built from latest sources itself.
Multiple-Precision Floating-Point Computations with Correct Rounding (MPFR) http://www.mpfr.org/
C Standard Library Intended for use on Embedded Systems (NEWLIB) https://sourceware.org/newlib/
GCC is licensed under version 3 of the GNU General Public License. The GCC runtime exception permits compilation of proprietary and free software programs with GCC and usage of free software plugins. The availability of this exception does not imply any general presumption that third-party software is unaffected by the copyleft requirements of the license of GCC.
About
⚒️ Bleeding edge GNU GCC toolchains (CC only) built from sources with latest binutils and glibc. (for ARM)
Источник
gcc-arm-linux-gnueabi command not found
I am trying to install the gnu arm toolchain for ubuntu. I first downloaded the tar from CodeSourcery. However when I go into the bin folder, I cannot run any of the binaries. I have tried with ./ and without and putting it in the PATH and it keeps telling me «Command not Found» yet the file is there in the folder right in front of me. Then I tried sudo apt-get install gcc-arm-linux-gnueabi except after it says it has installed successfully, I cannot find it with whereis gcc-arm-linux-gnueabi. Can anyone help?
11 Answers 11
Are you compiling on a 64-bit OS? Try:
I had the same problem when trying to compile the Raspberry Pi kernel. I was cross-compiling on Ubuntu 12.04 64-bit and the toolchain requires ia32-libs to work on on a 64-bit system.
CodeSourcery convention is to use prefix arm-none-linux-gnueabi- for all executables, not gcc-arm-linux-gnueabi that you mention. So, standard name for CodeSourcery gcc would be arm-none-linux-gnueabi-gcc .
After you have installed CodeSourcery G++, you need to add CodeSourcery directory into your PATH .
Typically, I prefer to install CodeSourcery into directory like /opt/arm-2010q1 or something like that. If you don’t know where you have installed it, you can find it using locate arm-none-linux-gnueabi-gcc , however you may need to force to update your locate db using sudo updatedb before locate will work properly.
After you have identified where your CodeSourcery is installed, add it your PATH by editing
/.bashrc like this:
Also, it is customary and very convenient to define
in your .bashrc , because with CROSS_COMPILE defined, most tools will automatically use proper compiler for ARM compilation without you doing anything.
Источник
ERROR make arm-uboot: arm-xilinx-linux-gnueabi-gcc: not found #60
Comments
ninode commented Jul 31, 2017
Hello,
I have the following error in zedboard while running make arm-uboot. Could you please tell me how to solve it?
The text was updated successfully, but these errors were encountered:
davidbiancolin commented Aug 9, 2017
You need to install the arm-xilinx-linux-gnueabi toolchain. You’re going to be cross compiling code on your host machine for the zynq’s arm core (arm-v7).
ninode commented Aug 9, 2017 •
@davidbiancolin
This directory in SDK shows arm-xilinx-linux-gnueabi-gcc (which is not found in error)
/Xilinx/SDK/2016.2/gnu/arm/lin/bin$ arm-xilinx-linux-gnueabi-gcc —version bash: /home/alpha/Xilinx/SDK/2016.2/gnu/arm/lin/bin/arm-xilinx-linux-gnueabi-gcc: No such file or directory «>
Is this not the arm-xilinx-linux-gnueabi toolchain ?
davidbiancolin commented Aug 9, 2017
It is. That last error is weird. It’s on your PATH right?
ninode commented Aug 9, 2017
After source settings.sh in Vivado and SDK:
echo $PATH
/home/alpha/Xilinx/Vivado/2016.2/bin:/home/alpha/Xilinx/Vivado_HLS/2016.2/bin:/home/alpha/Xilinx/DocNav:/home/alpha/Xilinx/SDK/2016.2/bin:/home/alpha/Xilinx/SDK/2016.2/gnu/microblaze/lin/bin:/home/alpha/Xilinx/SDK/2016.2/gnu/arm/lin/bin:/home/alpha/Xilinx/SDK/2016.2/gnu/microblaze/linux_toolchain/lin64_be/bin:/home/alpha/Xilinx/SDK/2016.2/gnu/microblaze/linux_toolchain/lin64_le/bin:/home/alpha/Xilinx/SDK/2016.2/gnu/aarch32/lin/gcc-arm-linux-gnueabi/bin:/home/alpha/Xilinx/SDK/2016.2/gnu/aarch32/lin/gcc-arm-none-eabi/bin:/home/alpha/Xilinx/SDK/2016.2/gnu/aarch64/lin/aarch64-linux/bin:/home/alpha/Xilinx/SDK/2016.2/gnu/aarch64/lin/aarch64-none/bin:/home/alpha/Xilinx/SDK/2016.2/gnu/armr5/lin/gcc-arm-none-eabi/bin:/home/alpha/Xilinx/SDK/2016.2/tps/lnx64/cmake-3.3.2/bin:/home/alpha/Xilinx/Vivado/2016.2/bin:/home/alpha/Xilinx/Vivado_HLS/2016.2/bin:/home/alpha/Xilinx/DocNav:/home/alpha/Xilinx/SDK/2016.2/bin:/home/alpha/Xilinx/SDK/2016.2/gnu/microblaze/lin/bin:/home/alpha/Xilinx/SDK/2016.2/gnu/arm/lin/bin:/home/alpha/Xilinx/SDK/2016.2/gnu/microblaze/linux_toolchain/lin64_be/bin:/home/alpha/Xilinx/SDK/2016.2/gnu/microblaze/linux_toolchain/lin64_le/bin:/home/alpha/Xilinx/SDK/2016.2/gnu/aarch32/lin/gcc-arm-linux-gnueabi/bin:/home/alpha/Xilinx/SDK/2016.2/gnu/aarch32/lin/gcc-arm-none-eabi/bin:/home/alpha/Xilinx/SDK/2016.2/gnu/aarch64/lin/aarch64-linux/bin:/home/alpha/Xilinx/SDK/2016.2/gnu/aarch64/lin/aarch64-none/bin:/home/alpha/Xilinx/SDK/2016.2/gnu/armr5/lin/gcc-arm-none-eabi/bin:/home/alpha/Xilinx/SDK/2016.2/tps/lnx64/cmake-3.3.2/bin:/bin:/usr/bin
arm-xilinx-linux-gnueabi-gcc doesn’t show in PATH.
I added export PATH=/home/alpha/Xilinx/SDK/2016.2/gnu/arm/lin/bin:$PATH. Same error
I added export PATH=/home/alpha/Xilinx/SDK/2016.2/gnu/arm/lin/bin/gcc-arm-xilinx-linux-gnueabi:$PATH. Same error.
I have found some answers with Codesourcery bin in PATH. Should that work ?
ninode commented Aug 9, 2017 •
Even in Codesourcery:
Is something wrong here fpga-zynq/common/u-boot-xlnx. Should the gcc be located here or something ?
Should I make some configs in u-boot-xlnx ?
davidbiancolin commented Aug 10, 2017
So you shouldn’t have to install it yourself. The vivado provided toolchain is fine. It looks like it’s in your path.
Starting from scratch, and just sourcing the vivado setting, confirm that which arm-xilinx-linux-gnueabi-gcc succeeds, then check the permissions.
ninode commented Aug 10, 2017
Yes, which arm-xilinx-linux-gnueabi-gcc succeeds.
make arm-uboot in /fpga-zynq/zedboard still fails.
Источник
Команда gcc-arm-linux-gnueabi не найдена
Я пытаюсь установить набор инструментов gnu arm для Ubuntu. Сначала я скачал tar из CodeSourcery. Однако, когда я захожу в папку bin, я не могу запустить ни один из двоичных файлов. Я попытался с./ и без и поместил его в PATH, и он продолжает говорить мне «Команда не найдена», но файл находится в папке прямо передо мной. Затем я попытался выполнить команду sudo apt-get install gcc-arm-linux-gnueabi, за исключением того, что после успешного завершения установки я не могу найти его с помощью whereis gcc-arm-linux-gnueabi. Кто-нибудь может помочь?
10 ответов
Исправлено с использованием:
Компилируете ли вы на 64-битной ОС? Пытаться:
У меня была такая же проблема при попытке скомпилировать ядро Raspberry Pi. Я выполнял кросс-компиляцию на 64-битной Ubuntu 12.04, а для набора инструментов требуется ia32-libs для работы на 64-битной системе.
Соглашение CodeSourcery заключается в использовании префикса arm-none-linux-gnueabi- для всех исполняемых файлов, а не gcc-arm-linux-gnueabi что вы упоминаете. Итак, стандартное имя для CodeSourcery GCC будет arm-none-linux-gnueabi-gcc ,
После того, как вы установили CodeSourcery G++, вам нужно добавить каталог CodeSourcery в ваш PATH ,
Как правило, я предпочитаю устанавливать CodeSourcery в каталог, как /opt/arm-2010q1 или что-то типа того. Если вы не знаете, где вы его установили, вы можете найти его, используя locate arm-none-linux-gnueabi-gcc , однако вам может потребоваться принудительно обновить вашу базу данных с помощью sudo updatedb до locate будет работать правильно.
После того, как вы определили, где установлен ваш CodeSourcery, добавьте его в PATH, отредактировав
Также принято и очень удобно определять
в вашем .bashrc потому что с CROSS_COMPILE Определено, большинство инструментов будет автоматически использовать правильный компилятор для компиляции ARM без каких-либо действий.
Источник
Linux для ARM в эмуляторе qemu
Вывести что-нибудь на экран эмулируемого устройства VersatilePB не так-то просто. Все примеры простых ядер для ARM, которые удалось найти на момент написания статьи, ограничиваются работой с последовательным портом.
Этот пост — начало серии, рассказывающей о том, как собиралось простое ядро для вывода на экран эмулируемого устройства.
На примере 2-х с небольшим тысяч строк кода будет подробно рассказано об инициализации памяти, зонах памяти, slab-аллокаторе применяемых в Linux.
Сборка ядра для архитектуры ARM (на примере linux-2.6.32.3)
Команды, приводимые далее взяты из файлов *.cmd. Эти файлы формируются автоматически системой сборки ядра, но никто не запрещает использовать команды непосредственно.
Ядро запускаемое в qemu ./arch/arm/boot/zImage получается отсечением ненужных секций от скомпилированного кода распаковки:
Этот код собирается из библиотеки(libgcc.a), файла содержащего точку входа (head.o), файла в который включены двоичные данные упакованного ядра (piggy.o) и кода на Си выполняющего распаковку (misc.o):
Упакованное ядро добавляется в piggy.S строкой:
piggy.o компилируется командой:
Файл piggy.gz получается командой:
Обратите внимание на две точки между директориями compressed и Image. Они означают переход на один уровень вверх в дереве файловой системы, т.е. Image расположен в arch/arm/boot/.
Такие сложности обусловлены автоматической генерацией команд сборки.
Image получается отсечением ненужных секций от скомпилированного ядра.:
Не упакованое ядро (vmlinux) получается так:
И наконец файл main.c, который мы будем рассматривать входит в состав init/built-in.o:
После окончания работы по отделению необходимого кода от дерева исходников ядра получилась следующая последовательность команд, позволяющая собрать минимальное ядро, способное выводить информацию на дисплей эмулятора архитектуры ARM:
user/arm-2011.09/bin/ — путь начинающийся от домашнего каталога автора до директории, содержащий тулчейн. Если вы скопируете тулчейн для ARM в свой домашний каталог и измените «user», на имя пользователя, то у Вас всё должно получиться.
Команды объединены в исполняемый файл make (не путайте с одноименной утилитой).
Код непосредственно после отделения от дерева исходников ядра, включая всё, о чем пойдет речь в следующих постах arm_qemu_max.
Сокращенный вариант, без инициализации памяти и slab-аллокатора (только вывод на экран) arm_qemu_min.
Текст остальных статей написан. Остается только опубликовать.
Источник