@proembedded

Страница 442 из 975
Denis
27.08.2017
22:53:52
Зови раньше ;) будет лучше

Я давно не применял столько экстренной инжЫнерии





Google
Cate
27.08.2017
23:00:09


Denis
27.08.2017
23:04:00
Дада

Ingenegr
28.08.2017
05:18:14
Denis
28.08.2017
05:31:06
Скотч и изолента наше все?
Синей не было, так работа не так быстро шла

Ingenegr
28.08.2017
05:40:46
Синей не было, так работа не так быстро шла
Норм! У нас самые крутые технологии

Dmitriy
28.08.2017
06:54:26


Микрофон удерживается пассатижами.

Kostya Goodsoul
28.08.2017
06:57:16
Пасстижами микрофон только удалили из тела

Ingenegr
28.08.2017
07:22:00
Караочные микрофоны найдите их как гамна за баней. На нг выкидывал

Cate
28.08.2017
08:25:47
Петр на стиле

info@cc.org.ru

Google
Ingenegr
28.08.2017
09:33:04
Cate
28.08.2017
09:33:22
нет

меня там даже рядом не было.

oles
28.08.2017
11:18:25
народ подскажите в чем может быть проблема, собрал ядро с помощью тулчейна с http://toolchains.free-electrons.com/ для armv5 под одну из виртуальных бод для кему, для нее подготовил инитрд с начальным образом с инитом в виде бизибокса, где скрипт загрузки в бескончном цикле выводит TEST и спит. проблема когда вызывается sleep ядро падает со следующей ошибкой

https://pastebin.com/jNUQ40yW

Vladislav
28.08.2017
11:20:21
инит дохет

по sigsegv

пикотранзистор
28.08.2017
11:21:05
Нет же. Просто выходит, нет?

Там после segfault'а ещё TEST пишется.

oles
28.08.2017
11:21:20
там бесконечный цикл

пикотранзистор
28.08.2017
11:21:24
А можно посмотркеть скрипт?

oles
28.08.2017
11:21:33
ща

когда sleep нет то он нормально выводит TEST бескончно

Vladislav
28.08.2017
11:22:25
Там после segfault'а ещё TEST пишется.
мошт успело проскочить до обработки сигнала

пикотранзистор
28.08.2017
11:22:47
А не хочешь запустить шелл-скрипт с set -x?

Чтобы увидеть наверняка, на чём падает.

Pavel
28.08.2017
11:23:39
Микрофон удерживается пассатижами.
"Не тычте в меня пасатижами"(C) Tim (TNT23)

oles
28.08.2017
12:09:11
пикотранзистор
28.08.2017
12:09:37
Скрипт бы ещё посмотреть.

oles
28.08.2017
12:10:09
Скрипт бы ещё посмотреть.
#!/bin/sh set -x while : do echo TEST sleep 1 done

Google
пикотранзистор
28.08.2017
12:12:06
А можешь which sleep добавить? Может быть /bin/sleep нужен, ибо "type sleep" говорит, что это не built-in, а PATH по умолчанию, ЕМНИП, пустой.

oles
28.08.2017
12:13:06
гм кстати да

но ехо то он находит

пикотранзистор
28.08.2017
12:13:26
echo -- это built-in

oles
28.08.2017
12:13:45
там там все встроенное

этож бизибокс

пикотранзистор
28.08.2017
12:13:59
Не-а.

Он multi-call binary, да.

oles
28.08.2017
12:14:29
а в чем разница?

пикотранзистор
28.08.2017
12:14:33
Но он не в этом смысле built-in. Есть /bin/echo -> busybox, а есть echo, который как функция в /bin/sh'е.

oles
28.08.2017
12:15:25
+ : + which sleep /bin/sleep

пикотранзистор
28.08.2017
12:16:22
Странно. Может, у which'а есть поведение, при котором при пустом PATH используется какой-нибудь PATH=/bin:/sbin:/usr/bin:/usr/sbin.

пикотранзистор
28.08.2017
12:16:50
Хотя сам which в /usr/bin лежит.

oles
28.08.2017
12:17:05
щас тогда укажу полный путь

тоже самое

Vladislav
28.08.2017
12:18:11
попробуй включить в bb FEATURE_SH_NOFORK и вместо sleep заюзать usleep апплет

в качестве диагностики запуска аплетов bb

oles
28.08.2017
12:19:10
да я просто хоу понять в чем проблема

пикотранзистор
28.08.2017
12:19:14
Интересно, что sleep падает с exitcode=0x0000000b

