不同的 CPU 架构意味着在树莓派上运行 DOS 并非唾手可得,但其实也没多麻烦。

FreeDOS 对大家来说也许并不陌生。它是一个完整、免费并且对 DOS 兼容良好的操作系统,它可以运行一些比较老旧的 DOS 游戏或者商用软件,也可以开发嵌入式的应用。只要在 MS-DOS 上能够运行的程序,在 FreeDOS 上都可以运行。

作为 FreeDOS 的发起者和项目协调人员,很多用户会把我作为内行人士进行发问。而我最常被问到的问题是:“FreeDOS 可以在树莓派上运行吗?”

这个问题并不令人意外。毕竟 Linux 在树莓派上能够很好地运行,而 FreeDOS 和 Linux 相比是一个更古老、占用资源更少的操作系统,那 FreeDOS 为啥不能树莓派上运行呢?

简单来说。由于 CPU 架构的原因,FreeDOS 并不能在树莓派中独立运行。和其它 DOS 类的系统一样,FreeDOS 需要英特尔 x86 架构 CPU 以及 BIOS 来提供基础的运行时服务。而树莓派运行在 ARM 架构的 CPU 上,与英特尔 CPU 二进制不兼容,也没有 BIOS。因此树莓派在硬件层面就不支持 FreeDOS。

不过通过 PC 模拟器还是能在树莓派上运行 FreeDOS 的,虽然这样也许稍有不足,但也不失为一个能在树莓派上运行 FreeDOS 的方法。

DOSBox 怎么样?

有人可能会问:“为什么不用 DOSBox 呢?” DOSBox 是一个开源的跨平台 x86 模拟器,在 Linux 上也能使用,它能够为应用软件尤其是游戏软件提供了一个类 DOS 的运行环境,所以如果你只是想玩 DOS 游戏的话,DOSBox 是一个不错的选择。但在大众眼中,DOSBox 是专为 DOS 游戏而设的,而在运行一些别的 DOS 应用软件方面,DOSBox 只是表现平平。

对多数人来说,这只是个人偏好的问题,我喜欢用 FreeDOS 来运行 DOS 游戏和其它程序,完整的 DOS 系统和 DOSBox 相比能让我体验到更好的灵活性和操控性。我只用 DOSBox 来玩游戏,在其它方面还是选择完整的 FreeDOS。

在树莓派上安装 FreeDOS

QEMU(Quick EMUlator)是一款能在 Linux 系统上运行 DOS 系统的开源的虚拟机软件。很多流行的 Linux 系统都自带 QEMU。QEMU 在我的树莓派上的 Raspbian 系统中也同样能够运行,下文就有一些我在树莓派 Raspbian GNU/Linux 9 (Stretch) 系统中使用 QEMU 的截图。

去年我在写了一篇关于如何在 Linux 系统中运行 DOS 程序的文章的时候就用到了 QEMU,在树莓派上使用 QEMU 来安装运行 FreeDOS 的步骤基本上和在别的基于 GNOME 的系统上没有什么太大的区别。

在 QEMU 中你需要通过添加各种组件来搭建虚拟机。先指定一个用来安装运行 DOS 的虚拟磁盘镜像,通过 qemu-img 命令来创建一个虚拟磁盘镜像,对于 FreeDOS 来说不需要太大的空间,所以我只创建了一个 200MB 的虚拟磁盘:

qemu-img create freedos.img 200M

和 VMware 或者 VirtualBox 这些 PC 模拟器不同,使用 QEMU 需要通过添加各种组件来搭建虚拟机,尽管有点麻烦,但是并不困难。我使用了以下这些参数来在树莓派上使用 QEMU 安装 FreeDOS 系统:

qemu-system-i386 -m 16 -k en-us -rtc base=localtime -soundhw sb16,adlib -device cirrus-vga -hda freedos.img -cdrom FD12CD.iso -boot order=d

你可以在我其它的文章中找到这些命令的完整介绍。简单来说,上面这条命令指定了一个英特尔 i386 兼容虚拟机,并且分配了 16MB 内存、一个英文输入键盘、一个基于系统时间的实时时钟、一个声卡、一个音乐卡以及一个 VGA 卡。文件 freedos.img 指定为第一个硬盘(C:),FD12CD.iso 镜像作为 CD-ROM (D:)驱动。QEMU 设定为从 D: 的 CD-ROM 启动。

你只需要按照提示就可以轻松安装好 FreeDOS 1.2 了。但是由于 microSD 卡在面对大量的 I/O 时速度比较慢,所以安装操作系统需要花费很长时间。

