热门标签 | HotTags
当前位置:  开发笔记 > 开发工具 > 正文

lab_0清华大学ucore实验环境配置详细步骤!(小白入)

实验步骤1.下载项目从github上的https:github.comkiukotsuucore下载ucorelab实验:gitclonehttps:github.comkiuko

实验步骤


1.下载项目

从github上 的https://github.com/kiukotsu/ucore下载 ucore lab实验:

git clone https://github.com/kiukotsu/ucore.git

image-20220430131533440

旧版:https://github.com/kiukotsu/ucore

新版:https://github.com/chyyuu/os_kernel_lab

这里笔者使用旧版,与课程视频对应


2.在Ubuntu安装eclipse-CDT环境

下载准备

1安装jdk,笔者安装的是jdk-8u121-linux-x64

2安装eclipse,下载地址:http://www.eclipse.org/downloads/packages/eclipse-ide-java-developers/heliossr1/


安装JDK

1 新建文件需要获取root权限

sudo root

2 在/opt下新建文件夹

sudo mkdir /opt/jvm

3 将JDK压缩包复制到jvm文件夹下

mv jdk-8u121-linux-x64.tar.gz /opt/jvm

4 解压JDK到/opt/jvm目录下

cd /opt/jvm #首先得先进入到/opt/jvm目录下,通过指令:
tar zxvf jdk-8u121-linux-x64.tar.gz -C /opt #解压文件

image-20220430170630654

5 配置JDK的环境变量

cd /etc/profile.d #进入目录
sudo vi /etc/profile #打开指令

打开后,在文件末尾加入以下语句,每条语句之间要空一行,输入i插入

export JAVA_HOME=/opt/jvm/jdk1.8.0_121
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

输入这个内容后需要先按ESC,再按“:”,最后输入wq回车,就能够退出保存

查看JDK是否安装成功

source /etc/profile #先输入
java -version #后输入

安装成功后会显示jdk版本,例如我的是:

image-20220430171227301


安装eclipse

1将eclipse压缩包解压到/opt文件夹下

sudo tar zxvf eclipse-inst-linux64.tar.gz -C /opt/

2创建eclipse桌面快捷图标

cd /usr/share/applications #首先输入指令
sudo vim eclipse.desktop #然后输入指令

最后将下面的代码复制到文件中

[Desktop Entry]
Encoding=UTF-8
Name=Eclipse
Comment=Eclipse
Exec=/opt/eclipse/eclipse
Icon=/opt/eclipse/icon.xpm
Terminal=false
StartupNotify=true
Type=Application
Categories=Application;Development;

其中“Exec=”后面为eclipse安装目录下的eclipse程序的位置路径,“Icon=”后面为eclipse安装目录下的图标图片的路径。读者要按照自己的路径。

3将eclipse变为可执行文件

指令为:sudo chmod u+x eclipse.desktop

4 在/usr/share/applications目录下将Eclipse图标复制到桌面

image-20220430171749182

5点击图标下载相关的eclipse版本

6笔者点击后,这里出现了如下错误(没有的可以忽略这一条)

No Java virtual machine was found after searching the following locations

翻译过来就是:在以下的地址找不到java虚拟机

解决方法:把jdk的jre文件夹copy到eclipse的目录下

image-20220430172047879

最后重新点击,成功启动!


3.运行ucore项目

1 将代码导入

image-20220430181255281


2 开始配置qemu

image-20220430225551977

image-20220430225636315

/usr/bin/make
/home/myliuxb/ucore/labcodes_answer/lab1_result
gdb

3 配置debug工具

image-20220430225842797

这里使用了Zylin,安装步骤在下面

image-20220430225920419

image-20220430225938074

image-20220430230002635

target remote:1234
file /home/myliuxb/ucore/labcodes_answer/lab1_result/obj/bootblock.o
break bootmain

4 安装zylin

image-20220430230113772

image-20220430230144946

zylin - http://opensource.zylin.com/zylincdt

image-20220430182910403


5 编译项目

项目文件名右键:

image-20220430230317949


6 运行

image-20220430230400358

运行成功:

