一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

Linux|Centos|Ubuntu|系統(tǒng)進(jìn)程|Fedora|注冊(cè)表|Bios|Solaris|Windows7|Windows10|Windows11|windows server|

服務(wù)器之家 - 服務(wù)器系統(tǒng) - Linux - 如何將 FreeDOS 作為嵌入式系統(tǒng)使用

如何將 FreeDOS 作為嵌入式系統(tǒng)使用

2021-11-24 22:26Linux中國(guó)Jim Hall Linux

在 DOS 上建立一個(gè)嵌入式系統(tǒng)需要定義一個(gè)最小化的 DOS 環(huán)境來運(yùn)行單個(gè)應(yīng)用程序。幸運(yùn)的是,設(shè)置一個(gè)最小化的 FreeDOS 環(huán)境是非常容易的。從技術(shù)上來說,啟動(dòng) FreeDOS 并運(yùn)行 DOS 應(yīng)用程序僅需要內(nèi)核和一個(gè) FDCONFIG.SYS 配置文件。

如何將 FreeDOS 作為嵌入式系統(tǒng)使用

現(xiàn)在,很多嵌入式系統(tǒng)都是在 Linux 上運(yùn)行的。但是,在很久很久以前,嵌入式系統(tǒng)要么在一個(gè)定制的專有的平臺(tái)上運(yùn)行,要么在 DOS 上運(yùn)行。

FreeDOS 網(wǎng)站 宣稱,大多數(shù)人使用 FreeDOS 來完成三項(xiàng)主要任務(wù):

  1. 玩經(jīng)典的 DOS 游戲
  2. 運(yùn)行老式的 DOS 軟件
  3. 運(yùn)行一款嵌入式系統(tǒng)

但是,運(yùn)行一個(gè)“嵌入式”系統(tǒng)的意義是什么呢?

嵌入式系統(tǒng)基本上是一款非常小的系統(tǒng),專用于運(yùn)行一個(gè)特定的任務(wù)。你可以把現(xiàn)在的嵌入式系統(tǒng)當(dāng)作是 物聯(lián)網(wǎng)(IoT)的一部分,這包括傳感器、恒溫器和門鈴攝像頭。現(xiàn)在,很多嵌入式系統(tǒng)都是在 Linux 上運(yùn)行的。

但是,在很久很久以前,嵌入式系統(tǒng)要么在一個(gè)定制的專有的平臺(tái)上運(yùn)行,要么在 DOS 系統(tǒng)上運(yùn)行。在現(xiàn)在,一些基于 DOS 的嵌入式系統(tǒng)仍然在運(yùn)行,例如,收銀機(jī)或電話專用交換機(jī)(PBX)系統(tǒng)。舉個(gè)例子來說,在 2017 年,酷愛列車的人發(fā)現(xiàn)一個(gè)正在運(yùn)行 FreeDOS 的俄羅斯的電動(dòng)列車控制系統(tǒng) (俄語: САВПЭ),它使用特殊的軟件來控制和監(jiān)控郊區(qū)列車的線路,并發(fā)布乘客通告。

在 DOS 上建立一個(gè)嵌入式系統(tǒng)需要定義一個(gè)最小化的 DOS 環(huán)境來運(yùn)行單個(gè)應(yīng)用程序。幸運(yùn)的是,設(shè)置一個(gè)最小化的 FreeDOS 環(huán)境是非常容易的。從技術(shù)上來說,啟動(dòng) FreeDOS 并運(yùn)行 DOS 應(yīng)用程序僅需要內(nèi)核和一個(gè) FDCONFIG.SYS 配置文件。

安裝一款最小化的系統(tǒng)

我們可以使用 QEMU 仿真器來模擬一個(gè)專用的、最小化的 FreeDOS 系統(tǒng),并給它分配很少的資源。為了更準(zhǔn)確地反映一個(gè)嵌入式系統(tǒng),我將定義一個(gè)只有 8 MB 的存儲(chǔ)器和僅僅有 2 MB 的硬盤驅(qū)動(dòng)器的虛擬機(jī)。

