四川大学计算机学院、软件学院实验报告学号:姓名:专业:班级:软件第周课程名称操作系统实验课时2实验项目Nachos64位开发境建立实验时间90分钟实验目的1.Ubuntu下搭建Nachos开发环境实验环境x86,Windows10,VMwareWorkstationPro,SSHSecureShellClient-3.2.9实验内容(算法、程序、步骤和方法)任务:Ubuntu下搭建Nachos开发环境步骤:1.C言编译环境的搭建1)下载源码2)gcc版本管理:sudoapt-getinstallgcc-5g++-53)安装gcc和g++多平台库sudoapt-getinstallgcc-multilibg++-multilib2.NachOS编译、修改与测试(1)将NachOS源码压缩包放置在桌面/cd进入桌面目录(2)解压NachOS源码压缩:tar-xzvf0.gz(3)cdNachOS-4.1进入到解压目录(4)修改sysdep.h文件:cdcode/lib/visysdep.h(5)建立依赖关系cd./code/build.linuxmakedepend(6)修改Makefile根据错误提示删除203行的-fwritable-strings选项(7)执行make会出现错误:(8)修改NachOS-4.1/code/lib/list.cc,将编译出错中的凡是包含numInList,first,last,IsEmpty(),IsInList的方法或属性修改为this-numInList,this-first,this-last,this-IsEmpty(),this-IsInList:cd..、cdlib、vilist.cc,修改完毕,按下’esc’,输入’:wq’进入末行模式存盘并退出。(9)再次回到code/build.linux,执行make(10)根据报错信息,在Makefile的203行添加选项-fpermissive,此时再次执行make,会出现如下错:(11)给g++增加编译项-m32echo'/usr/bin/g++-m32$@'~/g++[g++重定向]chmod+x~/g++[让它可执行]exportPATH=$HOME:$PATH[在目录在搜索路径](12)修改Makefile的203、209行与210行分别加入选项-m32和–32修改结果如下:(13)执行makeclean之后再次执行make成功编译出nachos二进制文件。(14)执行命令:./nachos,产生如下输入,编译成功3.安装交叉编译器,编译基于NachOS的用户程序(1)将交叉编译器mips-decstation.linux-xgcc.tgz拷贝到“/”目录下(2)解压文件tarxvzfmips-decstation.linux-xgcc.tgz(3)进入到nachos安装目录,cdcoff2noff目标,编译可执行文件转换工具(4)修改生成的Makefile,在编译选项和链接选项中分别加入32位选项-m32(5)然后执行make,生成可执行程序(6)进入测试程序目录(7)修改编译配置文件Makefile.dep文件将CPP修改为CPP=/usr/local/nachos/lib/gcc-lib/decstation-ultrix/2.95.2/cpp将GCCDIR改为GCCDIR=/usr/local/nachos/bin/decstation-ultrix(8)在该test目录下执行make.编译成功,没有产生错误信息,编译环境搭建成功。(9)在该test目录下,测试用户加载用户程序:../build.linux/nachos-xhalt.noff数据记录和计算操作截图记录如上结论(结果)在解决了大大小小的错误之后,Ubuntu下Nachos开发环境搭建成功,交叉编译环境搭建成功。小结通过本实验,我成功进行了Ubuntu下Nachos开发环境的搭建,为后期的交叉编译相关学习创造了条件。Nachos开发环境环境搭建过程中我遇到了大大小小的错误,都得以在查资料和询问同学之后得以成功解决。目前阶段的我对于Linux下交叉编程相关方面知识还有待学习,准备不充分,仍然需要多多进行认识并进行实践操作。指导老师评议成绩评定:指导教师签名: