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

我想构建一个只运行一个二进制程序的专用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程序,并将其配置为仅运行程序.

上一篇:c – 在Linux中获取主板设备ID和BIOS串行


下一篇:RK3288 usb 摄像头旋转