zoukankan      html  css  js  c++  java
  • 《30天自制操作系统》笔记1 --- 准备阶段

    光盘中文翻译版:https://github.com/yourtion/30dayMakeOS.git

    原版光盘(含iso文件):https://github.com/sky5454/30daysMakeOS-Origin-ISOfiles.git

    原版光盘git版本:https://github.com/Tassandar/OSASK.git

      使用dd(Windows)刻盘及Fat知识:  30天自制操作系统-Hello OS

    工具tolset目录

    • nask编译器, 把nas文件(作者的汇编源码)转为二进制的,用来把nas文件编译成二进制img文件。可能用翻译更贴切,不过说成编译也没有什么毛病。 路径/tolset/z_tools/nask.exe
    • imgtol.com      刻软盘工具

          用法z_toolsimgtol.com w a: helloos.img

          现在软盘淘汰了,所以推荐把img写到移动储存设备,如u盘/sd卡

    • make.exe    读取并执行Makefile的GNU系列工具,能读取指定目录下的Makefile脚本。其参数与Makefile有关

    img文件在qemu的启动脚本分析

    目录 /01_day

      helloos.nas    汇编语言源码文件

      asm.bat  一个 调用nask把汇编转为二进制 的脚本,内容:

    ..z_tools
    ask.exe helloos.nas helloos.img

      

      install.bat   把img写到软盘a的脚本,内容:

    ..z_toolsimgtol.com w a: helloos.img

      run.bat   运行img的脚本,内容及分析如下:

    copy helloos.img ..z_toolsqemufdimage0.bin
    ..z_tools
    make.exe -C ../z_tools/qemu

    把img复制到qemu目录下同时命名为fdimage0.bin

    命令make -C指定目录,读取指定目录下的Makefile文件

     

     

    所以,我们看一下Makefile文件(/z_tools/qemu/Makefile)内容吧

    default :
    
     qemu-win.bat

    没错他指导系统执行bat文件(/z_tools/qemu/qemu-win.bat),bat脚本内容

    1 @set SDL_VIDEODRIVER=windib
    2 @set QEMU_AUDIO_DRV=none
    3 @set QEMU_AUDIO_LOG_TO_MONITOR=0
    4 qemu.exe -L . -m 32 -localtime -std-vga -fda fdimage0.bin

    // 设置三个环境变量,然后用qemu指定参数启动bin(原来的名字是img,这个bin内容和img一样)

     -L     指定BIOS和VGA BIOS所在目录,此处为当前目录

    -m     指定容量,单位Mb,此处为32Mb

    -localtime   使用localtime

    -std-vga       模拟标准的VGA卡,带有Bochs VBE扩展

    Standard VGA card with Bochs VBE extensions. If your guest OS supports the VESA 2.0 VBE extensions (e.g. Windows XP) and if you want to use high resolution modes (>= 1280x1024x16) then you should use this option.

          -fda <二进制文件>  指定二进制镜像文件作为软盘a加载

    总结

    fdimage0.bin就是helloos.img,改了名字而已,内容完全一样。

    简洁步骤

    先把汇编源码文件helloos.nas编译成二进制img,然后:

    • 真机启动只需要把img刻到u盘,然后从主板选择启动。
    • 虚拟qemu启动只需要声明环境变量,然后指定一些参数来启动img

    注:真机刻盘启动,UltraISO-菜单:启动-写入硬盘映像…

    虚拟UEFI环境:archlinux上安装QEMU+EFI BIOS

    更多书籍:推荐邮电出版社的自制系列: https://book.douban.com/series/34137


    --------蓝天上的云_转载请注明出处.
  • 相关阅读:
    重识linux-常见压缩和解压缩命令
    重识linux-压缩文件的原理
    重识linux-关于selinux
    重识linux-循环执行的例行性工作调度
    重识linux-仅执行一次的工作调动at
    Python资源
    python hehe
    Chrome 消息机制
    自己动手写reg注册表文件
    用JavaScript截图
  • 原文地址:https://www.cnblogs.com/yucloud/p/10925938.html
Copyright © 2011-2022 走看看