nachos报错File is not a OMAGIC file解决

…/…/coff2noff/coff2noff add.coff add.noff
File is not a OMAGIC file
Makefile:36: recipe for target ‘add.noff’ failed
make: *** [add.noff] Error 1
rm add.o add.coff

在这里插入图片描述

遇到了如上的问题,排查之后发现是coff2noff在make的时候没有加-m32参数。
找了一会,没有发现很明确的指导,就记录一下自己解决的步骤,供各位参考。

  1. 第一步,进入NachOS的coff2noff目录
    cd …填你的目录…/coff2noff

在这里插入图片描述

  1. 第二步,修改Makefile
    输入 vim Makefile
    在画红圈的部分加两个-m32参数
    在这里插入图片描述

  2. 保存退出(wq)

  3. make clean(一定要makeclean再make)

  4. make

  5. 回到刚才出现"File is not a OMAGIC file"报错的那里

问题解决。

参考链接:
https://blog.csdn.net/lxblghds/article/details/19808091?utm_source=itdadao&utm_medium=referral
https://www.cnblogs.com/olajennings/p/6662925.html
Ubuntu 18.04 Nachos 实验环境搭建
四川大学网络空间安全学院 梁刚 2019 年 03 月 07 日

  1. 安装编译基本工具包
    Sudo apt-get install build-essential
  2. 计算机 32 位/64 位检查
    实验用到的源码 Nachos4.1 版本很老,要求 linux 下是 32 位环境下且 gcc 版本低于 5.0。
    所以在搭建环境之前需要确认当前的操作系统与编译环境是否满足要求:
  1. 检查系统是 64 位内核
    执行上述命令,如果输出结果表示 amd64 表示你所在的 Linux 发行版本是 64 位内核,
    需要执行第二步;
  2. 检查系统是否支持多 32 位
    如果输出 i386 表示支持,否者执行第三步;
  3. 打开支持 32 位置支持功能
    sudo dpkg --add-architecture i386
  4. 安装 c,c++多平台库
    sudo apt-get install gcc-multilib g+±multilib
  5. 安装 32 位环境库
    sudo apt-get install lib32ncurses5 lib32z1
    sudo apt-get install zlib1g:i386 libstdc++6:i386
    sudo apt-get install libc6:i386 libncurses5:i386
    sudo apt-get install libgcc1:i386 libstdc++5:i386
  6. 安装低于 gcc5.0 的版本(备注,不同的 ubuntu18.04 发行版本,4.x 中 x 代表的值不
    同,这里可以用 tab 确认具体的版本号,Ubuntu16.04 gcc 版本为 4.x 的同学可以跳
    过这步)
    sudo apt-get install gcc-4.8 gcc-4.8-multilib g+±4.8 g+±4.8-multilib
  7. 将低版本 gcc 与 g++切换为当前活跃版本
    sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 40
    sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g+±4.8 40
  8. 检查版本是否正确
    gcc -v
    g++ -v
  9. 解压教师给的 nachos 源码
    tar xvzf nachos.tar.gz
  10. 进入到解压后的目录
    cd Nachos4.1;cd build.linux
    make depend
    make
  11. 建立交叉编译环境
    将教师分发的交叉编译器拷贝到“/”目录
    sudo cp mips.xxx /.
    在“/”目录下解压文件: sudo tar xvzf mipx.xxx (给完成的文件名)
  12. 编译可执行文件格式转换器
    cd /home/用户目录/Nachos4.1/coff2noff (用户目录这里键入你自己的用户名)
    ./configure
    修改产生的 Makefile 在编译与链接选项中键入-m32 选项
  13. 编译用户程序并测试
    Cd /home/用户名/Nachos4.1/code/test
    make
    …/build.linux/nachos -x add.noff
    有输出,那么 Nachos 环境搭建成功。
相关推荐
©️2020 CSDN 皮肤主题: 1024 设计师:白松林 返回首页