欢迎光临散文网 会员登陆 & 注册

又一次AppImage打包过程

2023-02-16 17:58 作者:野区观察员  | 我要投稿

        偶然得到了一张上古游戏CD,就是那只1994年的绿油油的光速兔崽子。这个当年运行在MS-DOS平台的火爆游戏,是后来风靡windows 98平台的《爵士兔2》的前作。

        我在ubuntu上用dosbox试了一下,可以完美运行。那么,被情怀冲昏头脑的我又想把它和dosbox一起打包做成AppImage。linuxdeploy和appimagetool这两个工具就不介绍了。


        首先我创建了用于dosbox挂载为的C盘目录,里面包含了完整游戏CD目录,同时也为dosbox准备了MASM汇编和Turbo-C环境,当然,这是非必要的。dosbox在启动时,需要使用自定义的额外命令,实现挂载游戏目录,并启动游戏。

        由于本次打包的文件较多,为处理AppImage挂载后,文件路径和文件之间的调用问题,准备用C语言写一个游戏启动器,思路是这样的:

        实现如下:

        静态编译一下:


        我创建了工作目录,并在工作目录中,准备了以下文件:

  • JAZZ                    启动器,就是前文写的启动器

  • DOS_C                dos环境C盘目录,内含游戏目录:JAZZCD

  • JAZZ.png           做了个图片,作为程序图标,尺寸为384*384

  • dosbox.conf     dosbox默认加载的配置文件

        接下来生成一个AppImage构建目录:

        在生成的jazz_jack_rabbit-linux_x86_64/usr/bin/目录中,我需要从系统中把dosbox的二进制程序复制进去:

        再次运行构建命令,以遍历dosbox依赖的共享库:

        把DOS_C目录复制到jazz_jack_rabbit-linux_x86_64/usr/bin/目录中:

        把dosbox.conf复制到jazz_jack_rabbit-linux_x86_64/usr/bin/目录中:

        构建AppImage:

        成功生成 JAZZ-x86_64.AppImage


        对古老的程序,见其生,不忍见其死。人们总是对第一次接触某种事物的印象极为深刻。


又一次AppImage打包过程的评论 (共 条)

分享到微博请遵守国家法律