Форум русскоязычного сообщества Ubuntu


За новостями русскоязычного сообщества и Ubuntu в целом можно следить на нашей страничке в Google+

Автор Тема: Кросс компиляция драйвера compat-wireless  (Прочитано 3699 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн kay

  • Автор темы
  • Любитель
  • *
  • Сообщений: 97
    • Просмотр профиля
Кросс компиляция драйвера compat-wireless
« : 22 Февраль 2012, 00:05:50 »
Вопрос не совсем про Ubuntu, а про компиляцию драйвера под MIPS. Увы коммунити отвечать не торопится, поэтому решил запостить сюда

Дано: девайс popcornhour a-110, скомпилированный toolchain, сорцы ядра 2.6.15 с патчами для smp Sigma Designs TangoX
последние два скачаны отсюда: http://www.networkedmediatank.com/download/firmware/nmt/gpl/gpl.htm
http://www.networkedmediatank.com/download/firmware/nmt/gpl/linux-2.6.15.tar.bz2
http://www.networkedmediatank.com/download/firmware/nmt/gpl/smp86xx_toolchain.20080505.tar.bz2

Тулчайн легко компилируется следуя этому мануалу http://stuff.thatblogs.com/content/popcorn-hour-toolchain-fedora-10
Ядро и модули компилируются при следующих манипуляциях:
file Makefile
-include $(RUA_DIR)/../../syabas/customer/$(customer)/kconfig

file .config
-CONFIG_INITRAMFS_SOURCE="$(SMP86XX_ROOTFS_PATH)/build_mipsel/root"
-CONFIG_INITRAMFS_ROOT_UID=502
-CONFIG_INITRAMFS_ROOT_GID=503
+CONFIG_INITRAMFS_SOURCE=""

Требуется скомпилировать драйвер ath9k_htc под ядро 2.6.15 и архитектуру MIPS
Сам драйвер находится в этом пакете: http://www.orbit-lab.org/kernel/compat-wireless-2.6/compat-wireless-2.6.tar.bz2

Что собственно у меня не шибко получается =(

Что я пытался сделать:
1) Скомпилировать compat-wireless путем передачи в него KLIB и KLIB_BUILD. В итоге получал сотни эрроров. Я так полагаю, что скрипты просто напросто не поддерживают старое ядро
2) Интегрировать драйвер ath9k_htc в ядро 2.6.15 и скомпилировать его. Как не пытался, но в menuconfig нужные модули у меня не появляются.

По мне наиболее вероятным кажется второй вариант. Но есть жуткие подозрения, что драйвер, написанный под 2.6.3x ядро без бубнов и патчей ни разу не скомпилится под 2.6.15. А если уж и скомпилится (compat-wireless содержит файл include/linux/compat-2.6.14.h, что дает надежду о поддержке версии 2.6.14, а значит и 2.6.15), то я и многие други обладатели любых usb wifi донглов под pch a-110 скажут автору решения спасибо =)
« Последнее редактирование: 22 Февраль 2012, 01:13:05 от kay »

Оффлайн kay

  • Автор темы
  • Любитель
  • *
  • Сообщений: 97
    • Просмотр профиля
Re: Кросс компиляция драйвера compat-wireless
« Ответ #1 : 22 Февраль 2012, 00:59:33 »
т.е. насколько я понял проще скомпилировать ядро 2.6.35 с драйвером, чем адаптировать этот драйвер под 2.6.15?

Оффлайн Olej

  • Активист
  • *
  • Сообщений: 884
    • Просмотр профиля
Re: Кросс компиляция драйвера compat-wireless
« Ответ #2 : 22 Февраль 2012, 01:04:23 »
т.е. насколько я понял проще скомпилировать ядро 2.6.35 с драйвером, чем адаптировать этот драйвер под 2.6.15?

1. зачем компилировать модуль с ядром?
любой модуль должен компилироваться сам по себе, автономно, для этого нужны только хэдеры, но не нужен код ядра.

2. кросс-компиляция модулей - если вы не владеете в совершенстве техникой нативной сборки модулей, в кроссовую лучше не соваться.

