Giter VIP home page Giter VIP logo

eos's Introduction

EOS

进度

三个进程切换,完全均匀调度。

参考的资料

参考的资料

install bochs

use apt

sudo apt install bochs
sudo apt install bochs-x

直接运行

make run

在bochs的shell中,输入 c

build img

  1. make

build com

  1. make boot.com
  2. 使用任意方法通过dos执行

通过X11远程执行

mac上执行

# bochs加载rom依赖的相对路径,所以需要修改执行的base。
ssh -X user@ip "cd /path/to/eos/ && bochs -f ./boot.bxrc"

遇到的问题

保护模式

  1. no bootable device 就是生成的镜像里面 没有符合约定的将510处置为0xaa55
  2. mount failed unknown error 我使用的是win10的ubuntu子系统 16.04,生成的img没法成功挂载。没能解决,我通过使用 dosbox 来模拟了dos环境,直接运行了生成的com, 效果拔群。 dosbox不支持中断15h 来读取内存 我通过租的服务器来实现了挂载写入,最后还是用了bochs。 dosbox.png

编译问题

  1. ld: i386 架构于输入文件 kernel/kernel.o 与 i386:x86-64 输出不兼容 64-bit的gcc会导致格式问题,在gcc的编译选项中添加-m32解决
  2. 对‘__stack_chk_fail’未定义的引用 原因未知, 解决方案是gcc编译选项中添加-fno-stack-protector解决 (强制忽略堆栈保护检查)?

kernel中的disp_str 回车后 乱码

在处理回车的逻辑中没有保护bl,如果使用堆栈保护了ebx之后问题消除

io.asm

eos's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

eos's Issues

physical memory read error

你好,我遇到了这个问题:bx_dbg_read_linear: physical memory read error (phy=0x0000000000000000, lin=0x00000000),bochsrc 配置检查没有问题,有什么办法吗?谢谢

乱码

disp_str()处理换行时为什么需要保护ebx?我在第2次调用disp_str()时出现乱码

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.