dlinyj: (Default)
[personal profile] dlinyj
Никогда бы не подумал, что сборка компилятора будет сложнее компиляции ядра линукса и всего линукса. Решил собрать тулчейн для sdhc wifi-карточки . Делал всё по мануалу https://forum.openwrt.org/viewtopic.php?pid=210729#p210729 .

Разумеется включив голову, но увы... Всё шло как по маслу, до сборки самого компилятора...

checking for armv5l-unknown-linux-uclibceabi-strip... armv5l-unknown-linux-uclibceabi-strip
checking whether ln -s works... yes
checking for armv5l-unknown-linux-uclibceabi-gcc... /home/dlinyj/sdhc_wifi/gcc-build/./gcc/xgcc -B/home/dlinyj/sdhc_wifi/gcc-build/./gcc/ -B/home/dlinyj/sdhc_wifi/toolchain/armv5l-unknown-linux-uclibceabi/bin/ -B/home/dlinyj/sdhc_wifi/toolchain/armv5l-unknown-linux-uclibceabi/lib/ -isystem /home/dlinyj/sdhc_wifi/toolchain/armv5l-unknown-linux-uclibceabi/include -isystem /home/dlinyj/sdhc_wifi/toolchain/armv5l-unknown-linux-uclibceabi/sys-include
checking for suffix of object files... configure: error: in `/home/dlinyj/sdhc_wifi/gcc-build/armv5l-unknown-linux-uclibceabi/libgcc':
configure: error: cannot compute suffix of object files: cannot compile
See `config.log' for more details.
make: *** [configure-target-libgcc] Error 1


Бился, бился... Без результатно. Если кто может помочь, то можно прочитать тут http://habrahabr.ru/qa/46638/ мою проблему подробнее.

Хотя, по идее, gcc должно быть достаточно для сборки самого ядра, но всё же хотелось и libgcc для сборки остального софта.

Date: 2013-09-11 04:14 am (UTC)
From: [identity profile] free-artp.livejournal.com
Я, собственно, сижу в той же луже. Но работа не дает засесть за изучение вопроса. Если сдвинусь - дам знать.

Date: 2013-09-11 08:05 am (UTC)
From: [identity profile] dlinyj.livejournal.com
Тоже ковыряете флешку?

С работой та же петрушка!

Date: 2013-09-11 12:22 pm (UTC)
From: [identity profile] free-artp.livejournal.com
Угу. После ваших постов здесь и на хабре. Я на эти карточки наткнулся летом, когда хотел приделать через SD интерфейс к ebook, чтобы картинки на нем рисовать (кажется, вы писали про эту идею), но не сподобился. Сейчас снова вокруг темы начал двигаться, но опять застрял.

Date: 2013-09-11 12:35 pm (UTC)
From: [identity profile] dlinyj.livejournal.com
Ко мне можно на ты обращаться.

