加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c – 想要构建只有内核和一个二进制文件的裸Linux系统

发布时间:2020-12-16 10:34:45 所属栏目:百科 来源:网络整理
导读:我想构建一个只运行一个二进制程序的专用 Linux系统.该程序通过OpenGL驱动程序控制屏幕并显示模式.还需要键盘输入来配置模式.由于运行这一个程序将是机器的唯一目的,我不需要任何GUI,网络等.此外,我可能不需要在内核中进行任何进程调度,因为只有一个进程将运
我想构建一个只运行一个二进制程序的专用 Linux系统.该程序通过OpenGL驱动程序控制屏幕并显示模式.还需要键盘输入来配置模式.由于运行这一个程序将是机器的唯一目的,我不需要任何GUI,网络等.此外,我可能不需要在内核中进行任何进程调度,因为只有一个进程将运行.

有可能用我自己的二进制文件替换/ sbin / init来实现这个目的吗?在内核加载之后,它会立即执行我自己的二进制文件,这将在机器运行的整个时间内运行.基本上,我想模仿微控制器的工作方式,但能够使用具有不同硬件设备和驱动程序的x86 CPU.

解决方法

可能有可能用你的程序替换/ sbin / init,但你应该知道进程1有一些特定的职责.所以我认为不宜更换它.

请记住,Linux内核也可以在init进程继承的进程的通常fork之外神奇地启动某些进程.我在想像/ sbin / modprobe或/ sbin / hotplug等.

此外,udev(或systemd)也有一些特殊的角色.在某些系统上,风扇控制与这些事情有关(我真的忘记了细节).如果运气不好,如果风扇运行不正常,你可以烧掉你的硬件(但AFAIK在最近的硬件上并不是这样).

通过在最近的3.15.3内核中使用字符串查找vmlinux,我发现它知道:

> / bin / init
> / bin / sh
> / sbin / request-key
> / sbin / tomoyo-init
> / sbin / modprobe
> / sbin / poweroff
> / sbin / hotplug

我建议改为保留一些现有的init程序,并将其配置为仅运行程序.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读