试图制作单处理设备......这可能吗? :(

时间:2012-06-20 15:57:39

标签: android linux linux-kernel embedded-linux odroid

Hy大家,我是韩国人,还有一点使用英语,所以请试着理解我说的不合适。

所以,我的状态是我有odroid-s。

我想在一个月或更长时间内做的事情是我想把android变成HelloWorld。

我想说的是,在odroid-s,bootloader部分,内核部分是相同的但是框架部分(将是android),我将删除所有的android部分并用HelloWorld替换它程序。这个HelloWorld程序的目的是在屏幕上显示HelloWorld。

我认为我发现的是,因为我'vimdiff'正常bootlog和我删除所有系统分区部分(这是android系统分区部分)之间的bootlog是 android内核的init 继续执行控制台(/ bin / sh),netd(bin / netd),...然后它启用adb并完成他的工作。

所以我的结论是,我需要使用未经修改的Linux内核并为odroid-s修改它,并将该内核用于我的HelloWorld程序!

我想问的是......我做得对吗? T_T

我现在的目标是让HelloWorld从这款odroid-s设备中脱颖而出......

请有人帮助我。如果有人不明白我写的东西,请告诉我,我会解决它。 感谢阅读....

1 个答案:

答案 0 :(得分:1)

对Linux内核的修改可能与您的目标无关,因此您可以将它们留在原地以简化。

您最大的挑战是输出 - 您想在哪里发送它?如果您的某个设备具有(或者可以使用正确的内核配置)调试串行端口,那么编写由init脚本触发的内容(甚至在脚本中使用'echo')将非常容易。在该端口上输出您的消息。

但是你有可能想在屏幕上放些东西。这将变得非常复杂,并且可能依赖于设备。安卓运行时为实际应用程序执行此操作的方式将比您可能想要进入的更多参与。

更实际的方法可能是查看引导动画的完成方式。对于初学者来说,你可以用一个写着“hello world”的静态图片替换它。一旦你能做到这一点,下一步可能是找到一些字符生成器代码。最后,您可能希望实现滚动和其他类似终端的功能。

作为一种替代方法,有一些更传统的linux用于某些Android设备 - 例如debian或ubuntu。这些可能包括能够在设备屏幕上显示的控制台实现。

另外一个想法是,如果你对你愿意留在设备上的android有多大的灵活性,你可以构建一个版本的android终端模拟器示例,修改为主屏幕替换。您可能能够删除许多Android组件(最终包括默认主屏幕)。或者在安全设备上(即大多数尚未植根的消费者设备),您只需更换主屏幕,同时保持实际系统不被修改。对于想要运行其他内容的用户来说,这不安全,但通常用户只会与您的代码进行交互。