Электронная книжка лежит, поглядываю на неё, но пока не знаю как лучше к ней подойти. Карточки - да... Мне нравится то, что можно принести куда угодно, поковырять, когда есть время и т.п. Недостаток: нет даташита на процессор :(. Ну и плюс, не знаю есть ли там gpio.
Edited Date: 2013-09-11 12:35 pm (UTC)

Date: 2013-09-12 12:20 pm (UTC)
From: [identity profile] dlinyj.livejournal.com
Вы в моей голове завели интересную идею, выводить картинки через вайфай. Другое дело, что надо будет писать модули ядра.

Date: 2013-09-13 06:28 am (UTC)
From: [identity profile] free-artp.livejournal.com
Меня тоже можно "на ты".
Для картинок, поначалу, можно обойтись демоном с семафором.

Date: 2013-09-13 08:22 am (UTC)
From: [identity profile] dlinyj.livejournal.com
Не, я думал сделать как: вставить карточку в ридер читалки. Там сделать виртуальный раздел и эмулировать sd, там иметь файл с изображением. Из читалки его читать. Сложность в том, чтоо читалка не поддерживает sdhc!

Проблема только в эмуляции интерфейса...

Date: 2013-09-13 09:13 am (UTC)
From: [identity profile] free-artp.livejournal.com
Я думал о том же, но не подумал про поддержку sdhc :(

Date: 2013-09-11 04:55 am (UTC)
From: [identity profile] mbr.livejournal.com
А смысл? Там какая-то мегаизвращенная архитектура или что? Чем codesourcery не устраивает?

Date: 2013-09-11 08:06 am (UTC)
From: [identity profile] dlinyj.livejournal.com
litle endian arm

Можно и её, гемморои с регистрацией (хотя в сравнении с геммороями с компиляцией...) с другой стороны, опыт!

Date: 2013-09-11 09:24 am (UTC)
From: [identity profile] mbr.livejournal.com
little endian это стандартный режим работы ARM.

Я все же рекомендую codesourcery. На дебиан машинах ставлю именно ее. Если gentoo - все намного проще - crossdev.

Date: 2013-09-11 09:40 am (UTC)
From: [identity profile] dlinyj.livejournal.com
Стандартный, да не стандартный... Мои програмульки не завелись тама...

Date: 2013-09-11 09:42 am (UTC)
From: [identity profile] mbr.livejournal.com
А что конкретно не так? Возможно, дело не в процессоре, а в окружении?

Date: 2013-09-11 09:44 am (UTC)
From: [identity profile] dlinyj.livejournal.com
Да пёс знает, не ковырялся. Просто взял от девятого арма софт, и он не завёлся. Надо будет с телефона переписать. Я в дебиане компилирую на телефоне, там тоже арм и по моему литл эндиан.

Date: 2013-09-11 09:48 am (UTC)
From: [identity profile] mbr.livejournal.com
Я пока еще не встречал коммерческих разработок на big endian :) По-моему, это сильно deprecated фича. Возможно, дело в soft float?

Date: 2013-09-11 10:10 am (UTC)
From: [identity profile] dlinyj.livejournal.com
Хех :). Ну может ещё версия ядра отличается.

Да какая плавучка в хелло ворд :)

Date: 2013-09-11 10:16 am (UTC)
From: [identity profile] mbr.livejournal.com
А для helloword используется статически линкованный stdlib? если нет (а по дефолту для linux-eabi вроде как нет), то нужно собирать под ту же версию libc, что и в системе

Date: 2013-09-11 10:16 am (UTC)
From: [identity profile] dlinyj.livejournal.com
Да-да, вот вот. По этому проще собрать компилятор :)

Date: 2013-09-11 10:23 am (UTC)
From: [identity profile] mbr.livejournal.com
Эх. Gentoo наше все. Двумя командами ставится сборка.

Date: 2013-09-11 10:29 am (UTC)
From: [identity profile] dlinyj.livejournal.com
Я ведь поведусь....

Date: 2013-09-11 10:34 am (UTC)
From: [identity profile] mbr.livejournal.com
Вот тут все разжевано:

http://www.gentoo.org/proj/en/base/embedded/handbook/

Date: 2013-09-11 10:35 am (UTC)
From: [identity profile] mbr.livejournal.com
# emerge crossdev
# crossdev --target sh4-unknown-linux-gnu

все :)

Date: 2013-09-11 11:56 am (UTC)
From: [identity profile] Алексей Игнатов (from livejournal.com)
Все мои попытки воспользоваться кроссдевом включали эмпирический подбор версий binutils, libc и gcc, способных собраться друг с другом. Иногда удачно, иногда я забивал на этот костыль и брал crosstool-ng. А вообще, голый тулчейн нужен редко, а всякие опенэмбеддеды и билдруты умеют собирать сами (и деплоить в виде SDK, да).

Date: 2013-09-11 11:58 am (UTC)
From: [identity profile] mbr.livejournal.com
C crossdev только однажды была проблема с AVR. И то, вылечилось новой версией.

> опенэмбеддеды и билдруты умеют собирать сами (и деплоить в виде SDK, да)

Эх, я пока ниасилил.

Date: 2013-09-11 12:36 pm (UTC)
From: [identity profile] dlinyj.livejournal.com
Есть вариант костыльнее: openwrt найти под точно такой же проц и ядро. Всё подтянет сама.

Date: 2013-09-11 08:46 am (UTC)
From: [identity profile] alec_v.livejournal.com
Обычно GCC надо собирать той же версией, которую пытаешься собрать. Рекурсия :)

Date: 2013-09-11 09:03 am (UTC)
From: [identity profile] dlinyj.livejournal.com
Драйвера для модема находятся на компакт диске, для сидирома в интернете (с) (древняя шутка)

January 2026

S M T W T F S
    123
456 78910
11121314151617
18192021222324
25262728293031

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 22nd, 2026 06:31 am
Powered by Dreamwidth Studios