大神真闲传,又一款纯汇编撸成的操作系统:MenuetOS

这个世界从来都不缺大神,然而大神们除了拥有惊人发量这点过人之处外,可能更加鲜为人知的却是三个字:闲得蛋疼!

没错,能称得上大神的多多少少有点吃饱了撑的,不过这只是我们外人看来的,作为大神他们从来不屑于我等小白的眼光,他们的眼睛只会一如既往地向前展望。

之前有幸为小伙伴们介绍过一篇文章,说的正是俄罗斯的大神们反对帝国主义垄断和压迫,走上了一条独立自主的光明大道,开发了一款纯汇编操作系统 KolibriOS 的可歌可泣的感人故事。


文章名称:《还真有一款纯汇编撸的操作系统 KolibriOS》

文章链接:https://www.sysadm.cc/index.php/xitongyunwei/873-there-is-really-an-operating-system-written-entirely-in-assembler-fasm


于是乎看过此文的不少小伙伴热血沸腾、直呼牛逼,他们高声呐喊要是我们也能出些大神那就太好了,至少不会被帝国主义卡脖子。

此情此景我是非常感动的,但是我已经过了35岁的高寿,已经不能再投入火热的技术学习之中了,也不能再更多地为大家贡献自己的微薄力量了。

说这些虽然有些伤感哈,不过为了振奋心情,现在我想带给大家一个好消息,那就是我又发现了一款新系统!

嘿嘿,没错,这款新系统也是纯汇编撸成的,名叫 MenuetOS ,不过创作者不是战斗民族而是来自日不落大英帝国的大神们。

虽然不是国产,但我们研究研究多少总是有好处的吧。

好奇吗?接下来我们就一起瞧瞧这款来自盎格鲁撒克逊大神们之手的 MenuetOS


MenuetOS 究竟有什么特性,按照我个人的理解,我们还是找个镜像或什么先安装用用看,用着用着不就知道都有什么特性了嘛!

我们来到官网,首页非常简朴,堪称节约成本之业界楷模,是为了标榜占用系统资源极少吗?

为了不占用更多的篇幅,我就不在这儿贴图了。

官网链接:http://www.menuetos.net/


制作可安装的 ISO 镜像

实际上 MenuetOS 被压缩得非常之小,以至于可以放到一张 1.44MB 的软盘上,因此官网上提供了软盘镜像下载。

图中上面那个箭头指的就是软盘镜像,而下面那个箭头指的是 Windows 下将镜像写入软盘的工具软件。


再看看这个 Windows 工具,它居然点名非要写到 A 盘,也就是软盘,其他盘一概不认。


可是这年头谁还有软盘啊,就算有软盘,软驱我也没地儿找去啊!

开局不利啊,这么坑爹吗?

其实不然,官方说了支持 64 位和 32 位系统,我们看到是正是 64 位的镜像。

64 位系统流行的今天怎么可能还用软盘呢,因此官网又提供了另外一种支持光盘镜像的方法。


我说呢,就算系统做得再小,也不能还抱着软盘这种老古董不放啊!

别高兴得太早哈,后面还有个小坑等着你呢!

如果你点击了前面的那个链接,你会发现你得到的并不是 ISO 镜像的下载链接,而是一份简要制作说明。

Create a bootable MenuetOS CD
=============================

Very Important: Make sure that your Bios fully supports the el-torito cd format.

Incompatible bios versions include:
- Phoenix Award Bios v6.00PG
- Insyde BIOS with Intel Macs

Bootable CD instructions:

1) Download and unzip isohdr.zip and 1.4MB Menuet image.

2) Combine the ISO-header with Menuet image

   Dos:  copy /b isohdr + MenuetImage.img mboot.iso
   Unix: cat isohdr MenuetImage.img > mboot.iso

   Resulting mboot.iso size: 1527808 bytes.

3) Burn mboot.iso to CD and boot

   CD burning application should recognize the used 'el-torito cd' format.

Note that the CD image is for booting only and does not include a ISO9660 filesystem.
 


简单地说,就是需要我们自动动手,将 ISO-header 引导信息与前面说的 MenuetOS 磁盘镜像合并来生成可引导的 ISO 镜像文件。

换句话说就是, 引导信息 + 磁盘镜像 = 可引导启动的完整 ISO 文件

那具体怎么做呢?


先将 isohdr.zipM6413970.zip 两个文件下载下来,刚才说了,前者是镜像引导文件,后者是系统主体文件。

http://www.menuetos.net/isohdr.zip

http://www.menuetos.be/download.php?CurrentMenuetOS


然后将这两个压缩包分别解压,各自放出两个文件,一个叫 isohdr ,另一个叫 M6413970.IMG

将它们两个放一块儿,一会儿备用。


之后就是一条命令的事儿了,将两者合并。

; Dos/Windows 系统可以这么干
; /b 表示以二进制方式进行操作
copy /b isohdr + M6413970.img MenuetOS.iso

; Unix/Linux 系统可以这么干
cat isohdr M6413970.img > MenuetOS.iso
 


说实话,以前学 copy 这个命令的时候,也就简单地合并过两个文本文件,没想到多年之后的今天,居然见识到了还可以这样合并引导文件。

我将合并后生成的镜像文件放在这儿,你们想要偷个懒的话就直接下载吧。

哎,你要仔细看的话就会发现,这玩意是真的很恐怖,一个镜像文件居然只有 1.45M ,还能再小点儿不?


MenuetOS64.iso(1.45M) & MenuetOS32.iso(1.45M)

下载链接:https://pan.baidu.com/s/1tEd1eFxNDCobJKsP_YU_LA

提取码:


