DreamShell Compilation - Версия для печати +- DC-SWAT Forum (http://www.dc-swat.ru/forum) +-- Форум: DreamShell (/forum-3.html) +--- Форум: General Discussion (/forum-27.html) +--- Тема: DreamShell Compilation (/thread-3820.html) |
DreamShell Compilation - Mutronics - 02.03.2021 11:44 Компилирую DreamShell, ubuntu 20.04. Инструкция по компиляции, как я понимаю, устарела. Здесь уже затык "cp ds/sdk/toolchain/environ.sh environ.sh && cd ../" т.к. файла переменных уже нет, есть ubuntu_build.sh вероятно его нужно запускать. Выдает ошибку "arm-eabi-gcc: error: unrecognized -mcpu target: arm7di" Код: make[5]: Entering directory '/usr/local/dc/kos/kos/kernel/arch/dreamcast/sound/arm' RE: DreamShell Compilation - SWAT - 02.03.2021 12:02 Инструкцию недавно обновлял, забыл файл этот похоже. Исправил, попробуй. С копиляторами пока не понял, какая версия и чем собиралась? RE: DreamShell Compilation - Mutronics - 02.03.2021 21:22 Почти получилось в файле environ.sh переменной присваивается export KOS_BASE="/usr/local/dc/kos" и в самом конце файла ${KOS_BASE}/environ_base.sh, но файл environ_base.sh находится по пути "/usr/local/dc/kos/kos" В файле environ_base.sh вызывается kos-cc, который вызывает /opt/toolchains/dc/sh-elf/bin/sh-elf-gcc, а по инструкции папка "toolchains" еще пуста. RE: DreamShell Compilation - SWAT - 03.03.2021 07:34 Поторопился Исправил. А вызываться kos-cc не должен там сразу, да и нету в этом файле вывозов никаких, только переменные вроде. По инструкции следом идет сборка тулчейна как раз. Правда там arm у тебя не соберется возможно, можно в kos тулчейне собрать если что. Да и вообще никто не мешает их целиком в kos собрать, только версию поменяй на 9.3 RE: DreamShell Compilation - Mutronics - 03.03.2021 09:21 Затык опять в том же. В этом пункте "make && cd ../kos-ports && ./utils/build-all.sh" при сборке kos. Говорит: нет такой архитектуры arm7di, возможно вы имели виду arm7tdmi. RE: DreamShell Compilation - Mutronics - 04.03.2021 08:19 Компиляция kos проходит, если изменить в environ_dreamcast.sh последние две переменные с arm7di на arm7tdmi export DC_ARM_CFLAGS="-mcpu=arm7tdmi -Wall -O2 -fno-strict-aliasing -Wl$ export DC_ARM_AFLAGS="-mcpu=arm7tdmi --fix-v4bx" Теперь проблема с kos ports, не собираются freetype и opus, решения пока не нашел, логи прикрепил. RE: DreamShell Compilation - SWAT - 04.03.2021 08:23 Компиляторы под ARM (в AICA он именно DI) собрались как-то коряво. Я не знаю почему они ругаются. Не разбирался еще с этим. Собери их через kos/utilc/dc-chain, только версию 9.3 выбери. Или забей, для DS тебе они не нужны в общем-то, у меня там лежат собранные драйвера для AICA. В модулях DS так же можешь отключить AICAOS, там тоже используются эти компиляторы, но тебе его совсем не обязательно собирать. Или собирай как TDMI и не используй результат этой сборки просто freetype и opus по идее можешь игнорировать, opus не используется, а freetype в DS свой. RE: DreamShell Compilation - Mutronics - 05.03.2021 00:00 Все прошло без затычек через kos/utilc/dc-chain, но на сборке ядра выдал ошибки в коде. Код: /opt/toolchains/dc/sh-elf/lib/gcc/sh-elf/9.3.0/../../../../sh-elf/bin/ld: ./src/fs/fs.o: in function `InitIDE': RE: DreamShell Compilation - Mutronics - 07.03.2021 23:03 В гитхабе будет последняя версия ? После сборки последней версии сам дримшел работает, но не одна игра не запускается. Игры запускаю с IDE и если заменить файл firmware/isoldr/ide.bin на файл из гитхаба, то все начинает работать. На гитхабе (firmware/isoldr/ide.bin) лежит версия от 2017 года, судя по хистори с того момента было не мало изменений. Если собрать самый первый коммит isoldr на старом gcc, то игры работают, все что идет дальше уже не работает. RE: DreamShell Compilation - SWAT - 09.03.2021 08:30 Ты не накатил патч для KOS поэтому ядро не линкуется, в тулчейне DS это делается автоматом, а вот если через KOS собирать, то руками нужно накатить патч, он лежит здесь под именем kos.diff: https://github.com/DC-SWAT/DreamShell/tree/master/sdk/toolchain/patches -------- Будет, когда я или кто-нибудь еще доработает приложение под новый загрузчик, там появились новые параметры, поэтому пока бинарник заменить не могу, но ты сам можешь собрать его. И модуль isoldr тоже нужно обновленный собрать, он уже адаптирован под новый загрузчик. По сути только приложение задерживает это обновление, без него загрузчик будет плохо работать, так как параметры нужные не выставить. Сейчас только через консоль можно их выставить, так как модуль я адаптировал. Я даже не стал выкладывать на форуме последнюю версию, так как хардкодить придется слишком много вариантов параметров и будет целая куча бинарников. Нужно доделать приложение и стороннее в том числе, которое некоторые используют. |