Форум обсуждения систем  

Вернуться   Форум обсуждения систем "Умный дом", проектов Ардуино, OpenWRT и других DIY устройств > Форум умного дома > Сделай сам > Linux для начинающих

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 24.07.2014, 01:54   #1
CrazyPit
Junior Member
 
Регистрация: 07.04.2013
Сообщений: 14
Вес репутации: 0
CrazyPit is an unknown quantity at this point
По умолчанию Re: Кросс компиляция прошивки OpenWRT и пакетов на Ubuntu

Цитата:
Сообщение от andr128 Посмотреть сообщение
Пример компиляции через vmware
какая то там хрень.. а не пример.. а по инструкции делаю на виртуалке вроде работает.(сейчас компилирует)
если кому интересно могу сделать инструкцию.
CrazyPit вне форума   Ответить с цитированием
Старый 05.02.2013, 22:24   #2
andr128
Senior Member
 
Аватар для andr128
 
Регистрация: 16.09.2012
Адрес: Irkutsk
Сообщений: 555
Вес репутации: 1604
andr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond repute
По умолчанию

дык дай ему команду
make V=s
и посмотри где спотыкается
andr128 вне форума   Ответить с цитированием
Старый 05.02.2013, 22:51   #3
Константин
Junior Member
 
Регистрация: 02.02.2013
Адрес: Смоленск
Сообщений: 27
Вес репутации: 0
Константин is an unknown quantity at this point
По умолчанию

После ввода make V=s лог бежит 1,5 часа. Как найти в таком количестве информации сообщения об ошибках или не соответствиях версия? тупо пролистыванием?
Константин вне форума   Ответить с цитированием
Старый 30.10.2013, 06:13   #4
stD
Senior Member
 
Аватар для stD
 
Регистрация: 02.04.2012
Адрес: Питер
Сообщений: 1,125
Вес репутации: 1311
stD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant future
По умолчанию

Цитата:
define Package/mr/install
$(INSTALL_DIR) $(1)/bin
$(INSTALL_BIN) $(PKG_BUILD_DIR)/mr $(1)/bin/
endef

