美文网首页
[OS64位][001]Boot:使用bochs制作虚拟软盘镜像

[OS64位][001]Boot:使用bochs制作虚拟软盘镜像

作者: AkuRinbu | 来源:发表于2019-04-04 16:39 被阅读0次

    学习笔记

    使用教材(配书源码以及使用方法)
    《一个64位操作系统的设计与实现》
    http://www.ituring.com.cn/book/2450
    https://www.jianshu.com/p/28f9713a9171


    操作步骤

    • 第一步,安装各种必需的软件工具,具体步骤见参考资料

    http://www.ituring.com.cn/book/tupubarticle/26323

    • 第二步,见《一个64位操作系统的设计与实现》“第二部分 初级篇 第3章 BootLoader引导启动程序”

    以下为第二步的实验记录

    使用 bochs 虚拟机 创建 虚拟软盘 boot.img

    • 启动虚拟磁盘镜像制作工具
      [anno@localhost ~]$ bximage
    • 继续依次输入
      1 fd 1.44M boot.img
    • 创建软盘成功示意图 使用bochs虚拟机创建虚拟软盘boot.img

    汇编源码 boot.asm

    http://www.ituring.com.cn/book/2450
    随书下载-源代码

    随书下载-源代码-第二部分-第三章-程序3-1
    • 编译汇编源码
      [anno@localhost ~]$ nasm boot.asm -o boot.bin(小写字母o

    • 生成.lst文件(帮助阅读源码、机器码,相当有用!)
      [anno@localhost Desktop]$ nasm boot.asm -o boot.bin -l boot.lst

    • boot.bin写入上面创建的虚拟软盘镜像boot.img
      [anno@localhost Desktop]$ dd if=boot.bin of=boot.img bs=512 count=1 conv=notrunc

    [anno@localhost Desktop]$ ls
    bochsrc  boot.asm  boot.bin  boot.img  gnome-terminal.desktop
    

    bochs配置文件 bochsrc

    配置文件在线阅读
    http://www.ituring.com.cn/book/tupubarticle/21474

    http://www.ituring.com.cn/book/2450
    随书下载-源代码

    bochs配置文件 bochsrc
    • 首先,建议直接去用随书下载的源代码包里的配置文件(这是绝对正确无误的),在线阅读那里的配置文件因为一些换行把标识符给生生隔断了,比如cpuid字段里有一个标识符叫做1g_pages=1,如果在线复制,就会复制成1 g_pages=1,这样一来后面载入配置文件就会出错了,这其实就是由于换行引起的;

    • 其次,配置文件里面有一句floppya: type=1_44, 1_44="boot.img",应该是说配置文件boot.img(软盘镜像文件)要处在同一个目录下,为了方便,我就把这两个东西同时放在了桌面上;

    测试运行

    • 启动 bochs:打开命令行输入
      [anno@localhost Desktop]$ bochs -f ./bochsrc

      我的配置文件和镜像文件boot.img现在都放在桌面
    • 继续依次输入:6 c
      (6是选择启动虚拟机,c是继续执行,回车确认,都是在命令行里面输入,黑色那个框是输出结果)

      出现字符start Boot表示运行成功

    参考资料

    代码比较工具

    Beyond Compare

    开发环境

    • 1、安装 VMware Workstation虚拟机软件

    VMware Workstation 的安装和使用
    https://blog.csdn.net/lamp_yang_3533/article/details/53136474

    • 2、下载 CentOS6 发行版

    VMware Workstation中安装linux系统(CentOS)超详细
    https://blog.csdn.net/u010996565/article/details/79048104

    镜像文件下载 CentOS-6.10-x86_64-bin-DVD1.iso
    http://isoredirect.centos.org/centos/6/isos/x86_64/

    • 3、 在VMware Workstation安装 CentOS6
      在VMware Workstation安装 CentOS6
    需要在BOIS里面开启VT
    • 4、在 CentOS6 上安装bochs

    https://www.linuxidc.com/Linux/2012-12/76952.htm

    0) 编译之前先安装如下的库: gtk2,libXt,libXpm
    sudo yum install gtk2 gtk2-devel
    sudo yum install libXt libXt-devel
    sudo yum install libXpm libXpm-devel
    
    1)然后编译安装:
    tar xzvf bochs-2.3.7.tar.gz
    cd bochs-2.3.7
    ./configure --enable-debugger --enable-disasm
    make
    sudo make install
    
    • 5、安装bochs

    https://sourceforge.net/projects/bochs/files/bochs/

    安装bochs
    • 6、安装VMware Workstation tools: is not in the sudoers file 问题解决

    https://blog.csdn.net/zhuqinglu/article/details/2050927

    • 7、 Centos安装gccg++

    https://www.cnblogs.com/Anker/p/3203402.html

    安装gcc:yum install gcc 
    安装g++:yum install gcc-c++
    
    • 8、配置 bochs文件

    linux上配置bochs,搭建基于X86架构操作系统的开发环境
    https://www.cnblogs.com/lmstack/p/8159128.html

    bochs配置文件 .bochsrc
    http://www.ituring.com.cn/book/tupubarticle/21474

    • 9、bochs各种目录

    https://www.cnblogs.com/kuainiao/archive/2012/12/20/2825981.html

    • 10、启动bochs

    Ubuntu 14.04 LTS 安装和配置Bochs
    https://www.linuxidc.com/Linux/2016-10/135905.htm

    • 11、制作软盘

    linux上配置bochs,搭建基于X86架构操作系统的开发环境
    https://www.cnblogs.com/lmstack/p/8159128.html

    • 12、启动bochs时报错No bootable device

    https://blog.csdn.net/hushengshan/article/details/7937016

    • 13、安装 NASM 汇编编译器

    https://centos.pkgs.org/6/centos-x86_64/nasm-2.07-7.el6.x86_64.rpm.html

    bochs 调试命令

    • [067][x86汇编语言]Bochs调试命令整理

    之前在win平台下使用bochs的经验,除了安装和设置配置文件不同,打开了bochs之后都是一样的,可以参考一下
    https://www.jianshu.com/p/c98c113772db

    • [Linux]编译一个C程序:./configure 、 make、 sudo make install

    我这次安装bochs的方法是: 先下载源码包,然后自己编译make,自己install make https://www.jianshu.com/p/74d92309a751

    值得一提的是./configure 这个步骤要去 图灵社区 在线阅读那个网址复制一下大量参数太多了
    http://www.ituring.com.cn/book/tupubarticle/21474

    • [Linux]dd 读写软盘:在软盘主引导扇区写入显示hello world的二进制代码数据

    https://www.jianshu.com/p/207aaf0f986b

    • VMware Workstation 和 bochs 都是虚拟机,都有创建软盘功能,需要用VMware Workstation创建软盘看这里:[Ubuntu]dd 命令,软盘读写实例:二进制文件.bin ->镜像文件 .img -> 软盘设备 /dev/fd0

    https://www.jianshu.com/p/ab11cb269634

    相关文章

      网友评论

          本文标题:[OS64位][001]Boot:使用bochs制作虚拟软盘镜像

          本文链接:https://www.haomeiwen.com/subject/imfqiqtx.html