Google
пикотранзистор
28.08.2017
12:20:47
А кто-нибудь знает, как работает sleep? Может быть, там у него какие-то фичи нужны у pts, в котором он запущен? Помнится мне, например, в init'овском shell-скрипте не засунуть программы в background (ну, а-ля "cat &").

А, кстати, запусти с init=/bin/sh и запусти руками sleep.

Vladislav
28.08.2017
12:23:58
syscall

пикотранзистор
28.08.2017
12:24:50
Я посмотрел, что sleep вообще не может выйти с exit code'ом, отличном от 0, лол.

oles
28.08.2017
12:24:50
руками нормально кстати

ну по логике а как он еще может выйти

пикотранзистор
28.08.2017
12:25:43
Shell'у как-то очень плохо становится, я хз.

Vladislav
28.08.2017
12:25:44
там не слип выходит, а init c 0xb

пикотранзистор
28.08.2017
12:26:13
Так если init — это шелл-скрипт... А, птфу.

Там же нет set -e.

Admin
ERROR: S client not available

Vladislav
28.08.2017
12:26:22
libc какая?

пикотранзистор
28.08.2017
12:26:38
Да, значит всему интерпретатору становится очень плохо.

oles
28.08.2017
12:26:51
хз я брал бинарь уже собранный с сайта бизибокса

пикотранзистор
28.08.2017
12:27:09
Так а rootfs чем собрана?

oles
28.08.2017
12:27:24
cpio

пикотранзистор
28.08.2017
12:27:52
Я имею в виду, ты руками скелет rootfs создавал или какой-нибудь yocto или buildroot?

oles
28.08.2017
12:28:24
шелл кстати на всех командах крашится отличных от ехо

Vladislav
28.08.2017
12:28:56
abi поломано?

Google
oles
28.08.2017
12:29:03
ну как руками, тем что мейкфайл от бизибокса создает

пикотранзистор
28.08.2017
12:29:22
А в /lib/libc.so.6 откуда ты взял?

oles
28.08.2017
12:29:34
дэк там же статически все собрано

пикотранзистор
28.08.2017
12:34:12
А версия ядра какая?

oles
28.08.2017
12:36:46
пикотранзистор
28.08.2017
12:37:18
Может, ради прикола возьмёшь постарше* версию busybox'а?

oles
28.08.2017
12:38:11
это например какую

пикотранзистор
28.08.2017
12:38:16
А какая сейчас?

oles
28.08.2017
12:39:15
1.21.1

Vladislav
28.08.2017
12:39:40
тогда лучше посвежее попробуй

1.24 или 1.26.2

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

oles
28.08.2017
12:42:14
на 1.26.2 та же шляпа

пикотранзистор
28.08.2017
12:44:24
А если наоборот старый?

1.16.x

А мы вообще на какой архитектуре-то? Что за проц?

oles
28.08.2017
12:45:30
armv5 борда mainstone

пикотранзистор
28.08.2017
12:46:41
Если так и будет всё плохо, может лучше на buildroot перейдёшь? Он тебе и кросстулчейн соберёт, и ядро соберёт, и этим же SDK соберёт busybox, и даже cpio с kernel'ом как артефакты выдаст?

oles
28.08.2017
12:48:47
Если так и будет всё плохо, может лучше на buildroot перейдёшь? Он тебе и кросстулчейн соберёт, и ядро соберёт, и этим же SDK соберёт busybox, и даже cpio с kernel'ом как артефакты выдаст?
ну если уж совсем беспросветно то возможно, а так это я ради экспериментов делаю чтоб более детально разобраться

oles
28.08.2017
12:51:20
А ядро ты сам собираешь при этом?
сам, кстати bb 1.16.1 Заработал таки

пикотранзистор
28.08.2017
12:54:45
сам, кстати bb 1.16.1 Заработал таки
Ну, получается, libc, который собирается со свежим busybox'ом, уже несовместим по ABI со старым ядром. Вероятно, там какой-то libc а-ля musl или uclibc, который не тащит за собой обратную совместимость.

Ну, получается, libc, который собирается со свежим busybox'ом, уже несовместим по ABI со старым ядром. Вероятно, там какой-то libc а-ля musl или uclibc, который не тащит за собой обратную совместимость.
Но я очень советую перейти на buildroot, ибо дальше, как я понимаю, ты и какой-то прикладной софт притащишь к себе, а его бы желательно собирать с тем же libc, иначе на грабли наступать начнёшь.

Страница 442 из 975