LINUX.ORG.RU

Сообщения art97

 

Ошибка во время сборки ядра 2.6.32.9

Форум — General

Всем добрый день!

Задал вопрос в двух разделах, так как не знаю, в какой правильнее. Что я хочу сделать:

У меня есть дрон - parrot ARDrone 2.0, на нем установлена Ubuntu. Вот,что выводит команда uname -a:

Linux uclibc 2.6.32.9-g980dab2 #1 PREEMPT Mon Sep 16 11:50:23 CEST 2013 armv7l GNU/Linux

lsb_release отстуствует на данной машине. Имеется порт USB 2.0. Я хочу подключить к нему USB to Ethernet adapter (ссылка) и подключить его через кабель к RPi. Почему к этому пришел - дрон управляется только AT командами (список). Использование wifi - это не вариант, так как идут очень большие помехи, когда рядом большое количество точек доступа. Сам дрон выступает в качестве точки доступа. Также пораллельный вопрос - можно ли как-то отправить AT команду через UART (он есть на дроне), те отправить на Ubuntu и чтобы она там исполнилась. (на самом дроне нету в консоли комманды at). Немного сумбурно получается по AT командам, так как я сам не полностью понимаю, что говорю, я первый раз с ними столкнился. Это собственно задача.

Какая возникла проблема при реализации:

Я студент 4 курса и не профессионал в Linux'e, поэтому я начал с того, что читал форумы, как и что сделать. Как я понял, что в квадрокоптере отключено подключение через USB WLAN адаптеров и вообще всего, кроме накопителей памяти для записи полета. Чтобы это решить, надо пересобрать ядро. Так пишут тут. Собственно начал гуглить. Нашел следующую статью - тык Еще о том, что вообще выдают команды, когда подключаю адаптер:

dmesg

usb 1-1: Product: DUB-E100
usb 1-1: Manufacturer: D-Link Corp.
usb 1-1: SerialNumber: 001DCA
/home/stephane/.ardrone/linux/ardrone2_ARDrone2_Version_20130102/Linux/kernel/omap/drivers/usb/core/inode.c: creating file '002'

lsusb

Bus 001 Device 002: ID 2001:1a02 D-Link Corp. [hex] 
Bus 001 Device 001: ID 1d6b:0002

Так, вернусь к предыдущей ссылке. Ну, вроде, все просто. Начал делать по пунктам:

  • gcc-arm-linux-gnueabi установлен уже был
  • Скачал ядро 2.6.32.9
  • export ARCH=arm
  • export CROSS_COMPILE=arm-linux-gnueabi-

В следующем пункте была проблема, так как очень долго не мог найти конфиг. Но со временем нашел его тут Дальше немного запутался. Парень пишет

Open the arch/asm/configs directory in the kernel and put the configuration file there and rename it to «ardroine_defconfig» and compile the kernel

У меня в папке arch не было asm, но как я подумал, человек имел в виду arm (тут я не уверен), но положил его в папку arm/configs а вот дальше после пункта make ardrone_defconfig возникла проблема, когда я ввел команду make. Собственно выдал ошибку:

include/linux/compiler-gcc.h:86:30: fatal error: linux/compiler-gcc5.h: Нет такого файла или каталога
Нашел решение на этом сайте (ссылка) Дальше возникла следующая ошибка:
init/mounts.o: In function `tty_port_users':
/home/artemii/test/linux-2.6.32.9/include/linux/tty.h:472: multiple definition of `tty_port_users'
Я не нашел в интернете ничего по этому поводу, просто открыл и закомментировал (не особо хорошее решение). После запустил - пошло дальше, но после выдало опять типо такой ошибки, опять повторное определение. Закоментил, но уже не помогло.

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

Заранее спасибо!

 , ,

art97
()

RSS подписка на новые темы