实验步骤

1.下载项目

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

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

旧版: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 #解压文件

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版本,例如我的是:

安装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图标复制到桌面

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

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

No Java virtual machine was found after searching the following locations

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

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

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

3.运行ucore项目
1 将代码导入

2 开始配置qemu

/usr/bin/make
/home/myliuxb/ucore/labcodes_answer/lab1_result
gdb
3 配置debug工具

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

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

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

5 编译项目

项目文件名右键:

6 运行

运行成功:

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失败,感觉有点麻烦

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

lab_0 清华大学ucore实验环境配置详细步骤!(小白入)的更多相关文章

  1. Python环境配置详细步骤以及第一个程序

    打开python官网:https://www.python.org/ 在官网找与自己电脑系统匹配的版本路径  这里以python3.7.2版本为例: 下载完成后,使用管理员身份进行安装:  打开命令提 ...

  2. SUSE Storage6 环境搭建详细步骤 - Win10 + VMware WorkStation

    学习 SUSE Storage 系列文章 (1)SUSE Storage6 实验环境搭建详细步骤 - Win10 + VMware WorkStation (2)SUSE Linux Enterpri ...

  3. OPGL+GLFW+GLEW配置详细步骤

    转载自:https://blog.csdn.net/weixin_40921421/article/details/80211813 本文设计的工具包: 链接:https://pan.baidu.co ...

  4. 顶 最新简捷实用的JSP动态网站环境搭建详细步骤

    阿里西西小编给您推荐这个最新简捷实用的JSP动态网站环境搭建详细步骤讲解,这里还有关于JSP 动态网站 环境 搭建 的教程,希望您能够喜欢并学到东西提升自己的知识与技能,下面是内容详细阅读: 最新简捷 ...

  5. VSCode Java 开发环境配置 详细教程

    VSCode Java 开发环境配置 详细教程 配置java 下载 用于现在大多数使用者用的是java 8,小白的我先安装java 8好了,^ w ^. 下载地址:Java 8 | Java SE 打 ...

  6. VSCode PHP 开发环境配置 详细教程

    VSCode PHP 开发环境配置 详细教程 这篇文章主要介绍了VScode+PHPstudy配置PHP开发环境的步骤,整理了官方以及优秀第三方的内容,对于学习和工作有一定借鉴意义. 配置过程 第一步 ...

  7. OVS + dpdk 安装与实验环境配置

    ***DPDK datapath的OVS的安装与实验环境配置 首先肯定是DPDK的安装       0:安装必要的工具            make            gcc           ...

  8. OPGL+VS2017+GLFW+GLEW配置详细步骤

    OPGL+VS2017+GLFW+GLEW配置详细步骤: https://blog.csdn.net/weixin_40921421/article/details/80211813 原博客地址:ht ...

  9. PyCharm Django Python 开发环境配置 详细教程

    PyCharm Django Python 开发环境配置 详细教程 1. Python 下载及安装 (1)根据需要的版本去 Python 官网(https://www.python.org/downl ...

随机推荐

  1. spring源码-ioc容器周期

    Spring容器的refresh 创建刷新:   1-prepareRefresh刷新前的预处理: initPropertySources 初始化一些属性配置,原来是空的,子类自定义的属性设置方法 g ...

  2. 你如何在 Java 中获取线程堆栈?

    kill -3 [java pid] 不会在当前终端输出,它会输出到代码执行的或指定的地方去.比如,kill -3 tomcat pid, 输出堆栈到 log 目录下. Jstack [java pi ...

  3. Kafka 新旧消费者的区别?

    旧的 Kafka 消费者 API 主要包括:SimpleConsumer(简单消费者) 和 ZookeeperConsumerConnectir(高级消费者).SimpleConsumer 名字看起来 ...

  4. 深入理解Java虚拟机-走进Java

    一.Java技术体系 从广义上讲, Clojure. JRuby. Groovy等运行于Java虚拟机上的语言及其相关的程序都属于Java技术体系中的一员. 如果仅从传统意义上来看, Sun官方所定义 ...

  5. 二、mycat15种分片规则

    一.分片枚举 通过在配置文件中配置可能的枚举 id,自己配置分片,本规则适用于特定的场景,比如有些业务需要按照省份或区县来做保存,而全国省份区县固定的,这类业务使用本条规则,配置如下: <tab ...

  6. 雅虎WEB前端网站优化—34条军规

    Yslow工具 1.Minimize HTTP Requests 减少HTTP请求 图片.css.script.flash等等这些都会增加http请求数,减少这些元素的数量就能减少响应时间.把多个JS ...

  7. C++ | 动多态的发生时机

    探究动多态的发生时机 有了虚函数和虚函数表为动多态提供支持,从而可以实现C++语言的动多态.那么,问题又来了. 动多态的发生时机是什么? 或者说,动多态发生有哪些条件与限制呢? 下面让我们一起来探究动 ...

  8. 浏览器视图层级中的“根”:<html>和<body>的属性研究

    做前端开发的同学都会知道,每一个UI系统(比如IOS或Android)中都会有一个view hierarchy(视图层级)的概念,即所有的可视元素(大到一个页面,小到一个button)都在一个树形结构 ...

  9. 【转自百度fex】fex-team/interview-questions

    fex-team/interview-questions 注意 目前发现有其他人以 FEX 团队名义进行招聘,发出的邮箱皆为私人邮箱. 为防止在投递简历出现误会,在此提醒各位注意: FEX 团队没有以 ...

  10. 《深入理解ES6》笔记—— Promise与异步编程(11)

    为什么要异步编程 我们在写前端代码时,经常会对dom做事件处理操作,比如点击.激活焦点.失去焦点等:再比如我们用ajax请求数据,使用回调函数获取返回值.这些都属于异步编程. 也许你已经大概知道Jav ...