P.S. вы почитайте ссылку, что я дал - там многое подскажет.

Оффлайн kay

  • Автор темы
  • Любитель
  • *
  • Сообщений: 97
    • Просмотр профиля
Re: Кросс компиляция драйвера compat-wireless
« Ответ #3 : 22 Февраль 2012, 01:12:31 »
1. и как же можно скомпилировать этот модуль имея то, что я перечислил в первом посте? кстати, забыл предоставить сылку на compat-wireless:
http://www.orbit-lab.org/kernel/compat-wireless-2.6/compat-wireless-2.6.tar.bz2

2. потому и прошу помощи

насчет ссылки. я уже столько за сегодня начитался, что при прочтении этой книги у меня уже каша в голове будет. я рад пополнять знания, но в данный момент хочется чтобы просто кто-нибудь помог, т.к. времени на это потратил уже не мало.

Оффлайн Alie Alexandross

  • Старожил
  • *
  • Сообщений: 1580
    • Просмотр профиля
Re: Кросс компиляция драйвера compat-wireless
« Ответ #4 : 22 Февраль 2012, 01:14:01 »
(Нажмите, чтобы показать/скрыть)
Подпись автора jillsmitt истинна...

Оффлайн kay

  • Автор темы
  • Любитель
  • *
  • Сообщений: 97
    • Просмотр профиля
Re: Кросс компиляция драйвера compat-wireless
« Ответ #5 : 22 Февраль 2012, 01:22:21 »
Кстати... compat-wireless требует ядро не менее 2.6.24, хотя в сорцах есть хидер для 2.6.14:
#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,24))
#error Compat-wireless requirement: Linux >= 2,6,24
#endif /* (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,24) */

Вот почему я и намекнул, что может проще новое ядро скомпилировать под девайс? Но и там чувствуется не все так гладко. Возможно придется портировать патчи, чтобы ядро встало на smp86xx

Оффлайн kay

  • Автор темы
  • Любитель
  • *
  • Сообщений: 97
    • Просмотр профиля
Re: Кросс компиляция драйвера compat-wireless
« Ответ #6 : 22 Февраль 2012, 08:58:37 »
может вам просто другой, более гибкий тулчайн собрать под MIPS, и не мучить себя ... и других ;)
а чем мне другой тулчайн поможет, если проблема в несовместимости ядра и драйверов? тут надо лрайвера допиливать под старую версию, либо новое ядро компилировать

Оффлайн Olej

  • Активист
  • *
  • Сообщений: 884
    • Просмотр профиля
Re: Кросс компиляция драйвера compat-wireless
« Ответ #7 : 22 Февраль 2012, 13:03:45 »
может вам просто другой, более гибкий тулчайн собрать под MIPS, и не мучить себя ... и других ;)
а чем мне другой тулчайн поможет, если проблема в несовместимости ядра и драйверов? тут надо лрайвера допиливать под старую версию, либо новое ядро компилировать
ага
Цитировать
... некогда думать - трусить надо!!!
а другой какой-нибудь BuildRoot поможет тем, что сам подтянет что-то нужно из согласованных версий ядра, жэдеров etc., а потом, может, и модуль допиливать в нём ...

Вы взялись за очень нетривиальную задачу: кроссово собрать какой-то совершенно дремучий модуль ядра, и решили сделать это по-быстренькому, с кондачка?
Так не получится!

P.S. тем более, что и исходные инструменты у вас скачаны:
- под Fedora 10 ... это ж какой, помилуйте, год? 2007?
- и тулчайн 4-х летней давности...
- и чего вас под Ubuntu понесло? те, исходные - под Fedora делали, и не случайно, там всё проще (гибче и на виду).
« Последнее редактирование: 22 Февраль 2012, 13:07:49 от Olej »

Оффлайн kay

  • Автор темы
  • Любитель
  • *
  • Сообщений: 97
    • Просмотр профиля
Re: Кросс компиляция драйвера compat-wireless
« Ответ #8 : 22 Февраль 2012, 13:08:46 »
В таком случае игра свеч не стоит и вопрос закрыт.

 

Страница сгенерирована за 0.06 секунд. Запросов: 24.