我在构建openwrt时遇到了这个问题:
Command line marker not found!
make[5]: *** [kernel_prepare] Error 255
经过分析,我发现问题来自
tools/patch-image/src/patch-cmdline.c
:for (p = ptr; p < (ptr + search_space); p += 4) {
if (memcmp(p, "CMDLINE:", 8) == 0) {
found = 1;
p += 8;
break;
}
}
if (!found) {
fprintf(stderr, "Command line marker not found!\n");
goto err3;
}
memset(p, 0, CMDLINE_MAX - 8);
strcpy(p, argv[2]);
msync(p, CMDLINE_MAX, MS_SYNC|MS_INVALIDATE);
ret = 0;
我的理解是
patch-cmdline.c
试图在CMDLINE
中找到属性tmp/vmlinux-alfa-nx
,一旦找到“补丁”命令行。问题:
vmlinux alfa nx的用途是什么,它不是内核映像:
vmlinux alfa nx文件
vmlinux alfa nx:数据
显然,问题来自tmp/vmlinux alfa nx,我如何更改它以使其包含“命令行”
最佳答案
如果我正确地理解了您的问题,很可能您没有正确地定义构建OpenWRT的目标。CMDLINE
是一个变量,保存用于加载内核的命令行。
您可能想在OpenWRT论坛中阅读this documentation article或this post。
关于linux - 找不到命令行标记,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46598674/