找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 2079|回复: 3

tplink uboot编译出错求助

[复制链接]
发表于 2016-11-21 17:45 | 显示全部楼层 |阅读模式
参考hackpascal大神uboot编译,各种编译器都试过了,openwrt自带的,Buildroot工具链,但是编译db12x_config一直出错,
其他什么都没改。

编译脚本
  1. export PATH=/home/zyw/buildroot-2016.08.1/output/host/usr/bin/:$PATH

  2. make clean

  3. make distclean

  4. make db12x_config

  5. make CROSS_COMPILE=mips-buildroot-linux-uclibc- COMPRESSED_UBOOT=1 ETH_CONFIG=_s27
复制代码


编译出错,求大神解释下


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
发表于 2016-11-21 21:15 | 显示全部楼层
系统问题吧/、/
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-11-22 10:41 | 显示全部楼层
本帖最后由 zeng362424 于 2016-11-22 10:48 编辑

上面这个问题,我在uboot根目录下的Makefle里面看到了定义,我编译的时候已经定义了ETH_CONFIG=_s27,编译还是出错,最后我在include/configs/db12x.h 里面直接定义了

1、
#define CFG_ATHRS27_PHY 1
#define CFG_AG7240_NMACS 2
  1. db12x_config                        :         unconfig
  2.         @ >include/config.h
  3. ifeq ($(ETH_CONFIG2), _s17)
  4.         @echo '#define CONFIG_ATHRS17_PHY 1' >>include/config.h
  5.         @echo '#define CFG_DUAL_PHY_SUPPORT 1' >>include/config.h
  6. else
  7. ifeq ($(ETH_CONFIG), _s17)
  8.         @echo '#define CONFIG_ATHRS17_PHY 1' >>include/config.h
  9.         @echo '#define CFG_AG7240_NMACS 1' >>include/config.h
  10. endif
  11. endif
  12. ifeq ($(ETH_CONFIG2), _s17_hwaccel)
  13.         @echo '#define CONFIG_ATHRS17_PHY 1' >>include/config.h
  14.         @echo '#define CFG_DUAL_PHY_SUPPORT 1' >>include/config.h
  15. else
  16. ifeq ($(ETH_CONFIG), _s17_hwaccel)
  17.         @echo '#define CONFIG_ATHRS17_PHY 1' >>include/config.h
  18.         @echo '#define CFG_AG7240_NMACS 1' >>include/config.h
  19. endif
  20. endif
  21. ifeq ($(ETH_CONFIG), _s16)
  22.         @echo '#define CONFIG_AR7242_S16_PHY 1' >>include/config.h
  23.         @echo '#define CFG_AG7240_NMACS 1' >>include/config.h
  24. endif
  25. ifeq ($(ETH_CONFIG), _f1e)
  26.         @echo '#define CONFIG_F1E_PHY 1' >>include/config.h
  27.         @echo '#define CFG_AG7240_NMACS 1' >>include/config.h
  28. endif
  29. ifeq ($(ETH_CONFIG), _f2e)
  30.         @echo '#define CONFIG_F2E_PHY 1' >>include/config.h
  31.         @echo '#define CFG_AG7240_NMACS 1' >>include/config.h
  32. endif

  33. ifeq ($(ETH_CONFIG), _vir)
  34.         @echo '#define CONFIG_VIR_PHY 1' >>include/config.h
  35.         @echo '#define CFG_AG7240_NMACS 1' >>include/config.h
  36. endif
  37. ifeq ($(ETH_CONFIG), _s27)
  38.         @echo '#define CFG_ATHRS27_PHY 1' >>include/config.h
  39.         @echo '#define CFG_AG7240_NMACS 2' >>include/config.h
  40. endif

  41. ifneq ($(findstring mi124,$(BUILD_CONFIG)),)
  42.         @echo '#define CONFIG_MI124 1' >>include/config.h
  43. endif
  44. ifneq ($(findstring ap123,$(BUILD_CONFIG)),)
  45.         @echo '#define CONFIG_AP123 1' >>include/config.h
  46. endif
  47.         @echo "#define CONFIG_AR7240 1" >>include/config.h
  48.         @echo "#define CONFIG_WASP 1" >>include/config.h
  49. ifdef BOOT_FROM_NAND
  50.         @echo "#define CONFIG_ATH_NAND_FL 1" >>include/config.h
  51. ifeq ($(BUILD_TYPE),jffs2)
  52.         @echo "#define CONFIG_ATH_NAND_JFFS2        1" >>include/config.h
  53.         @echo "#define CONFIG_ATH_NAND_YAFFS        0" >>include/config.h
  54. else
  55.         @echo "#define CONFIG_ATH_NAND_JFFS2        0" >>include/config.h
  56.         @echo "#define CONFIG_ATH_NAND_YAFFS        1" >>include/config.h
  57. endif
  58. endif
  59. ifdef FLASH_SIZE
  60.         @echo "#define FLASH_SIZE $(FLASH_SIZE)" >>include/config.h
  61. endif
  62. ifeq ($(DB12X_P2P_ENV), 1)
  63.         @echo "#define CONFIG_DB12X_P2P 1" >>include/config.h
  64. endif

  65.         @./mkconfig -a db12x mips mips db12x ar7240 ar7240
