《30天自制操作系统》-day0(MAC)
目录
- 所需要的装备
- Qemu
- 原因
- 功能
- 安装
- 使用
- 二进制编译器
- 万能vim
- nasm
基本配置:
设备:Macbookpro(13-inch,2018)
系统:macOS Monterey
参考书籍:《30天自制操作系统》
该项目主要是记录仿照开发操作系统中遇到的问题和解决的方式,但本书基本上都是在windows系统上开发的,因此一些软件还有命令是不能够使用的。
所需要的装备
Qemu
原因
因为本书最终生成的文件为.img文件 是一种软盘的镜像文件(简单来说就是要安装在光盘中才可以使用 都2202年了 很少人用光盘了吧 甚至光驱可能都没有了)
功能
简单来说就是可以在终端上模仿虚拟机来启动镜像文件(详细介绍请看这个博主的介绍-快速链接
安装
安装qemu需要先安装Homebrew 官网
官网的链接(可自行前往官网下载最新版brew)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
安装好brew后在打开mac终端输入
brew install qemu
如果运气好 或者是系统没有开玩笑 那就是安装好了
使用
之后有了qemu之后就可以直接使用qemu启动.img文件了
(当然你也可以将.img文件转化为.vid or .iso 然后用vmware or virtualbox 创建虚拟机 也可以 你想的话 参考的文章)
//-i386表示 Intel 80386 32位处理器 其他不懂的可以查一下manual
qemu-system-i386 -fda helloos.img
二进制编译器
万能vim
直接用终端跳转到该文件夹
vim -b filename
进入之后 输入
:%!xxd
就可以进行二进制编辑
:%!xxd -r
进行保存退出
其他具体的vim操作可以参考一下这篇文章
nasm
首先,MacOS 自带nasm,只是版本有点老,编译不了64位程序,只需要去官网上重新下载一个就好 可参考这篇文章
brew install nasm
《30天自制操作系统》-day0(MAC)相关推荐
- 30天自制操作系统(Mac版)读书笔记(day10)
集成窗口管理 窗口的创建与管理,我们这里直接从这里拿到,这里面有几个函数,我们注意一下这几个函数的意义就行了. 有两个东西,一个是sheet contoller,这里充当了sheet的全局管理的类,一 ...
- 《30天自制操作系统》-day3(MAC)
第3天 进入32位模式并导入C语言 基本配置 汇编语言内容 文件 hanbote.nas ipl.nas Makefile 原因 用法 基本配置 设备:Macbookpro(13-inch,2018) ...
- 30天自制操作系统:第一天
30天自制操作系统:第一天 趁着双十一采购了一大堆书,准备消化一下,不然就太浪费了. 书上推荐的二进制编辑器是bz ,界面和版本有点古老,还只有日语和英语版本. 不过直到最近一年还一直在维护,最新的版 ...
- 为什么《30天自制操作系统》封面中的猫是两只尾巴
刚刚在一社区,发了一贴,被指出一问题,询一高人,得一答案.这便是我没有关注到的封面上的那只猫,我想这也是很多读者没有关注到的.因为在我微博的200转发贴中,并没有人提到封面中的猫为何有两只尾巴.于是咨 ...
- 发布在《30天自制操作系统》之前的帮助阅读贴
说明:这是8月15日即将上市的一本新书,本文的摘选也可以命名为<30天自制操作系统>上市之前必读.本书幽默,有趣,可以说是技术书里的幽默书,让您读起来绝对不会感到乏味.在本书上市之前,您一 ...
- 《30天自制操作系统》笔记(01)——hello bitzhuwei’s OS!
<30天自制操作系统>笔记(01)--hello bitzhuwei's OS! 最初的OS代码 1 ; hello-os 2 ; TAB=4 3 4 ORG 0x7c00 ; 指明程序的 ...
- 写在《30天自制操作系统》上市之前
这本<30天自制操作系统>马上就要在各大书店和网上商城全面上架了,作为本书的4位译者之一,我负责翻译了本书约三分之二的内容.这是我参与翻译的第一本译著,我感到很激动也很紧张,因为我知 ...
- 《30天自制操作系统》笔记(04)——显示器256色
<30天自制操作系统>笔记(04)--显示器256色 进度回顾 从最开始的(01)篇到上一篇为止,已经解决了开发环境问题和OS项目的顶层设计问题. 本篇做一个小练习:设置显卡显示256色. ...
- 《30天自制操作系统》学习笔记--第好多天
之前看<30天自制操作系统>,参考而成,和书中系统并不完全一致,是在原有基础上按照自己的习惯而成,由于水平和工作原因,未完成内存管理和文件系统,有兴趣者可以通过以下网址https://gi ...
最新文章
- SpaceVim snippets C配置
- Android控件扫光动画,完美起航-AndroidTV控件获得焦点的扫光效果
- 使用libsvm实现归一化
- boost::hana::is_just用法的测试程序
- 【Microstation】不能从对话框中装载/创建类型为 ‘HTML‘,id =41510001 的对话框条目,该对话框为: “文本编辑器 - 字处理器“,GCSDIALOG 已装载。
- Spring Boot微服务,Docker和Kubernetes研讨会–第一部分
- python不同数据的读入_python读写不同编码txt文件_python读写txt文件
- python3怎么定义long_python3 整数类型PyLongObject 和PyObject源码分析
- 编写C语言代码,实现以下功能:输入平面上两个点P1(x1,y1)和P2(x2,y2)的坐标,以这两个点为左上角和右下角可以确定一个矩形,输出这个矩形的周长。要求平面上点的坐标和矩形都用结构体来表示。
- 【Python配置】Win10配置Python3、Numpy、PyCharm、Anaconda
- java 生成pdf 分页_java根据模板动态生成PDF实例
- logback 配置 日志
- acp 适应性领导_什么是适应性领导?
- Altium Designer 18中的PCB Editor–Board Insight Color Overrides
- AIS文件分析-(using the OMAP-138 Bootloader)
- 程序员!别再埋头学Python了!
- (Python)正则表达式(二)
- Unity 3D-- 摄像机Clear Flags和Culling Mask属性用途详解
- MCU DC-DC数控电源
- Verilog MIPS32 CPU(六)-- MDU