為創(chuàng)建這個(gè)微小的虛擬硬盤,我將使用這個(gè) qemu-img 命令來定義一個(gè) 2M 的文件:

  1. $ qemu-img create tiny.img 2M
  2. Formatting 'tiny.img', fmt=raw size=2097152

下面的這行命令定義了一個(gè) 32 位的 “i386” CPU、8MB 的存儲(chǔ)器,使用 2MB 的 tiny.img 文件作為硬盤驅(qū)動(dòng)器鏡像,使用 FreeDOS 1.3 RC4 LiveCD 作為 CD-ROM 介質(zhì)。我們也將機(jī)器設(shè)置為從 CD-ROM 驅(qū)動(dòng)器啟動(dòng)(-boot order=d),盡管我們只需要用它來安裝系統(tǒng)。在我們完成所有的設(shè)置后,我們將從該硬盤啟動(dòng)完成的嵌入式系統(tǒng):

  1. qemu-system-i386 -m 8 -hda tiny.img -cdrom FD13LIVE.iso -boot order=d

使用 “現(xiàn)場(chǎng)環(huán)境模式Live Environment mode” 來啟動(dòng)系統(tǒng),這將為我們提供一個(gè)正在運(yùn)行的 FreeDOS 系統(tǒng),我們可以使用它來將一個(gè)最小化的 FreeDOS 轉(zhuǎn)移到硬盤上。

如何將 FreeDOS 作為嵌入式系統(tǒng)使用

啟動(dòng)到 LiveCD 環(huán)境之中(Jim Hall, CC-BY SA 4.0)

我們需要在虛擬硬盤驅(qū)動(dòng)器上為我們的程序創(chuàng)建一個(gè)分區(qū)。為此,從命令行中運(yùn)行 FDISK 程序。FDISK 是 FreeDOS 上的一個(gè)標(biāo)準(zhǔn)的 磁盤分區(qū) 實(shí)用程序。使用 FDISK 來創(chuàng)建一個(gè)單個(gè)硬盤驅(qū)動(dòng)器分區(qū),占用整個(gè)(2 MB)硬盤驅(qū)動(dòng)器。

如何將 FreeDOS 作為嵌入式系統(tǒng)使用

FDISK,在創(chuàng)建 2 MB 分區(qū)后(Jim Hall, CC-BY SA 4.0)

但是,在你重新啟動(dòng) FreeDOS 之前,F(xiàn)reeDOS 不會(huì)看到新的硬盤驅(qū)動(dòng)器分區(qū) — FreeDOS 僅在啟動(dòng)時(shí)讀取硬盤詳細(xì)信息。退出 FDISK ,并重新啟動(dòng) FreeDOS 。

在重新啟動(dòng)后,你需要在新的硬盤驅(qū)動(dòng)器上創(chuàng)建一個(gè) DOS 文件系統(tǒng)。因?yàn)檫@里只有一個(gè)虛擬硬盤,F(xiàn)reeDOS 將識(shí)別其為 C: 驅(qū)動(dòng)器。你可以使用 FORMAT 命令來在 C: 驅(qū)動(dòng)器上創(chuàng)建一個(gè) DOS 文件系統(tǒng)。使用 /S 選項(xiàng)將把操作系統(tǒng)文件(內(nèi)核,外加一個(gè) COMMAND.COM shell 的副本)轉(zhuǎn)移到新的驅(qū)動(dòng)器上。

如何將 FreeDOS 作為嵌入式系統(tǒng)使用

格式化新的驅(qū)動(dòng)器來創(chuàng)建一個(gè) DOS 文件系統(tǒng)(Jim Hall, CC-BY SA 4.0)   你已經(jīng)創(chuàng)建了硬盤驅(qū)動(dòng)器并將其格式化,現(xiàn)在,你可以安裝應(yīng)用程序,這些應(yīng)用程序是將會(huì)在新安裝的嵌入式系統(tǒng)上運(yùn)行的。

