yocto项目中mgetty的自定义配方

时间:2018-06-07 14:21:16

标签: yocto bitbake recipe

我试图在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 :(得分:0)

如果你是Yocto的新手,我建议使用devtool。所以,在这种情况下:

if err?.localizedDescription.range(of: "Could not connect to the server.") != nil {
    print("Could not connect to the server!")
} else if err?.localizedDescription.range(of: "A server with the specified hostname could not be found.") != nil {
    print("A server with the specified hostname could not be found.")
}

这将使用配方和来源为您创建本地工作区。现在,devtool应该能够根据包中某些文件的存在自动检测某些内容。

但是,对于这样的项目,您可能还必须对Makefile进行更改,以确保它不会覆盖编译器和标记变量。因此,在这种情况下,进行更改以确保CC,CFLAGS,LDFLAGS不会被覆盖等(替换= with?=将是这样做的一种方式)。完成后,使用' 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

有关详细信息,请参阅手册。