2017-10-06 70 views
0

我':命令行标志未发现建筑物的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尝试在tmp/vmlinux-alfa-nx中找到属性CMDLINE,并找到命令行中的“修补程序”。

问题:

  • 什么是vmlinux的-α-NX的目的,它不是内核映像:

    文件的vmlinux-α-NX 的vmlinux-α-NX:数据

  • ,显的问题来自TMP/vmlinux的-α-NX,我如何改变它,这样它包含 “CMDLINE”

回答

0

如果我正确理解你的问题,很可能你没有正确定义构建OpenWRT的目标。 CMDLINE是一个保存用于加载内核的命令行的变量。

您可能想在OpenWRT论坛中阅读this documentation articlethis post