在树莓派上运行 FreeDOS

你的运行情况取决于使用哪一种 microSD 卡。我用的是 SanDisk Ultra 64GB microSDXC UHS-I U1A1 ,其中 U1 这种型号专用于支持 1080p 的视频录制(例如 GoPro),它的最低串行写速度能够达到 10MB/s。相比之下,V60 型号专用于 4K 视频录制,最低连续写入速度能达到 60MB/s。如果你的树莓派使用的是 V60 的 microSD 卡甚至是 V30(也能达到 30MB/s),你就能明显看到它的 I/O 性能会比我的好。

FreeDOS 安装好之后,你可以直接从 C: 进行启动。只需要按照下面的命令用 -boot order=c 来指定 QEMU 的启动顺序即可:

​qemu-system-i386 -m 16 -k en-us -rtc base=localtime -soundhw sb16,adlib -device cirrus-vga -hda freedos.img -cdrom FD12CD.iso -boot order=c​

只要树莓派的 QEMU 上安装了 FreeDOS,就不会出现明显的性能问题。例如游戏通常在每一关开始的时候会加载地图、怪物、声音等一系列的数据,尽管这些内容需要加载一段时间,但在正常玩的时候并没有出现性能不足的现象。

FreeDOS 1.2 自带了很多游戏以及其它应用软件,可以使用 FDIMPLES 包管理程序来安装它们。FreeDOS 1.2 里面我最喜欢的是一款叫 WING 的太空射击游戏,让人想起经典的街机游戏 Galaga(WING 就是 Wing Is Not Galaga 的递归缩写词)。

As-Easy-As 是我最喜欢的一个 DOS 应用程序,作为 20 世纪八九十年代流行的电子表格程序,它和当时的 Lotus 1-2-3 以及现在的 Microsoft Excel、LibreOffice Calc 一样具有强大的威力。As-Easy-As 和 Lotus 1-2-3 都将数据保存为 WKS 文件,现在新版本的 Microsoft Excel 已经无法读取这种文件了,而 LibreOffice Calc 视兼容性而定有可能支持。鉴于 As-Easy-As 的初始版本是一个共享软件,TRIUS 仍然为 As-Easy-As 5.7 免费提供激活码。

我也非常喜欢 GNU Emacs 编辑器,FreeDOS 也自带了一个叫 Freemacs 的类 Emacs 的文本编辑器。它比 FreeDOS 默认的 FreeDOS Edit 编辑器更强大,也能带来 GNU Emacs 的体验。如果你也需要,可以在 FreeDOS 1.2 中通过FDIMPLES包管理程序来安装。

是的,你或许真的可以在树莓派上运行 DOS

即使树莓派在硬件上不支持 DOS,但是在模拟器的帮助下,DOS 还是能够在树莓派上运行。得益于 QEMU PC 模拟器,一些经典的 DOS 游戏和 DOS 应用程序能够运行在树莓派上。在执行磁盘 I/O ,尤其是大量密集操作(例如写入大量数据)的时候,性能可能会受到轻微的影响。当你使用 QEMU 并且在虚拟机里安装好 FreeDOS 之后,你就可以尽情享受经典的 DOS 程序了。

via: https://opensource.com/article/18/3/can-you-run-dos-raspberry-pi

作者:Jim Hall 译者:HankChow 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

原文来自:https://www.linuxprobe.com/raspberry-pi-freedos.html

