一个系统引导程序的简单示例1
2017-03-04 09:46
411 查看
在做这个引导程序之前需准备: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~~
如何安装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
- 【1】实现一个简单的linux系统引导程序
- 对程序添加系统托盘图标支持-一个简单的C++封装
- 一个简单的系统托盘程序
- 一个简单的基于node.js的TCP服务器和基于C++的TCP客户端通信示例程序
- 一个简单的jms聊天室示例程序,pub/sub模型
- ReadDirectoryChangesW 监控文件夹 (一个简单的监控示例程序)(文件被修改了,也可以探测到)
- 用MASM、TC2.0 写一个简单的x86引导程序 - lvjinhua的专栏 - CSDNBlog
- Grails示例程序-一个简单的聊天室
- STL库中简单的list类模板示例和一个小的延时程序
- 实践一个简单的引导程序
- 一个简单的linux shell程序示例及其说明
- 一个简单的MD5加密算法C语言示例程序
- 一个基于PXA255嵌入式系统的简单24位图片读取输出程序
- 通过一个简单的时间片轮转多道程序内核代码,分析linux操作系统系统
- 小程序大问题,MSDN中一个小小示例所带来的疑问,一个关于DataList的一个简单应用
- 深入理解计算机系统读书笔记之一个简单汇编程序的调试分析
- 一个简单的MD5加密算法C语言示例程序
- ReadDirectoryChangesW 监控文件夹 (一个简单的监控示例程序)
- 一个简单的PHP文件上传示例程序