$(eval $(call BuildPackage,mr)
Здесь ошибка: $(eval $(call BuildPackage,mr), нет второй скобки.
$(eval $(call BuildPackage,mr))
stD вне форума   Ответить с цитированием
Старый 30.10.2013, 06:34   #5
stD
Senior Member
 
Аватар для stD
 
Регистрация: 02.04.2012
Адрес: Питер
Сообщений: 1,125
Вес репутации: 1311
stD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant future
По умолчанию

А я правильно понимаю, что после компиляции отдельного пакета (make package/mr/compile V=s), достаточно скопировать его в репозиторий (например репа на флешке) вместе с файлом Packages ? То есть не нужно роутер заново прошивать?

Последний раз редактировалось stD; 30.10.2013 в 06:36.
stD вне форума   Ответить с цитированием
Старый 06.02.2013, 05:39   #6
andr128
Senior Member
 
Аватар для andr128
 
Регистрация: 16.09.2012
Адрес: Irkutsk
Сообщений: 555
Вес репутации: 1604
andr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond repute
По умолчанию

Если у тебя не собирается прошивка
находясь в папке trunk
перед сборкой сбрось все по умоланию:
make defconfig
затем
make menuconfig
выбрать тип процессора и марку роутера
др. пакеты и настройки смотри что тебе нужно.
Включи в прошивку только самое необходимое.
затем при выходе из menuconfig сохрани.
и запусти компиляцию:
make V=99 или make V=s

Если ты собирал под 3020, то просто поменяй в меню на 3040 сохрани и компилируй. Не нужно все вычещать. Компиляция будет идти уже не долго (минуты).

При подробном выводе если возникнет критическая ошибка, то она будет написана в конце, там где остановилась компиляция.

Здесь еще почитай

Последний раз редактировалось andr128; 06.02.2013 в 05:43.
andr128 вне форума   Ответить с цитированием
Старый 06.02.2013, 09:16   #7
Константин
Junior Member
 
Регистрация: 02.02.2013
Адрес: Смоленск
Сообщений: 27
Вес репутации: 0
Константин is an unknown quantity at this point
По умолчанию

Собрал прошивку для MR3040 на базе attitude_adjustment/12.09-rc1.
При попытке выполнить opkg install kmod-usb-uhci получил ошибку
Цитата:
root@OpenWrt:~# opkg install kmod-usb-uhci
Installing kmod-usb-uhci (3.3.8-1) to root...
Downloading http://downloads.openwrt.org/attitud...8-1_ar71xx.ipk.
Collected errors:
* satisfy_dependencies_for: Cannot satisfy the following dependencies for kmod-usb-uhci:
* kernel (= 3.3.8-1-5440da3a2c45184a32da6bba25b8dd2a) *
* opkg_install_cmd: Cannot install package kmod-usb-uhci.
.
Пакет kmod-usb-uhci был выбран с опцией M. Ошибки в конце сборки отсутствовали.

Пересобрал, указав опцию * для данного пакета. Пакет проинстлировался командой opkg install kmod-usb-uhci нормально.
Но та же ошибка возникла для пакета kmod-usb-ohci. Получается что все пакеты необходимо включать в прошивку опцией *, чтобы потом не было ошибок при инсталяции. НО возникает проблема со свободным местом для ядра где включены все пакеты.
Тупик. Куда копать?
Цитата:
возможно в поддержке ядра нужно что-то включить 03.02.2013 andr128
?

Последний раз редактировалось Константин; 06.02.2013 в 12:08.
Константин вне форума   Ответить с цитированием
Старый 06.02.2013, 12:26   #8
Константин
Junior Member
 
Регистрация: 02.02.2013
Адрес: Смоленск
Сообщений: 27
Вес репутации: 0
Константин is an unknown quantity at this point
По умолчанию

Сборка make V=99 по svn://svn.openwrt.org/openwrt/trunk/@33482
c параметрами в menuconfig по умолчанию для MR3040 закончилась
ошибкой
Цитата:
Checking out files from the git repository...
Cloning into 'mtd-utils-1.4.5'...
fatal: read error: Connection reset by peer
make[3]: *** [/home/konstantin/openwrt/trunk/dl/mtd-utils-1.4.5.tar.gz] Error 128
make[3]: Leaving directory `/home/konstantin/openwrt/trunk/tools/mtd-utils'
make[2]: *** [tools/mtd-utils/compile] Error 2
make[2]: Leaving directory `/home/konstantin/openwrt/trunk'
make[1]: *** [/home/konstantin/openwrt/trunk/staging_dir/target-mips_r2_uClibc-0.9.33.2/stamp/.tools_install_nnnnn] Error 2
make[1]: Leaving directory `/home/konstantin/openwrt/trunk'
make: *** [world] Ошибка 2
Сделал make dirclear, изменил только таргет на MR3020 и результат - прошивка для MR3020 скомпилировалась без ошибок.
Но при попытке инсталяции пакетов выскочила такая же ошибка как и для MR3040
Цитата:
root@OpenWrt:~# opkg install kmod-usb-uhci
Installing kmod-usb-uhci (3.3.8-1) to root...
Downloading http://cyber-place.ru/download/packa...8-1_ar71xx.ipk.
Collected errors:
* satisfy_dependencies_for: Cannot satisfy the following dependencies for kmod-usb-uhci:
* kernel (= 3.3.8-1-5440da3a2c45184a32da6bba25b8dd2a) *
* opkg_install_cmd: Cannot install package kmod-usb-uhci.

Последний раз редактировалось Константин; 06.02.2013 в 14:51.
Константин вне форума   Ответить с цитированием
Старый 06.02.2013, 17:00   #9
andr128
Senior Member
 
Аватар для andr128
 
Регистрация: 16.09.2012
Адрес: Irkutsk
Сообщений: 555
Вес репутации: 1604
andr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond repute
По умолчанию

Попробуй установить самое необходимое
Цитата:

В Base System смотрим чтобы обязательно был вбилден block-mount, что необходимо для подключения дисков, из того что по умолчанию остается base-files, busybox, dnsmasq, dropbear, hotplug2 (его точно не забывайте, если не хотите остаться без нотификаций о подключении usb и нажатий на кнопки), mtd, opkg, uci
В Kernel Modules заходим в раздел Filesystems и активируем там kmod-fs-ext4.
Если есть желание, можно выбрать какую-нибудь другую систему, но и одной ext4 вполне хватит. Все остальные кернел модули у меня не установлены, за исключением присутствующих по дефолту нескольких пунктах из LED-modules (если их убрать, понятное дело, роутер не станет моргать своими светодиодами и вы даже не узнаете как прошел процесс загрузки), модуля из Other Modules по имени kmod-gpio-button-hotplug, дающего нотификации при нажатии на кнопки роутера (у него есть одна кнопка и один трехпозиционный рычажок, также считающийся линуксом за две кнопки), дефолтного kmod-wdt-ath79 там же, очень важных нам kmod-usb-ochi, kmod-usb-storage-extras, kmod-usb-uchi, kmod-usb2 из USB Support и драйвера на встроенный вайфай – kmod-ath9k из Wireless Drivers.
У меня компилировалось что для 3020, что для 3040 одинаково без ошибок.

Если ты в прошивку вставил kmod-usb-uhci, то ставить отдельно не нужно.

Последний раз редактировалось andr128; 06.02.2013 в 17:03.
andr128 вне форума   Ответить с цитированием
Старый 06.02.2013, 17:10   #10
Константин
Junior Member
 
Регистрация: 02.02.2013
Адрес: Смоленск
Сообщений: 27
Вес репутации: 0
Константин is an unknown quantity at this point
По умолчанию

Цитата:
Сообщение от andr128 Посмотреть сообщение
Попробуй установить самое необходимое


У меня компилировалось что для 3020, что для 3040 одинаково без ошибок.

Если ты в прошивку вставил kmod-usb-uhci, то ставить отдельно не нужно.
Удивительно но именно такой набор, кроме драйвера wifi я и подключаю постоянно, но результат у меня отрицательный.
Хотя если пакеты вбилдивать в прошивку *, то с ними проблем нет, а инсталяция пакетов с опцией М даёт ошибку.
Константин вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 11 (пользователей: 0 , гостей: 11)
 

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 02:52. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Яндекс.Метрика