无忧启动论坛

 找回密码
 注册
搜索
WEPE笔记本电脑手机维修小包 IT发烧友的必备工具最纯净的「微PE装机优盘」UEPON大师作品卡瑞飞系统和装机二合一超级U盘
无忧启动论坛唯一网址:bbs.wuyou.net系统gho:最纯净好用系统下载站广告联系 QQ:184822951 微信:wuyouceo
楼主: 求道者

[求助] 问些wee菜单很怪的问题。

    [复制链接]
发表于 2019-10-25 20:43:20 | 显示全部楼层
这三个字节应该是个错误,应该删除。前后共有 6 个字节应该删除。

可能是由于编译环境不是 bash 而是其它shell 造成的。

当初发布的 wee63.mbr 应该没有这三个字节的。

点评

是不是其他的地方也有这种垃圾字节? 汇编程序这样不应该……  详情 回复 发表于 2019-10-25 20:44
回复

使用道具 举报

 楼主| 发表于 2019-10-25 20:44:58 | 显示全部楼层
不点 发表于 2019-10-25 20:43
这三个字节应该是个错误,应该删除。前后共有 6 个字节应该删除。

可能是由于编译环境不是 bash 而是其 ...

是不是其他的地方也有这种垃圾字节?
汇编程序这样不应该……

点评

汇编程序不会有这些垃圾字节。 菜单是 shell 处理后附加在尾部的。编译的时候,如果发行版的 shell 不是 bash,就可能出现这个错误。 要强制把 /bin/sh 弄成指向 bash 才行。  详情 回复 发表于 2019-10-25 20:55
回复

使用道具 举报

发表于 2019-10-25 20:46:24 | 显示全部楼层
有没有谁在 Linux 下编译一下看看?

点评

怎么弄? 我make一下试试 不一定有编译环境  详情 回复 发表于 2019-10-25 20:49
回复

使用道具 举报

 楼主| 发表于 2019-10-25 20:49:46 | 显示全部楼层
本帖最后由 求道者 于 2019-10-25 20:54 编辑
不点 发表于 2019-10-25 20:46
有没有谁在 Linux 下编译一下看看?

怎么弄?
我make一下试试
不一定有编译环境

  1. make
  2. gcc -m32 -mno-sse -g  -c asm.S -o ./asm.o
  3. gcc -m32 -mno-sse -g -Os -fno-stack-protector -fno-builtin -mpreferred-stack-boundary=2 -fno-strict-aliasing -fomit-frame-pointer -fno-exceptions -fno-asynchronous-unwind-tables -fno-unwind-tables -nostdinc -Wall -Wmissing-prototypes -Wunused -Wshadow -Wpointer-arith -Wundef  -c builtins.c -o ./builtins.o
  4. builtins.c: In function ‘map_func’:
  5. builtins.c:1210:8: warning: variable ‘p’ set but not used [-Wunused-but-set-variable]
  6.   char *p;
  7.         ^
  8. In file included from builtins.c:25:
  9. builtins.c: At top level:
  10. shared.h:389:29: warning: inline function ‘log2_tmp’ declared but never defined
  11. extern inline unsigned long log2_tmp (unsigned long word);
  12.                              ^~~~~~~~
  13. gcc -m32 -mno-sse -g -Os -fno-stack-protector -fno-builtin -mpreferred-stack-boundary=2 -fno-strict-aliasing -fomit-frame-pointer -fno-exceptions -fno-asynchronous-unwind-tables -fno-unwind-tables -nostdinc -Wall -Wmissing-prototypes -Wunused -Wshadow -Wpointer-arith -Wundef  -c disk_io.c -o ./disk_io.o
  14. In file included from disk_io.c:23:
  15. shared.h:389:29: warning: inline function ‘log2_tmp’ declared but never defined
  16. extern inline unsigned long log2_tmp (unsigned long word);
  17.                              ^~~~~~~~
  18. gcc -m32 -mno-sse -g -Os -fno-stack-protector -fno-builtin -mpreferred-stack-boundary=2 -fno-strict-aliasing -fomit-frame-pointer -fno-exceptions -fno-asynchronous-unwind-tables -fno-unwind-tables -nostdinc -Wall -Wmissing-prototypes -Wunused -Wshadow -Wpointer-arith -Wundef  -c fsys_ext2fs.c -o ./fsys_ext2fs.o
  19. fsys_ext2fs.c:38:1: error: static declaration of ‘log2_tmp’ follows non-static declaration
  20. log2_tmp (unsigned long word)
  21. ^~~~~~~~
  22. In file included from fsys_ext2fs.c:33:
  23. shared.h:389:29: note: previous declaration of ‘log2_tmp’ was here
  24. extern inline unsigned long log2_tmp (unsigned long word);
  25.                              ^~~~~~~~
  26. shared.h:389:29: warning: inline function ‘log2_tmp’ declared but never defined
  27. make: *** [Makefile:62:fsys_ext2fs.o] 错误 1
