一个系统引导程序的简单示例1
来源:互联网 发布:数据段 代码段堆栈段 编辑:程序博客网 时间:2024/05/19 22:52
在做这个引导程序之前需准备:ubuntu操作系统(16.04)、VMware虚拟机、nasm编译器
如何安装ubuntu操作系统和VMware虚拟机:安装教程见http://blog.csdn.net/u013142781/article/details/50529030
如何将nasm编译器导入ubuntu系统:
1.下载安装文件
地址是:http://www.nasm.us/pub/nasm/releasebuilds/2.10.07/ 选择nasm-2.10.07.tar.gz下载,然后copy到虚拟机中
2.解压
tar -xf nasm-2.10.07.tar.gz
3.进入解压目录
进入刚解压的目录,分别输入
./configure
make
sudo make install
注:当你sudo的时候,要求你输入密码,该密码为开机密码,且不可见,另外可以使用sudo passwd root修改密码
通过以上的步骤nasm就在ubuntu上安装好了。也可以通过使用命令:nasm -version来查看是否安装成功。如果出现了nasm的版本信息则说明安装成功,否则还需进一步安装。
现在我们可以开始编写一个最简单的系统引导程序了 将boot.asm写入刚解压的文件nasm-2.10.07中
该代码很多地方都有,这就是最简单的操作系统,只依靠裸机运行
接着我们要创建自己的软盘镜像文件,然后将刚才编译的boot.bin导入软盘镜像文件,原理是电脑上电时,先读软盘驱动的第一个扇区(512B),而我们编译生成的boot.bin文件刚好是512字节,所以直接运行boot.bin中代码。
将boot.bin文件写入startos.img的软盘镜像中,然后将startos.img文件移到windows中,然后在VMware的设置中添加软盘驱动
然后开启虚拟机
出现上述界面,说明我们编写的boot.asm可以在逻辑上运行了,完成一个最小的OS编写,是不是很开心O(∩_∩)O~~
- 一个系统引导程序的简单示例1
- 实践一个简单的引导程序
- 简单的引导程序
- 【FreeMarker】【程序开发】一个简单的示例
- 最简单的引导程序
- 最简单的引导程序
- 一个简单的下载程序VB.NET示例
- 一个简单的linux shell程序示例及其说明
- ReadDirectoryChangesW 监控文件夹 (一个简单的监控示例程序)
- 一个简单的MD5加密算法C语言示例程序
- 【Eclipse RCP】1. 一个简单的RCP程序示例
- 一个简单的MD5加密算法C语言示例程序
- 一个简单的MD5加密算法C语言示例程序
- 一个简单的PHP文件上传示例程序
- Android 系列 1.13程序:一个简单的CountDownTimer示例
- 1-1简单的C程序示例
- 用MASM、TC2.0 写一个简单的x86引导程序 - lvjinhua的专栏 - CSDNBlog
- 一个简单的C++程序(给17级新生的入门引导)
- mysql,mysqli,pdo方式连接数据库[no such file or directory]
- 抽象类和接口的区别
- IntelliJ IDEA里缺少javax.servlet
- 几种Java序列化方式的实现
- 最大映射
- 一个系统引导程序的简单示例1
- Haskell语言学习笔记(13)Monadic Functions
- linux
- VS2010 更改项目名称
- IntelliJ IDEA里找不到javax.servlet的jar包
- 公共子串-SSL 1463
- 欢迎使用CSDN-markdown编辑器
- NetHogs实时监控统计网络带宽利用率
- Java编程风格学习(三)