Пользовательский рецепт для mgetty в проекте yocto - PullRequest
0 голосов
/ 07 июня 2018

Я попытался создать собственный рецепт в проекте Yocto для mgetty.Но когда я создаю свой собственный образ, возникают некоторые проблемы, которые я не могу понять.

Это мой пользовательский mgetty_1.2.0.bb

DESCRIPTION = "mgetty 1.2.0 recipe"
SECTION = "mgetty"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=fd3b2e6132b4ff4cb475558807ded25f"

SRC_URI = "ftp://mgetty.greenie.net/pub/mgetty/source/1.2/mgetty-${PV}.tar.gz"
SRC_URI[md5sum] = "6700f55a61f3a71ce7b882a0d0b82d19"

inherit autotools

И это вывод ошибок:

ERROR: mgetty-1.2.0-r0 do_compile: oe_runmake failed
ERROR: mgetty-1.2.0-r0 do_compile: Function failed: do_compile (log file is 
located at [...path...])
ERROR: Logfile of failure stored in: [...path...]
Log data follows:
| DEBUG: SITE files ['endian-little', 'bit-32', 'arm-common', 'arm-32', 
'common-linux', 'common-glibc', 'arm-linux', 'arm-linux-gnueabi', 'common']
| DEBUG: Executing shell function do_compile
| NOTE: make -j 8
| make: *** No targets specified and no makefile found.  Stop.
| ERROR: oe_runmake failed
| WARNING: [...path...] exit 1 from 'exit 1'
| ERROR: Function failed: do_compile (log file is located at [...path...])
ERROR: Task ([...path...]/recipes-mgetty/mgetty/mgetty_1.2.0.bb:do_compile) 
failed with exit code '1'
NOTE: Tasks Summary: Attempted 2741 tasks of which 2734 didn't need to be 
rerun and 1 failed.
NOTE: Writing buildhistory

Я что-то пропустил в своем рецепте?

1 Ответ

0 голосов
/ 08 июня 2018

Я бы предложил использовать devtool, если вы новичок в Yocto.Итак, в этом случае:

devtool add mgetty ftp://mgetty.greenie.net/pub/mgetty/source/1.2/mgetty-1.2.0.tar.gz

Это создаст для вас локальное рабочее пространство с рецептом и источниками.Теперь devtool должен иметь возможность автоматически обнаруживать некоторые вещи, основываясь на наличии определенных файлов в пакете.

Но для подобных проектов вам, возможно, придется внести изменения и в Makefile, чтобы убедиться, чточто он не переопределяет переменные компилятора и флагов.Таким образом, в этом случае внесите изменения, чтобы убедиться, что CC, CFLAGS, LDFLAGS не перегружены и т. Д. (Замена = на? = Будет одним из способов сделать это).Как только это будет сделано, используйте «devtool build», чтобы создать свой рецепт и решить любые дальнейшие проблемы.

Как только вы закончите с изменениями, пожалуйста, создайте коммиты для них в рабочей области devtool и используйте 'devtool finish', чтобы создавать патчи для этих коммитов и включать их в ваш рецепт.См .:

https://www.yoctoproject.org/docs/current/mega-manual/mega-manual.html#sdk-devtool-use-devtool-modify-to-modify-the-source-of-an-existing-component

Подробнее см. В руководстве.

...