复制代码
报错
看起来是GCC版本问题
但README没写用哪个版本……
不点知道吗?

点评

这些错误,你应该可以帮忙排除。你自己写 c 程序,有错了,不是一样需要排除吗?  详情 回复 发表于 2019-10-25 20:59
回复

使用道具 举报

发表于 2019-10-25 20:55:02 | 显示全部楼层
求道者 发表于 2019-10-25 20:44
是不是其他的地方也有这种垃圾字节?
汇编程序这样不应该……

汇编程序不会有这些垃圾字节。

菜单是 shell 处理后附加在尾部的。编译的时候,如果发行版的 shell 不是 bash,就可能出现这个错误。

要强制把 /bin/sh 弄成指向 bash 才行。

点评

Makefile写死了 恐怕不是这样  详情 回复 发表于 2019-10-25 20:56
回复

使用道具 举报

 楼主| 发表于 2019-10-25 20:56:53 | 显示全部楼层
不点 发表于 2019-10-25 20:55
汇编程序不会有这些垃圾字节。

菜单是 shell 处理后附加在尾部的。编译的时候,如果发行版的 shell 不 ...
  1. SHELL=/bin/bash
  2. SRC_C := builtins.c disk_io.c fsys_ext2fs.c fsys_fat.c fsys_ntfs.c
  3. SRC_S := asm.S wee63start.S
  4. BUILDROOT := .
  5. LDFLAGS :=
复制代码

Makefile写死了
恐怕不是这样

点评

那应该不会出现垃圾字节。 你给出的编译结果可能比较早,那时还没有添加 SHELL=/bin/bash  详情 回复 发表于 2019-10-25 21:08
回复

使用道具 举报

发表于 2019-10-25 20:59:47 | 显示全部楼层
求道者 发表于 2019-10-25 20:49
怎么弄?
我make一下试试
不一定有编译环境

这些错误,你应该可以帮忙排除。你自己写 c 程序,有错了,不是一样需要排除吗?

点评

这不是等于把wee的编译环境迁移到新版的gcc吗?  详情 回复 发表于 2019-10-25 21:08
回复

使用道具 举报

发表于 2019-10-25 21:08:20 | 显示全部楼层
求道者 发表于 2019-10-25 20:56
Makefile写死了
恐怕不是这样

那应该不会出现垃圾字节。

你给出的编译结果可能比较早,那时还没有添加

SHELL=/bin/bash

点评

[分享] 自己动手,在WINDOWS系统中搭建GRUB4DOS编译环境[2014-06-25] chenall一直是在WINDOWS下编译的? 会出问题不奇怪  详情 回复 发表于 2019-10-25 21:16
回复

使用道具 举报

 楼主| 发表于 2019-10-25 21:08:40 | 显示全部楼层
本帖最后由 求道者 于 2019-10-25 21:11 编辑
不点 发表于 2019-10-25 20:59
这些错误,你应该可以帮忙排除。你自己写 c 程序,有错了,不是一样需要排除吗?


这不是等于把wee的编译环境迁移到新版的gcc吗?
这工作量有点大
回复

使用道具 举报

 楼主| 发表于 2019-10-25 21:16:35 | 显示全部楼层
不点 发表于 2019-10-25 21:08
那应该不会出现垃圾字节。

你给出的编译结果可能比较早,那时还没有添加

[分享] 自己动手,在WINDOWS系统中搭建GRUB4DOS编译环境[2014-06-25]
chenall一直是在WINDOWS下编译的?
会出问题不奇怪

点评

wee 的编译,不像 grub4dos 那样难。 wee 最好在 Linux 下编译。  详情 回复 发表于 2019-10-25 21:25
回复

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2019-12-8 02:01

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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