输入密码,继续阅读



扫码关注微信公众号,回复文章ID免费获取密码


<文章ID:000893>


初次使用

接下来我们用制作好的镜像启动看看。

啧啧,毕竟短小而精悍,这启动速度刷刷的,你们瞧瞧!


文件资源管理器、文本编辑器,终端等基本的程序都有,不过用过后感觉还在起步阶段。


当然它还带有表格编辑软件以及像计算器之类的小程序。


还有,游戏肯定是少不了,这也许是大神们坚持下去的动力之一吧,毕竟大神也会累嘛,偶尔娱乐一下也很必要。


此外大神们还搞出了一些复古游戏,比如 QuakeDoom 等等,官网上另提供一个 CD 下载。

不过我怎么试都没试出来,最终也没玩上,有些遗憾!


网络

如果你也像我用的是 VirtualBox 来体验的话,需要按照 MenuetOS 的要求做些小调整。

比如网卡连接方式选择 桥接模式 ,控制芯片要选择 Intel PRO/1000 T Server (83543GC)


然而就这么设置进入系统后,并不能直接使用网络,还得再费点功夫在系统里设置一下。

首先,点击桌面的 SETUP ,并在设置界面中应用网卡驱动。


然后,打开开始菜单,选择 SYSTEM > DRIVERS ,在驱动界面中确认网卡状态为正常工作状态。


还没完,再然后,点击开始菜单中的 INTERNET > SETUP > STACKCFG ,或是直接点击桌面的 STACKCFG

在网卡配置中,点中 Ethernet 一项,并在右侧确认 IP 地址,可以是服务器自动分配,也可以你自己手动设定。


OK,如果不出意外的话,你已经联网啦!

如果你是在实体机上测试,网卡是普通的 RTL8xxx 的螃蟹卡,那么它也有提供。

/FD/1/DRIVER/RTL8169
 


不过我专门找了台旧电脑,虽然驱动应用成功,但实际网络却并没有正常连通。

这可能是个坑,小伙伴们慎踩!


当我们正常联网后,我们就可以用它来做些什么了。

不过嘛,令人沮丧的是,MenuetOS 自带的这个 HTTPC 浏览器并不支持 https 协议,凑合着用吧,要求不能太高。


当然,除了 HTTP 之外,它还提供了 HTTP SERVERFTP SERVER 等网络服务功能。


需要注意的是,当你用 ftp 客户端连接它时,记得要使用被动连接模式。


虽然你可能通过 ftp 成功连接到 MenuetOS 上,但我要告诉你的是,这玩意居然是只读的。

也就是说,它假装它能上传文件,其实并不保存任何文件,只能下载,原因等会儿会说。


音频

和前面网络设定类似,我们需要先应用驱动程序,待音频设备激活后才能正常使用声卡。

通过 MenuetOS 自带的音频示例,我们能听到它发出哆唻咪发的音乐声。


顺便说下视频播放,我试了很多次,也按它的解码要求播放了符合标准的视频文件,奈何没有成功过。

不知道我哪里出错,如果有成功的小伙伴请告诉我一声哈。


开机初始设置

前面我们说过的,这玩意虽然长得个子小,但它好像是个只读的系统,其实那只是它的某些开关在一开始就被关上了。

当我们看到 MenuetOS 开机启动时,就在那个黑色背景界面出现时快速按下 ESC 键,我们就能进入到配置程序中。

它默认的分辨率是 800x600 ,因此有大屏幕的小伙伴就可以在这儿给它改大一点儿了。


还有内存大小,默认只占用 640MB ,我配置了 1GB 内存,可改成 0x000400


还有一个前面没有提到的问题,那就是 USB 的使用问题。

系统默认是无法接入 USB 设备的,原因就在这儿,它压根就没给你开啊!

一个是 2.0 ,一个是 1.x


另外还有软盘写入以及硬盘、光盘的启用设定。

不过我测试过,并不能真的可以写入,可能是系统还有待完善吧。


其实网卡、声卡之类的设备都可以在这儿预先设定好,省得进入系统再改了。


虽然前面这些设置都可以在一开机的时候修改,但那是一次性的,重启后又没了。

怎么办呢?

其实我们可以这样,在开机的时候设定为 FD 可写,然后进入系统后,用文本编辑器修改 /FD/1/CONFIG.MNT 后保存。


之后一旦开启了相关设备,我们就可以正常接入使用了,比如接入 U 盘。

不过也不要太指望它能读写 U 盘里的东西哈。


写在最后

这款 MenuetOS2005 年直到现在都一直在更新,可以看得出,大神们不是真的闲,而是源自他们孜孜不倦的敬业奉献精神。

除了自身的爱好,对编程技术的热爱外,更多的是能让更多人从这款系统中受益的想法。

使用汇编就已经体现了他们对技术的要求更加专业、更加极致。

并且从一开始其设计标准也好、创意也好,都不是参考其他任何操作系统,更没有基于包括 UnixPOSIX 等我们熟知的常见标准。

而通过这样一种方式来设计并实现一个系统,虽然道路充满艰辛,但是无疑这种创新精神更加值得我们借鉴和学习。

就像有的小伙伴感叹的那样,我们也不缺大神,但何时我们的大神也能闲到撸一个有那么点意思的系统出来呢?

我想有比没有好,即使多等上几年也无妨,你们说呢?


扫码关注@网管小贾,阅读更多

网管小贾的博客 / www.sysadm.cc



提交评论

安全码
刷新

© 2020-present 网管小贾 | 微信公众号 @网管小贾
许可协议:CC-BY-NC 4.0 | 转载文章请注明作者出处及相关链接