安裝專用的應(yīng)用程序

嵌入式系統(tǒng)實(shí)際上只是一個(gè)運(yùn)行在一個(gè)專用系統(tǒng)上的單一用途的應(yīng)用程序。這些應(yīng)用程序通常是為其將要控制的系統(tǒng)而自定義構(gòu)建的,例如,一臺(tái)收銀機(jī)、顯示終端、或控制環(huán)境。在這個(gè)演示中,讓我們使用一個(gè)來自 FreeDOS 1.3 RC4 安裝光盤中的程序。它需要足夠小,以適應(yīng)我們?yōu)槠鋭?chuàng)建的 2 MB 微型硬盤驅(qū)動(dòng)器。這可以是任何東西,所以,為了好玩,讓我們把它變成一個(gè)游戲。

FreeDOS 1.3 RC4 包含一些有趣的游戲。我喜歡的一個(gè)游戲是一個(gè)名稱為 “Simple Senet” 的棋類游戲。它是一個(gè)基于 Senet 的古埃及棋類游戲。游戲的細(xì)節(jié)對(duì)這個(gè)演示并不重要,我們將安裝它,并將其設(shè)置為嵌入式系統(tǒng)的專業(yè)應(yīng)用程序。

為安裝應(yīng)用程序,在 FreeDOS 1.3 RC4 LiveCD 上,進(jìn)入 \PACKAGES\GAMES 目錄。你將在其中看到一個(gè)很長(zhǎng)的軟件包列表,而我們想要的 SENET.ZIP 。

如何將 FreeDOS 作為嵌入式系統(tǒng)使用

來自 FreeDOS 1.3 RC4 的一個(gè)游戲軟件包列表(Jim Hall, CC-BY SA 4.0)

為解壓縮 “Simple Senet” 軟件包到虛擬硬盤上,使用 UNZIP 命令。所有的 FreeDOS 軟件包都是 Zip 文件,因此,你可以使用任意與 Zip 兼容的檔案實(shí)用程序來管理它們。FreeeDOS 1.3 RC4 包含創(chuàng)建 Zip 檔案文件的 ZIP 和提取 Zip 檔案文件的 UNZIP 。它們都來自 Info-Zip 項(xiàng)目 。

  1. UNZIP SENET.ZIP -d C:\FDOS

通常,使用 UNZIP 來提取 Zip 文件到當(dāng)前目錄中。在命令行結(jié)尾的 -d C:\FDOS 選項(xiàng)將告訴 UNZIP 來提取 Zip 文件到 C:\FDOS 目錄之中。(-d 指的是“目的地”)。

如何將 FreeDOS 作為嵌入式系統(tǒng)使用

解壓縮 Simple Senet 游戲(Jim Hall, CC-BY SA 4.0)

為了讓嵌入式系統(tǒng)啟動(dòng)時(shí)運(yùn)行 “Simple Senet” 游戲,我們需要告訴 FreeDOS 來使用 Senet 作為系統(tǒng)的 “shell” 。 默認(rèn)的 FreeDOS 的 shell 是 COMMAND.COM 程序,但是,你可以在 FDCONFIG.SYS 內(nèi)核配置文件中使用 SHELL= 指令來定義一個(gè)不同的 shell 程序。我們可以使用 FreeDOS 的 Edit 來創(chuàng)建新的 C:\FDCONFIG.SYS 文件。

如何將 FreeDOS 作為嵌入式系統(tǒng)使用

(Jim Hall, CC-BY SA 4.0)

如果你需要定義其它的參數(shù)來支持嵌入式系統(tǒng),你可以將其添加到 FDCONFIG.SYS 文件之中。例如,你可能需要使用 SET 動(dòng)作來設(shè)置環(huán)境變量,或者使用 FILES= 或 BUFFERS= 語句來調(diào)整 FreeDOS 內(nèi)核。

運(yùn)行嵌入式系統(tǒng)