image-20220430230620347


7 gcc版本太高的错误:

可能会出现文件大于600的错误(如果没有错误请忽略这条),原因是gcc版本太高,用gcc-4.7的就可以了。不用卸载原来的,只需要更换优先级。

先看看我们系统用的gcc和g++是什么版本:gcc -v

可能会出现安装失败(E: 软件包gcc还没有可供安装的候选者):

1.使用如下命令修改源

sudo gedit /etc/apt/sources.list

2.在打开的文件中添加如下源(在最后面加上这两行即可)

deb http://dk.archive.ubuntu.com/ubuntu/ xenial main

deb http://dk.archive.ubuntu.com/ubuntu/ xenial universe

3.使用如下命令更新源

sudo apt update

4.使用命令安装g++4.9

sudo apt install g++-4.9

5.GCC 优先级更换

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.9 1


4.安装understand失败,感觉有点麻烦

版本不对,这个也还没解决

image-20220430180424436



推荐阅读
  • CentOS7.8下编译muduo库找不到Boost库报错的解决方法
    本文介绍了在CentOS7.8下编译muduo库时出现找不到Boost库报错的问题,并提供了解决方法。文章详细介绍了从Github上下载muduo和muduo-tutorial源代码的步骤,并指导如何编译muduo库。最后,作者提供了陈硕老师的Github链接和muduo库的简介。 ... [详细]
  • imx6ull开发板驱动MT7601U无线网卡的方法和步骤详解
    本文详细介绍了在imx6ull开发板上驱动MT7601U无线网卡的方法和步骤。首先介绍了开发环境和硬件平台,然后说明了MT7601U驱动已经集成在linux内核的linux-4.x.x/drivers/net/wireless/mediatek/mt7601u文件中。接着介绍了移植mt7601u驱动的过程,包括编译内核和配置设备驱动。最后,列举了关键词和相关信息供读者参考。 ... [详细]
  • ps:写的第一个,不足之处,欢迎拍砖---只是想用自己的方法一步步去实现一些框架看似高大上的小功能(比如说模型中的toArraytoJsonsetAtt ... [详细]
  • 1.利用node实现页面实时更新,主要 ... [详细]
  • 初始化初始化本地空版本库,仓库,英文名repositorymkdirtest&&cdtestgitinit克隆项目到本地gitclone远程同 ... [详细]
  • Sublime P4语法高亮设置
    Github插件链接:p4-syntax-highlighter首先安装PackageControl。进入Package界面,我的目录:U ... [详细]
  • 这篇文章给大家介绍怎么从源码启动和编译IoTSharp ,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。IoTSharp项目是 ... [详细]
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • 目录实现效果:实现环境实现方法一:基本思路主要代码JavaScript代码总结方法二主要代码总结方法三基本思路主要代码JavaScriptHTML总结实 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • baresip android编译、运行教程1语音通话
    本文介绍了如何在安卓平台上编译和运行baresip android,包括下载相关的sdk和ndk,修改ndk路径和输出目录,以及创建一个c++的安卓工程并将目录考到cpp下。详细步骤可参考给出的链接和文档。 ... [详细]
  • 关于我们EMQ是一家全球领先的开源物联网基础设施软件供应商,服务新产业周期的IoT&5G、边缘计算与云计算市场,交付全球领先的开源物联网消息服务器和流处理数据 ... [详细]
  • angular.element使用方法及总结
    2019独角兽企业重金招聘Python工程师标准在线查询:http:each.sinaapp.comangularapielement.html使用方法 ... [详细]
  • 先记住几个专用名词,如下:Workspace:工作区IndexStage:暂存区Repository:仓库区(或本地仓库)Remote:远程仓库一、新建代码库#在当前目录新建一个G ... [详细]
  • 修正我的GitHub commit 数据
    早晨上班,滴滴搭车里,我在掘金这个帖子看到大家晒自己的Github活跃记录,我也晒了下自己的记录。不过太少了。有遗漏的commits状况这也让我知道,自己觉得自己很忙的,实际上提交 ... [详细]
author-avatar
亲清吻文kiss
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有