复制代码
2、后面编译出现led点亮和熄灭的函数以及pci初始化函数未定义,不知道怎么回事?ar7240_all_led_on();
ar7240_all_led_off();
pci_init();
没办法只有注释掉了
  1. void board_init_r (gd_t *id, ulong dest_addr)
  2. {
  3.         cmd_tbl_t *cmdtp;
  4.         ulong size;
  5.         extern void malloc_bin_reloc (void);
  6. #ifndef CFG_ENV_IS_NOWHERE
  7.         extern char * env_name_spec;
  8. #endif
  9.         char *s, *e;
  10.         bd_t *bd;
  11.         int i;

  12.         gd = id;
  13.         gd->flags |= GD_FLG_RELOC;        /* tell others: relocation done */

  14.         debug ("Now running in RAM - U-Boot at: %08lx\n", dest_addr);

  15.         gd->reloc_off = dest_addr - CFG_MONITOR_BASE;

  16.         monitor_flash_len = (ulong)&uboot_end_data - dest_addr;

  17.         /*
  18.          * We have to relocate the command table manually
  19.          */
  20.          for (cmdtp = &__u_boot_cmd_start; cmdtp !=  &__u_boot_cmd_end; cmdtp++) {
  21.                 ulong addr;

  22.                 addr = (ulong) (cmdtp->cmd) + gd->reloc_off;
  23. #if 0
  24.                 printf ("Command "%s": 0x%08lx => 0x%08lx\n",
  25.                                 cmdtp->name, (ulong) (cmdtp->cmd), addr);
  26. #endif
  27.                 cmdtp->cmd =
  28.                         (int (*)(struct cmd_tbl_s *, int, int, char *[]))addr;

  29.                 addr = (ulong)(cmdtp->name) + gd->reloc_off;
  30.                 cmdtp->name = (char *)addr;

  31.                 if (cmdtp->usage) {
  32.                         addr = (ulong)(cmdtp->usage) + gd->reloc_off;
  33.                         cmdtp->usage = (char *)addr;
  34.                 }
  35. #ifdef        CFG_LONGHELP
  36.                 if (cmdtp->help) {
  37.                         addr = (ulong)(cmdtp->help) + gd->reloc_off;
  38.                         cmdtp->help = (char *)addr;
  39.                 }
  40. #endif
  41.         }
  42.         /* there are some other pointer constants we must deal with */
  43. #ifndef CFG_ENV_IS_NOWHERE
  44.         env_name_spec += gd->reloc_off;
  45. #endif

  46.         /* turn off switch LED added by tiger 20091225 */
  47.         //ar7240_gpio_sw_led();

  48.         printf("led turning on for 1s...\n");
  49.         /* turn on all leds */
  50.     //ar7240_all_led_on();---------------------这里提示未定义

  51. /* [wuzhong start], 2013-6-24
  52. * Since system led keeps on onboot, there is no need sleep 1 seconds in uboot.
  53. */
  54. #if defined(GPIO_KEEP_SYS_LED_ON_ONBOOT) && defined(REDUCE_BOOT_TIME_BY_KEEPING_SYS_LED_ON_ONBOOT)
  55.         /* do nothing */
  56. #else
  57.         udelay(1000000);
  58. #endif
  59. /* [wuzhong end] */

  60. //ar7240_all_led_off();-------------这里提示未定义
  61.         
  62.         /* configure available FLASH banks */
  63.         size = flash_init();
  64.         display_flash_config (size);

  65.         bd = gd->bd;
  66.         bd->bi_flashstart = CFG_FLASH_BASE;
  67.         bd->bi_flashsize = size;
  68. #if CFG_MONITOR_BASE == CFG_FLASH_BASE
  69.         bd->bi_flashoffset = monitor_flash_len;        /* reserved area for U-Boot */
  70. #else
  71.         bd->bi_flashoffset = 0;
  72. #endif

  73.         /* initialize malloc() area */
  74.         mem_malloc_init();
  75.         malloc_bin_reloc();

  76.         /* relocate environment function pointers etc. */
  77.         env_relocate();

  78.         /* board MAC address */
  79.         s = getenv ("ethaddr");
  80.         for (i = 0; i < 6; ++i) {
  81.                 bd->bi_enetaddr[i] = s ? simple_strtoul (s, &e, 16) : 0;
  82.                 if (s)
  83.                         s = (*e) ? e + 1 : e;
  84.         }

  85.         /* IP Address */
  86.         bd->bi_ip_addr = getenv_IPaddr("ipaddr");

  87. #if defined(CONFIG_PCI)
  88.         /*
  89.          * Do pci configuration
  90.          */
  91. //pci_init();
  92. #endif

  93. /** leave this here (after malloc(), environment and PCI are working) **/
  94.         /* Initialize devices */
  95.         devices_init ();

  96.         jumptable_init ();

  97.         /* Initialize the console (after the relocation and devices init) */
  98.         console_init_r ();
  99. /** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** **/

  100.         /* Initialize from environment */
  101.         if ((s = getenv ("loadaddr")) != NULL) {
  102.                 load_addr = simple_strtoul (s, NULL, 16);
  103.         }
  104. #if (CONFIG_COMMANDS & CFG_CMD_NET)
  105.         if ((s = getenv ("bootfile")) != NULL) {
  106.                 copy_filename (BootFile, s, sizeof (BootFile));
  107.         }
  108. #endif        /* CFG_CMD_NET */

  109. #if defined(CONFIG_MISC_INIT_R)
  110.         /* miscellaneous platform dependent initialisations */
  111.         misc_init_r ();
  112. #endif

  113. #if (CONFIG_COMMANDS & CFG_CMD_NET)
  114. #if defined(CONFIG_NET_MULTI)
  115.         puts ("Net:   ");
  116. #endif
  117.         eth_initialize(gd->bd);
  118. #endif

  119.         /* main_loop() can return to retry autoboot, if so just run it again. */
  120.         for (;;) {
  121.                 main_loop ();
  122.         }

  123.         /* NOTREACHED - no way out of command loop except booting */
  124. }
复制代码


3、最后uboot编译出来了,但是提示lzma:command not found,好像是没有找到压缩工具
  1. mips-openwrt-linux-objcopy --gap-fill=0xff -O binary bootstrap bootstrap.bin
  2. make: /home/zyw/work/u-boot/../../../util/lzma/bin/lzma: Command not found
  3. make: *** [u-boot.lzimg] Error 127
复制代码


希望知道的大神提点一下。。。。。



点评

/home/zyw/work/u-boot/../../../util/lzma/bin/lzma: Command not found 这个目录没有lzma。你看看你的目录  发表于 2016-11-22 13:08
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

欢迎大家光临恩山无线论坛上一条 /1 下一条

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2024-10-1 08:29

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com

快速回复 返回顶部 返回列表