我正在上一门操作系统课程,需要在 Ubuntu 9.10 上编译一个程序。该程序在 Ubuntu 的后续版本(例如 12.04)上无法按预期运行
我的问题是,如何在 Ubuntu 12.04(最新版本)上使用 9.10 内核编译 C 程序
我已经在我的计算机上安装了 Ubuntu 9.10 分区,因此我可以使用那里的库。但是,尽管如此,我还是想从我的 12.04 分区开始工作。
或许本手册有帮助?
答案1
最好为 Ubuntu 9.10 创建一个“chroot”,并在该 chroot 内进行编译。
我在回答中对此有一些细节构建多个软件包以部署到不同的 Ubuntu 版本,但基本流程是:
- 用于
mk-sbuild --name=my-karmic-chroot karmic
为 Ubuntu 9.10 创建新的 chroot(9.10 的代号为“karmic”) - 使用
schroot -c my-karmic-chroot
进入新的 chroot,并进行编译
如果您正在编译 Ubuntu 软件包,则sbuild
可以使用该工具来自动执行此操作。
请注意,这不使用核心9.10 版仅包含用户空间组件(包括 libc 和 C 运行时库)。您仍将运行 12.04 内核。但是,您是否特别需要 9.10 内核?
如果您确实需要 9.10 内核,您可以virt-manager
在 12.04 安装上设置 9.10 虚拟机。然后您可以像登录真正的 9.10 机器一样登录。