lab_0 清华大学ucore实验环境配置详细步骤!(小白入)
实验步骤
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实验环境配置详细步骤!(小白入)的更多相关文章
- Python环境配置详细步骤以及第一个程序
打开python官网:https://www.python.org/ 在官网找与自己电脑系统匹配的版本路径 这里以python3.7.2版本为例: 下载完成后,使用管理员身份进行安装: 打开命令提 ...
- SUSE Storage6 环境搭建详细步骤 - Win10 + VMware WorkStation
学习 SUSE Storage 系列文章 (1)SUSE Storage6 实验环境搭建详细步骤 - Win10 + VMware WorkStation (2)SUSE Linux Enterpri ...
- OPGL+GLFW+GLEW配置详细步骤
转载自:https://blog.csdn.net/weixin_40921421/article/details/80211813 本文设计的工具包: 链接:https://pan.baidu.co ...
- 顶 最新简捷实用的JSP动态网站环境搭建详细步骤
阿里西西小编给您推荐这个最新简捷实用的JSP动态网站环境搭建详细步骤讲解,这里还有关于JSP 动态网站 环境 搭建 的教程,希望您能够喜欢并学到东西提升自己的知识与技能,下面是内容详细阅读: 最新简捷 ...
- VSCode Java 开发环境配置 详细教程
VSCode Java 开发环境配置 详细教程 配置java 下载 用于现在大多数使用者用的是java 8,小白的我先安装java 8好了,^ w ^. 下载地址:Java 8 | Java SE 打 ...
- VSCode PHP 开发环境配置 详细教程
VSCode PHP 开发环境配置 详细教程 这篇文章主要介绍了VScode+PHPstudy配置PHP开发环境的步骤,整理了官方以及优秀第三方的内容,对于学习和工作有一定借鉴意义. 配置过程 第一步 ...
- OVS + dpdk 安装与实验环境配置
***DPDK datapath的OVS的安装与实验环境配置 首先肯定是DPDK的安装 0:安装必要的工具 make gcc ...
- OPGL+VS2017+GLFW+GLEW配置详细步骤
OPGL+VS2017+GLFW+GLEW配置详细步骤: https://blog.csdn.net/weixin_40921421/article/details/80211813 原博客地址:ht ...
- PyCharm Django Python 开发环境配置 详细教程
PyCharm Django Python 开发环境配置 详细教程 1. Python 下载及安装 (1)根据需要的版本去 Python 官网(https://www.python.org/downl ...
随机推荐
- Spring 和 SpringBoot 有什么不同?
Spring 框架提供多种特性使得 web 应用开发变得更简便,包括依赖注入.数据绑定.切面编程.数据存取等等. 随着时间推移,Spring 生态变得越来越复杂了,并且应用程序所必须的配置文件也令人觉 ...
- zookeeper的通知机制
一.znode Zookeeper维护一个类似文件系统的数据结构.简单来说,有点类似windows中注册表的结构,有名称,有树节点,有Key(键)/Value(值)对的关系,可以看做一个树形结构的数据 ...
- Zookeeper 的典型应用场景 ?
Zookeeper 是一个典型的发布/订阅模式的分布式数据管理与协调框架,开发人员 可以使用它来进行分布式数据的发布和订阅. 通过对 Zookeeper 中丰富的数据节点进行交叉使用,配合 Watch ...
- Zookeeper 对节点的 watch监听通知是永久的吗?为什么 不是永久的?
不是.官方声明:一个 Watch 事件是一个一次性的触发器,当被设置了 Watch 的数据发生了改变的时候,则服务器将这个改变发送给设置了 Watch 的客户端, 以便通知它们. 为什么不是永久的,举 ...
- Elasticsearch 中的节点(比如共 20 个),其中的 10 个 选了一个 master,另外 10 个选了另一个 master,怎么办?
1.当集群 master 候选数量不小于 3 个时,可以通过设置最少投票通过数量(discovery.zen.minimum_master_nodes)超过所有候选节点一半以上来解决脑裂问题: 2.当 ...
- springboot-数据库访问之jpa+mybatis+jdbc的区别
什么是jdbc jdbc(Java DataBase Connectivity)是java连接数据库操作的原生接口. 什么是jpa jpa(Java Persistence API)是java持久化规 ...
- Python - 异常处理初步
- RENIX非对称时延测试——网络测试仪实操
本文主要介绍RENIX软件如何进行非对称时延测试.文章分为四部分,第一部分为非对称时延概述,第二部分为测试说明,第三部分为测试配置,第四部分为测试报告. 第一部分:非对称时延概述 1.RFC2544测 ...
- 【Visual Studio】VS 提示图标的含义
一.前言 vs 中提示图标是什么意思 二.正文 信号图标 以下信号图标应用于所有原有的图标并指示它们的辅助功能. 图标 描述 <No Signal Icon> Public. 可从此组件中 ...
- 【uniapp 开发】工具类 -- MathUtil
获取随机数 /* ** randomWord 产生任意长度随机字母数字组合 ** randomFlag 是否任意长度 min 任意长度最小位[固定位数] max 任意长度最大位 ** ** 生成6-1 ...