其他分享
首页 > 其他分享> > jupyter环境下从零模拟开发简易操作系统: 搭建一个学习ucore_OS学习的环境(第二节)

jupyter环境下从零模拟开发简易操作系统: 搭建一个学习ucore_OS学习的环境(第二节)

作者:互联网

上一节已经一万字了,只好再加一节
如果想要直接 体验 实验效果 可以直接执行本章的命令

生成的img文件可以在qemu中正常运行的话,那么在 真实硬件上基本 也是可以 正常安装操作系统

知识点

上一节内容

截止到上一节我们已经成功地在 centos7中安装了 ctags ,qemu等插件

执行以下命令,在 windows中创建博主搭建好的环境


#创建一个 centos 开发环境,来体验开发ucoreos的过程

docker run -tdi   -p 21022:22  -p 21088:8888  --name   ucoreos   --privileged=true  registry.cn-hangzhou.aliyuncs.com/mkmk/conda:qemu   init  |  docker exec -d  ucoreos   /bin/bash -c "cd /home && source /etc/profile && nohup jlab &"

搭建环境以后,可以直接访问,开发界面
http://localhost:21088/lab
密码口令 lmklmk

以下的很多问题你们可能并不会遇到,因为博主在构建 开发环境的时候已经消除了 很多 bug,可以尝试直接运行 成功的命令

直接运行lab1

运行jupyter 环境后,打开终端,输入以下命令

一个完整的启动操作系统的命令

cd  /home/ucoreos/ucore_os_lab-master/labcodes_answer/lab1_result  &&  make  && cd bin &&  qemu-system-x86_64    -hda ucore.img -parallel stdio   -nographic

终止命令,需要新建终端

pkill  -9  qemu-system-x86

如果感到有趣,想要认真学习除了认真阅读上一节的材料,也需要认真阅读以下的实验参考教程

实验参考教程https://chyyuu.gitbooks.io/ucore_os_docs/content/

··············································
··············································
··············································

详细过程: 查看lab1效果

编译生成可以 用来加载的 img文件

cd  /home/ucoreos/ucore_os_lab-master/labcodes_answer/lab1_result 

make生成img镜像文件,在labcodes_answer/lab1_result 目录下

make

到生成的 bin目录查看是否生成 镜像文件

cd  bin  &&  ls
输出  bootblock  kernel  sign  ucore.img

发现存在 ucore.img ,讲 ucore.img 挂载到 qemu 虚拟机中
开始模拟真机

qemu-system-x86_64    -hda ucore.img -parallel stdio  

错误提示 缺少qemu: could not load PC BIOS ‘bios-256k.bin’

yum install seabios -y 

模拟真机失败

qemu-system-x86_64    -hda ucore.img -parallel stdio
(process:1165): GLib-WARNING **: 06:42:36.693: gmem.c:489: custom memory allocation vtable not supported
(qemu-system-x86_64:1165): Gtk-WARNING **: 06:42:36.716: cannot open display:

不能连接图形设备,那我们就禁用掉图形显示设备,加上参数 -nographic

模拟真机成功

qemu-system-x86_64    -hda ucore.img -parallel stdio   -nographic

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

说明操作系统已经可以在虚拟机中正常启动,每秒输出一次 110000 ttiicckkss

但是无法正常终止

查询pid 
ps -a

在这里插入图片描述

强行杀死虚拟机进程
kill 943 

也可以直接根据进程启动的名称来杀死  注意不要加  _64 否则命令无效
pkill  -9  qemu-system-x86
make clean 命令清除不必要文件。可以删除之前make 生成的文件
输出  rm -f -r obj bin
qq_734449600 发布了76 篇原创文章 · 获赞 2 · 访问量 5507 私信 关注

标签:jupyter,x86,img,ucore,system,lab1,qemu,OS
来源: https://blog.csdn.net/qq_43373608/article/details/104396726