30天自制OS(linux环境)--第一天

我是在CentOS的环境上面实现的,使用ubuntu的环境也是类似的

第一步:因为要对二进制文件进行编辑,所以安装二进制编辑器hexedit(当然其他的也可以),安装命令

yum install hexedit

第二步:对生成的软盘镜像进行仿真运行,使用虚拟机,因为我本地是使用VM进行的虚拟机,所以直接使用VM也可以

具体过程如下:

第一步:创建一个img文件

touch hello.img

第二步:编辑该文件,输入512字节的内容

hexedit hello.img

第三步:dd出来一个新的软盘镜像文件,然后将hello.img的内容cat进去

dd if=/dev/zero of=os.img bs=512 count=2880

cat hello.img >os.img

第四步:使用VM启动os.img

具体步骤可参考:https://blog.csdn.net/NCTU_to_prove_safety/article/details/66475604

效果图如下:

30天自制OS(linux环境)-day1的更多相关文章

  1. ubuntu下30天自制os 的学习计划

    30天自制os的学习也告一段落,由于有其他更重要的事情要集中精力去处理.书本从15天開始就是多任务了.可是不得不停下一阵子. 以下总结下学习中遇到的一些问题. 1:学习这前14天中.问题最大的是关于G ...

  2. 30天自制操作系统-day1

    30天自制操作系统(linux环境)--第一天 我是在CentOS的环境上面实现的,使用ubuntu的环境也是类似的 第一步:因为要对二进制文件进行编辑,所以安装二进制编辑器hexedit(当然其他的 ...

  3. 《30天自制操作系统》笔记(01)——hello bitzhuwei’s OS!

    <30天自制操作系统>笔记(01)——hello bitzhuwei's OS! 最初的OS代码 ; hello-os ; TAB=4 ORG 0x7c00 ; 指明程序的装载地址 ; 以 ...

  4. 《30天自制操作系统》笔记(01)——hello bitzhuwei’s OS!【转】

    转自:http://www.cnblogs.com/bitzhuwei/p/OS-in-30-days-01-hello-bitzhuwei-OS.html 阅读目录(Content) 最初的OS代码 ...

  5. 30天自制操作系统-day2

    30天自制操作系统(linux)-day2 使用简单的汇编语言 首先Centos环境安装nasm,使用vim工具编辑一个os.asm文件,文件内容如下: DB 0xeb, 0x4e, 0x90, 0x ...

  6. 《30天自制操作系统》笔记(03)——使用Vmware

    <30天自制操作系统>笔记(03)——使用Vmware 进度回顾 在上一篇,实现了用IPL加载OS程序到内存,然后JMP到OS程序这一功能:并且总结出下一步的OS开发结构.但是遇到了真机测 ...

  7. 30天自制操作系统第九天学习笔记(u盘软盘双启动版本)

    暑假学习小日本的那本书:30天自制操作系统 qq交流群:122358078    ,更多学习中的问题.资料,群里分享 environment:开发环境:ubuntu 第九天的课程已学完,确实有点不想写 ...

  8. 《30天自制操作系统》笔记3 --- (Day2 上节)完全解析文件系统

    Day2 汇编语言学习与Makefile入门 本文仅带着思路,研究源码里关于文件系统的参数 关于day2主程序部分及更多内容,请看<30天自制操作系统>笔记 导航 发现学习中的变化 源码差 ...

  9. linux环境基于python语言docx转pdf

    windows平台因借助win32com具有多种方法将word转为pdf,但linux环境不具备此环境,win32com包也将import失败,那该如何做呢? # -*- coding: utf-8 ...

随机推荐

  1. moviepy音视频剪辑:AudioClip的max_volume方法报TypeError: bad operand type for abs(): ‘list‘错

    ☞ ░ 前往老猿Python博文目录 ░ 一.环境 操作系统:win7 64位 moviepy:1.0.3 numpy:1.19.0 Python:3.7.2 二.应用代码及报错信息 应用代码 imp ...

  2. 第15.36节 PyQt(Python+Qt)入门学习:containers容器类部件QFrame框架部件介绍

    一.概述 容器部件就是可以在部件内放置其他部件的部件,在Qt Designer中可以使用的容器部件有如下: 容器中的Frame为一个矩形的框架对象,对应类QFrame,QFrame类是PyQt中带框架 ...

  3. flask-mail 机制

    上课无聊,总结下学习的flask-mail 机制 flask-mail 了解 flask-mail 机制中可以用pip 安装也可以用pycharm里面直接安装. flask-mail是一个能调用smt ...

  4. Scrum冲刺_Day04

    一.团队展示: 1.项目:light_note备忘录 2.队名:删库跑路队 3.团队成员 队员(不分先后) 项目角色 黄敦鸿 后端工程师.测试 黄华 后端工程师.测试 黄骏鹏 后端工程师.测试 黄源钦 ...

  5. 【复习笔记】重习 AC 自动机

    发现已经忘了许多....于是复习一下 基础要点概况 AC 自动机基于 Trie 树 的结构,即构建 AC 自动机前需要先建 Trie. 一个状态中除了转移 \(\delta\) 之外还有失配指针 \( ...

  6. KVM初体验之virt-manager unable to connect to libvirt的处理办法

    解决方法 需要用root身份运行virt-manager

  7. rsync全网备份low方法

    要求: 1.基本备份要求已知3 台服务器主机名分别为web01.backup .nfs01,主机信息见下表:服务器说明外网IP(NAT) 内网IP(NAT) 主机名称nginx web 服务器10.0 ...

  8. Angular:使用service进行http请求的简单封装

    ①使用ng g service services/storage创建一个服务组件 ②在app.module.ts 中引入HttpClientModule模块 ③在app.module.ts 中引入创建 ...

  9. Struts2 S2-061漏洞复现(CVE-2020-17530)

    0x01 漏洞描述 Struts2 会对某些标签属性(比如 `id`,其他属性有待寻找) 的属性值进行二次表达式解析,因此当这些标签属性中使用了 `%{x}` 且 `x` 的值用户可控时,用户再传入一 ...

  10. 使用HBase Shell命令

    使用HBase Shell命令 或 使用HBase Java API完成: 列出HBase所有的表的相关信息,例如表名: 在终端打印出指定的表的所有记录数据: 向已经创建好的表添加和删除指定的列族或列 ...