Мда... Пробовал кросскомпилятор от repairman-а, но при запуске ...-gcc выдавал ошибку floating operation failure (что то вроде этого). Напомню, что все пытаюсь делать с чистого листа, и linux запускаю под VMWare (образ с диска автора). Перепробовал разные виды компиляции своего тулчейна, но после сборки, на плате дальше логина уйти не получалось. В итоге, после переключения на SoftFloat, после сборки все заработало. Не красиво конечно, но пока это единственный способ использовать uClibc не меняя основной компилятор. А вообще существуют тулчейны с uClibc + hard float? Кстати вычитал, что нельзя стрипать библиотеки с uClibc, надо будет и этот вариант проверить, т.к. при softfloat при сборке busybox, действительно не делается strip (может и ошибаюсь, но в мейкфайле делается проверка на это).
В ядре лунукса живет мат-сопроцессор... почти как настоящий... снаружи от настоящего не отличить...
2AntonKr
А эмуляция-то hard float в ядре включена ??? Без нее, действительно, все пересобирать на soft-float придется...
К тому же, IMHO, лучше держать один эмулятор, чем прилинковывать soft-float к каждому бинарнику...
.config ядра:
Мой armv5l-linux-uclibc и есть uClibc + hard float... strip на таргет машине до сих пор никак не мешал... ты же прямо там собирать ничего не будешь ?
А стало работать, когда установил в конфиге crosstools-ng:
Вообщем пока буду продолжать, надеюсь, что все собрано правильно. Все пакеты собрал, все запускается и замечательно работает: appwebserver, matrixssl, модули работы с вебкамерой. Осталось еще это чудо собрать :) (www.ejscript.org) для управления используя скрипты.
По поводу дефолтного физического адреса ks8721. В даташите сказано, что для соответствующих адресных входов используются внутренние подтяжки к адресу 00001. При старте системы ноги проца, скорее всего, висят "в воздухе", поэтому дефолтный адрес и определяется только внутренней подтяжкой ks8721.
Кстати, я избавился от циклов поиска физ адреса ks8721 путем задания его через уже имеющуюся константу. Т.е. откатил изменения SK в файле драйвера в некоторых местах до оригинала и просто в 2х местах в коде в дефайнах вбил дефолтное значение физ адреса не 0, как было, а 1. Если кого интересует - спрашивайте, пороюсь и укажу места изменений более точно.
Подскажите, как собрать crosstoll-ng с исходниками ядра, версия которого отличается от установленного? ct-ng лезет проверять версию текущего системного ядра, и при конфигурации (при использовании menuconfig) позволяет выбрать только её. Приходится каждый раз руками в .configure менять версию ядра, чтобы ct-ng подхватил правильный тарболл.
Странно. У меня ничего не проверяло. Выбирал версию из большого списка. Собирал, если не изменяет память, 2.6.27.6 (или 10). Единственное - полученный кростул не актуален, если на девайсе стоит ядро более старой версии :)
У меня список заканчивается 2.6.27.1, той версией, которая установлена в системе. Может, из-за того, что я работаю локально, и не использую скачивания с инета.