Ошибка при сборке системы rootfs для Raspberry Pi 3 с использованием Buildroot — отсутствие поддержки SysV IPC

Я пытаюсь создать образ Buildroot для Raspberry Pi 3, как показано на странице: ://github.com/buildroot/buildroot/tree/f8ff7ab0be1cd3aa846829dc234d8c67b1bda0dc/board/raspberrypi .

Я использую подсистему Windows для Linux, которую я обновил до версии Ubuntu 16.04.02.
Версия Buildroot — 2017.05.2.

Однако при запуске make я наблюдаю следующий вывод в bash:

/home/rijad/buildroot-2017.05.2/output/host/usr/bin/fakeroot --
/home/rijad/buildroot-2017.05.2/output/build/_fakeroot.fs
fakeroot, while creating message channels: Function not implemented
This may be due to a lack of SYSV IPC support.
fakeroot: error while starting the `faked' daemon.
kill: usage: kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill -l [sigspec]
fs/ext2/ext2.mk:42: recipe for target '/home/rijad/buildroot-2017.05.2/output/images/rootfs.ext2' failed
make[1]: *** [/home/rijad/buildroot-2017.05.2/output/images/rootfs.ext2] Error 1
Makefile:79: recipe for target '_all' failed
make: *** [_all] Error 2

Есть ли способ включить поддержку SysV IPC на WSL или запустить fakeroot с поддержкой TCP IPC?

Спасибо!


person Ricky12    schedule 02.08.2017    source источник
comment
Эта ошибка будет связана с тем, что ядро ​​Windows не было построено с поддержкой SYSV IPC.   -  person Matt Clark    schedule 02.08.2017
comment
если вы попробуете './configure' перед запуском make   -  person EsmaeelE    schedule 03.08.2017
comment
Вы пытаетесь создать свой образ на Raspberry Pi? Если да, вам, возможно, следует подумать о создании его на настольном ПК с использованием кросс-компилятора.   -  person Renaud Pacalet    schedule 03.08.2017


Ответы (3)


Я сам столкнулся с той же проблемой и некоторое время боролся с ней. Я добавил следующую команду для запуска перед сборкой файловой системы.

cp -f /usr/bin/fakeroot-tcp /path-to-buildroot/output/host/usr/bin/fakeroot
person shmuelie    schedule 29.09.2017
comment
@ Ricky12, подумайте о том, чтобы принять этот ответ, так как он решил вашу проблему. (Кстати, это тоже решило мою проблему.) - person applesoup; 03.12.2018

В подсистеме Windows для Linux открыта проблема: https://github.com/Microsoft/BashOnWindows/issues/2465

Очереди сообщений SYSV IPS еще не реализованы в текущем ядре:

Отсутствие очередей сообщений Sysvipc ломает fakeroot

person slaadvak    schedule 10.09.2017

В buildroot 2017.08.1 я изменил fs/common.mk:109, как показано ниже, и мне удалось создать rootfs!

# before
PATH=$$(BR_PATH) $$(HOST_DIR)/bin/fakeroot -- $$(FAKEROOT_SCRIPT)
# after
if [ `uname -r | grep "Microsoft"` ] ; then \
    cp -f `which fakeroot-tcp` $$(HOST_DIR)/bin/fakeroot ; fi
person sssai    schedule 18.11.2017