折腾!在树莓派上运行DOS相关推荐

  1. 树莓派python3.6 tensorflow_树莓派上运行Tensorflow

    由于学校里的一个比赛需要搭建一个机器视觉的系统,我一时兴起,想着能不能用树莓派+深度学习(tensorflow框架)来实现一下.所以就买了一块树莓派的板子,做了一些尝试,终于能在树莓派上运行tenso ...

  2. 树莓派能直接运行python程序_在树莓派上运行python脚本 - python

    我正在研究rapiberry pi 3大约3个月,开始使用它时遇到了问题. 我找不到在树莓派打开时在其上运行python脚本的有效,安全的方法(没有监视器,鼠标和键盘).此刻,我在/ etc / pr ...

  3. 神操作!树莓派上运行滴滴开源的Logi-KafkaManager,你见过没?

    一.前言 要说起滴滴Logi-KafkaManager这样的管控工具应该部署在哪?我想大家一般都会说:"当然是部署在自己的应用服务器上啊,还能放哪?嗨,部署在应用服务器上也太稀松平常了,今天 ...

  4. 如何在树莓派上运行雷神之锤III

    昨天在树莓派上尝试运行了一下雷神之锤III,流畅运行,效果不错~~~ RPI这个小身板的东东总是可以给你带来惊喜,这里记录一下步骤以备后续再用 先确保RPI的程序和固件都已经更新 sudo apt-g ...

  5. 【树莓派入门】从零开始在树莓派上运行YOLOV5项目实战教程

    基于树莓派与YOLOV5的目标检测系统 项目进度 特别说明 教程简介 项目简介 资料下载 特别致谢 猜你需要 考虑到有的小伙伴可能比较着急,所以我给出我配置好环境的树莓派64位系统镜像,只求一个免费的 ...

  6. 树莓派vnc用法 linux,怎样使用VNC在树莓派上运行远程桌面

    您的Raspberry Pi是一款了不起的小型计算机,但可能会带来一些不便.在正常使用情况下,您需要插入键盘和鼠标并将其连接到HDMI监视器(尽管可以使用其他显示器)才能查看命令行或桌面. 但这不是并 ...

  7. Exagear运行Linux,【原创首发】折腾教程:在树莓派上尝试运行X86并配置wine桌面 *不用ExaGear*...

    树莓派可能很难给你带来实质性的用途,但树莓派最大的乐趣就是挖坑和填坑. --题记 近日我又挖了一个新坑,我想在树莓派上运行X86,而我仅仅是一时兴起. arm平台运行X86并不容易,一开始搜索到的全是 ...

  8. 【树莓派学习笔记】树莓派4B上运行uboot并从网络启动linux内核(上)

    [树莓派学习笔记]树莓派4B上运行uboot并从网络启动linux内核(上) 文章目录 [树莓派学习笔记]树莓派4B上运行uboot并从网络启动linux内核(上) 前言 1. 硬件需求与软件版本汇总 ...

  9. 树莓派编译 android,RPI3: 在树莓派3上运行ANDROID 8.1系统

    Android 官方并没有提供可运行在树莓派3上的Android系统,而只提供了AndroidThings系统,并且还只是preview的版本.想在树莓派上运行Android 8.1系统,就需要自己动 ...

  10. 在树莓派上借助Mono + Jexus 布署 .Net 4.0 WebForm应用

    介绍 树莓派 树莓派是一种微型电脑,不到300元的成本就可以拥有一个4核1G的低功耗Linux环境,并且自带了40针IO,HDMI,WIFI,USB,100M网卡,SPI显示屏接口. 树莓派 Mono ...

最新文章

  1. 白平衡——图像处理中的一种增强技术
  2. sql server datetime转char的方法
  3. D3.tsv与D3.csv加载数据
  4. 实现全屏轮播,并且轮播div中的文字盒子一直自动垂直居中
  5. goland go test 多个文件_这个代码怎么会编译不通过?Goland 新手常见问题解决:GOPATH 和 Go Modules 编译不成功...
  6. docker学习笔记(六)docker-compose
  7. GitHub上的私有仓库转换为共有仓库以及共有仓库转换为私有仓库
  8. Linux安装与基本操作命令与JDK的安装,Mysql的安装,Tomcat的安装
  9. FFplay命令分析-vf
  10. java实现NC数据等值线等值面可视化
  11. IT项目的常见风险及应对措施
  12. volatility使用
  13. 使用 Learner Lab - 学生
  14. Android Camera2 教程 · 第三章 · 预览
  15. 【LLM大模型】模型和指令微调方法
  16. 情感营销,如何打动消费者的心
  17. 基于融云的即时通讯开发(一)
  18. 摩托车新手驾驶教程[4]
  19. 易语言的按钮事件(破解小技巧)
  20. 游泳过后,耳朵进水怎么办,中耳进水

热门文章

  1. 水经注叠加cad_相见恨晚的50个CAD技巧
  2. Matlab画直线、圆、球
  3. Linux内核开发-入门篇
  4. js基于后台数据实现table行列合并
  5. 【蓝桥杯真题】2021年蓝桥杯省赛B组题目解析+代码(C/C++)
  6. vb mysql登录界面_vb.net 简单上机登陆(面向过程思维)
  7. Linux 内核参数:meminfo
  8. 如何解决长传CSDN图片问题
  9. python版代码整洁之道
  10. 手机麦克风结构原理图_做一个最会搞气氛的人,唱吧小巨蛋麦克风G2评测:明星同款...