LINUX.ORG.RU

Сборка OpenWRT c новым ядром

 , , , ,


0

1

Привет, ЛОР!

Поймал я одну багу на Chaos Calmer(ядро 3.18), связанную с ethernet. Причину вот уже недели 2 ищу и найти не могу. Думал, косяк в драйвере эзера, но походу где-то глубже, на уровне приоритетов процессов, шедулера, обработки прерываний. Пришел я к такому выводу, когда накатил транк с ядром 4.1. На нем все работает с таким же драйвером эзера.

В общем, думаю поменять ядро. Возможно ли это сделать, не связываясь с транком (Берем Chaos Calmer и пересаживаем ему ядро 4.4, допустим)?

Ответ на: комментарий от vgovseychuk

Лучше посмотри коммиты, и там по аналогии. Т.е. идеальный вариант, найти коммит, который апдейтит ядро и патчи, и на основании этого коммита сделать patch (git format-patch), и потом просто накатить его на свое дерево.

joy4eg ★★★★★
()
Последнее исправление: joy4eg (всего исправлений: 1)

а в чём, собственно бага с ethernet? спрашиваю, потому что много работаю с OpenWRT и в том числе с ядром 3.18 и вроде не попадалось ничего такого.

Iron_Bug ★★★★★
()
Ответ на: комментарий от Iron_Bug

а в чём, собственно бага с ethernet?

При перекачке данных с эзера на эзер на больших скоростях все валится к чертям.

Ограничение скорости Ethernet Bridge тут я искал временный костыль

https://yadi.sk/i/Iw05zuTSs4n94 тут лог

P.S. работаю с i.MX287

vgovseychuk
() автор топика
Ответ на: комментарий от joy4eg

1.Скачиваю исходник

git clone git://git.openwrt.org/15.05/openwrt.git

2.Меняю версию в мейкфайле с 3.18 на 4.1

KERNEL_PATCHVER:=4.1
в ту же директорию openwrt/target/linux/mxs помещаю патчи к ядру под мою архитектуру и конфиг для 4.1

3. Выбираю версию в openwrt/include/kernel-version.mk

LINUX_VERSION-4.1 = .25

4.Выбираю архитектуру mxs(i.MX28) в

make menuconfig

5.Запускаю

make kernel_menuconfig

Скачивается архив с ядром

.../openwrt/scripts/download.pl ".../openwrt/dl" "linux-4.1.25.tar.xz" "" "" "@KERNEL/linux/kernel/v4.x"
--2016-05-30 12:50:46--  ftp://ftp.all.kernel.org/pub/linux/kernel/v4.x/linux-4.1.25.tar.xz
           => '-'
Resolving ftp.all.kernel.org (ftp.all.kernel.org)... 199.204.44.194, 198.145.20.140, 149.20.4.69
Connecting to ftp.all.kernel.org (ftp.all.kernel.org)|199.204.44.194|:21... connected.
Logging in as anonymous ... Logged in!
==> SYST ... done.    ==> PWD ... done.
==> TYPE I ... done.  ==> CWD (1) /pub/linux/kernel/v4.x ... done.
==> SIZE linux-4.1.25.tar.xz ... 83096736
==> PASV ... done.    ==> RETR linux-4.1.25.tar.xz ... done.
Length: 83096736 (79M) (unauthoritative)

10% [=====>                                                       ] 8,917,736    212KB/s  eta 2m 23s
выводится ГУИшная менюшка. В ней меняю/не_меняю что-либо, выхожу, пытаюсь сохраниться и:
.../openwrt$ make kernel_menuconfig 
make[1]: Entering directory `.../openwrt/target/linux'
make[2]: Entering directory `.../openwrt/target/linux/mxs'
rm -f .../openwrt/build_dir/target-arm_arm926ej-s_uClibc-0.9.33.2_eabi/linux-mxs/linux-4.1.25/.configured
.../openwrt/scripts/kconfig.pl   .../openwrt/target/linux/mxs/config-4.1 > .../openwrt/build_dir/target-arm_arm926ej-s_uClibc-0.9.33.2_eabi/linux-mxs/linux-4.1.25/.config
export MAKEFLAGS= ;make -C .../openwrt/build_dir/target-arm_arm926ej-s_uClibc-0.9.33.2_eabi/linux-mxs/linux-4.1.25 -C .../openwrt/build_dir/target-arm_arm926ej-s_uClibc-0.9.33.2_eabi/linux-mxs/linux-4.1.25 HOSTCFLAGS="-O2 -I .../openwrt/staging_dir/host/include -I .../openwrt/staging_dir/host/usr/include -Wall -Wmissing-prototypes -Wstrict-prototypes" CROSS_COMPILE="arm-openwrt-linux-uclibcgnueabi-" ARCH="arm" KBUILD_HAVE_NLS=no CONFIG_SHELL="bash" V='' CC="arm-openwrt-linux-uclibcgnueabi-gcc" menuconfig
make[3]: Entering directory `.../openwrt/build_dir/target-arm_arm926ej-s_uClibc-0.9.33.2_eabi/linux-mxs/linux-4.1.25'
scripts/kconfig/mconf  Kconfig
configuration written to .config

*** End of the configuration.
*** Execute 'make' to start the build or try 'make help'.

make[3]: Leaving directory `.../openwrt/build_dir/target-arm_arm926ej-s_uClibc-0.9.33.2_eabi/linux-mxs/linux-4.1.25'
.../openwrt/scripts/kconfig.pl '>'   .../openwrt/build_dir/target-arm_arm926ej-s_uClibc-0.9.33.2_eabi/linux-mxs/linux-4.1.25/.config > .../openwrt/target/linux/mxs/config-4.1
Parse error at .../openwrt/scripts/kconfig.pl line 137, <FILE> line 1204.
make[2]: *** [menuconfig] Error 255
make[2]: Leaving directory `.../openwrt/target/linux/mxs'
make[1]: *** [menuconfig] Error 2
make[1]: Leaving directory `.../openwrt/target/linux'
make: *** [kernel_menuconfig] Ошибка 2

vgovseychuk
() автор топика
Ответ на: комментарий от vgovseychuk

make kernel_menuconfig

this.

Сколько помню, с этим всегда были какие-то проблемы.
Я обычно менял что-то напрямую в config файлах для своего target, так проблем несколько меньше, но сам процесс более затратный.

joy4eg ★★★★★
()
Ответ на: комментарий от joy4eg

даже, если я делаю конфиг в таргете пустым и запускаю напрямую make, то же самое. Видимо, все не так просто...

vgovseychuk
() автор топика
Ответ на: комментарий от vgovseychuk

Ты не все конфиги сложил.
Тебе нужно взять еще из транка target/linux/generic/config-4.1 и положить его у себя по аналогичному пути.
Специально все склонил/проверил - работает :)

joy4eg ★★★★★
()
Ответ на: комментарий от joy4eg

Большое спасибо! Не без проблем, но завелось. Буду теперь тестить на плате)

vgovseychuk
() автор топика
Ответ на: комментарий от joy4eg

Короче, не собралось, как надо. Постоянно какие-то нестыковки, проблема с зависимостями и т.п.

Забил на это дело, попереносил драйверов ручками и в один момент все заработало. Первопричину, кстати, так и не нашел=(

vgovseychuk
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.