在全面地完成嵌入式系統(tǒng)的定義之后,現(xiàn)在,我們可以重新啟動(dòng)計(jì)算機(jī)來運(yùn)行嵌入式應(yīng)用程序。運(yùn)行一個(gè)嵌入式系統(tǒng)通常僅需要有限的資源,因此,在這個(gè)演示中,我們需要調(diào)整 QEMU 命令行來只從硬盤驅(qū)動(dòng)器(-boot order=c)中啟動(dòng),而不再定義一個(gè) CD-ROM 驅(qū)動(dòng)器:

  1. qemu-system-i386 -m 8 -hda tiny.img -boot order=c

當(dāng) FreeDOS 內(nèi)核啟動(dòng)時(shí),它將讀取 FDCONFIG.SYS 文件以獲取啟動(dòng)參數(shù)。然后,它將使用 SHELL= 行的定義來運(yùn)行 shell 。這將自動(dòng)地運(yùn)行 “Simple Senet” 游戲。

如何將 FreeDOS 作為嵌入式系統(tǒng)使用

作為一個(gè)嵌入式系統(tǒng)運(yùn)行 Simple Senet(Jim Hall, CC-BY SA 4.0)

我們已經(jīng)使用了 “Simple Senet” 來演示如何在 FreeDOS 上設(shè)置一個(gè)嵌入式系統(tǒng)。根據(jù)你的需要,你可以使用任何你喜歡的獨(dú)立應(yīng)用程序。在 FDCONFIG.SYS 中使用 SHELL= 行將其定義為 DOS 的 shell ,F(xiàn)reeDOS 將在啟動(dòng)時(shí)自動(dòng)地啟動(dòng)該應(yīng)用程序。

不過,在這里有一個(gè)限制。嵌入式系統(tǒng)通常不需要退回到一個(gè)命令行提示符之中,因此這些專用應(yīng)用程序通常不允許用戶退出到 DOS 之中。如果你設(shè)法退出了嵌入式應(yīng)用程序,你可能會(huì)看到一個(gè) “Bad or missing Command Interpreter” 的提示,你將需要在其中輸入一個(gè)新的 shell 的完整路徑。對(duì)于一個(gè)以用戶為中心的桌面系統(tǒng)來說,這將是一個(gè)問題。但是在一個(gè)嵌入式系統(tǒng)上,它只專注執(zhí)行一種工作的,那么,你也永遠(yuǎn)不需要退出嵌入式應(yīng)用程序。

原文鏈接:https://linux.cn/article-14014-1.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 色综合天天五月色 | 日韩欧美中文字幕一区二区三区 | 欧美日韩国内 | 久久精品WWW人人爽人人 | 性姿势女人嗷嗷叫图片 | 精品无人区麻豆乱码无限制 | 99这里只有精品在线 | 欧美a欧美1级 | 国产好痛疼轻点好爽的视频 | 午夜国产在线 | 日本精品www色 | 精品国产精品人妻久久无码五月天 | 日本中文字幕黑人借宿影片 | 国产精品美女福利视频免费专区 | 美女污视频在线观看 | 久久午夜一区二区 | 视频二区 素人 欧美 日韩 | 欧美精品一区二区三区免费播放 | 日本一区二区三区四区无限 | 大肥婆丰满大肥奶bbw肥 | 99精品国产久热在线观看66 | 人妖欧美一区二区三区四区 | 国产一区二区在线观看视频 | 日韩精品福利视频一区二区三区 | 亚洲狠狠婷婷综合久久蜜桃 | 好大好硬好紧太深了受不了 | 高清在线免费观看 | 成熟女人50岁一级毛片不卡 | 亚洲精品成人AV在线观看爽翻 | 国产乱子伦在线观看不卡 | 四缺一的小说 | 色噜噜 男人的天堂在线观看 | 93版高校教师 | 亚洲国产情侣偷自在线二页 | 99热在线只有精品 | 拔插拔插8x8x海外华人免费视频 | 调教车文| 91视频破解版| 亚洲精品国产成人7777 | 91精品啪在线观看国产日本 | 网址在线观看你懂我意思吧免费的 |