В Arch Linux нет i586-elf-gcc или i586-elf-gcc.

Сначала я пытаюсь создать ядро ​​​​C, следуя этому руководству: http://wiki.osdev.org/Bare_Bones Однако в моей системе нет ни i586-elf-gcc, ни i586-elf-ld. Я действительно не уверен, где я могу их найти, или они уже есть на моем компьютере. У меня есть gcc и binutils, установленные с pacman.

ls /usr/bin/ | grep gcc

Выходы

gcc
gcc-ar
gcc-nm
gcc-ranlib
i686-pc-linux-gnu-gcc
i686-pc-linux-gnu-gcc-4.7.0
i686-pc-linux-gnu-gcc-ar
i686-pc-linux-gnu-gcc-nm
i686-pc-linux-gnu-gcc-ranlib
winegcc

Я не возражаю против компиляции, если мне нужно, но предпочел бы двоичный файл.


person Max Smashdidypwned Lay    schedule 05.06.2012    source источник


Ответы (1)


Arch Linux скомпилирован для i686 и x86_64, поэтому вы не найдете в нем пакетов для i586.

Однако вы можете следовать этим инструкциям http://wiki.osdev.org/OS_Specific_Toolchain или http://wiki.osdev.org/GCC_Cross-Compiler для сборки версии i586, насколько я помню, я делал это в Arch Linux, так что это возможно.

Но если вы не работаете над ядром ОС, которое не является вашим хобби, использование gcc достаточно хорошо.

Удачи :)

person Dmitry Kudryavtsev    schedule 05.06.2012
comment
Моя основная проблема заключается в том, что я, похоже, не могу ни создавать эльфов, ни связывать файлы, поскольку я получаю недопустимый или неподдерживаемый исполняемый формат при попытке запустить код, скомпилированный с помощью универсального gcc или ld. - person Max Smashdidypwned Lay; 05.06.2012
comment
Вот фрагмент моего старого Makefile, возможно, он поможет pastebin.com/n2nn8NWv Вы, конечно, можете скомпилировать gcc , я сделал это и сделал себе gcc-i386-elf - person Dmitry Kudryavtsev; 05.06.2012