我购买了一个非常弱的上网本,该上网本已预装为Android 2.0,我想用另一个Linux发行版(如Puppy或Damnsmalllinux)代替。

上网本没有带有“ SD卡启动”选项的BIOS菜单,因此当我使用grub/lilo插入SD卡或USB键时,它仍然没有从中启动。

我找不到进入Android调试模式的关键序列,因此我没有Android系统的根源。

  1. 是否有一种从其他媒体指定引导的Android内部方法?
  2. 是否有一种“ DAS-UBOOT”的方法可以从另一个设备强制Android启动?

谢谢!

有帮助吗?

解决方案

我不熟悉运行Android的上网本,所以这是我在嵌入式设备方面的经验。

据我所知,没有“ Android内部”方式。 Android接管了U-Boot之后,很少(阅读)将其修改为U-Boot环境分区。

简而言之,这几乎是不可能的,而且一无所有。同样,对于初学者,您还需要附加在板或ADB外壳上的调试串行控制台。这只是猜猜没有外壳的工作。

对于一般算法:

  1. 让外壳工作
  2. 了解系统(CPU类型,分区表,...)
  3. 现在,只需研究您所知道的事情。

或“全部或没有” - 反向工程固件升级和固件图像,并尝试使用自己的启动。

很长的故事:

对于SD_Card靴子,您有2个选项:

  1. 使用板上的引导加载器,然后从sdcard加载内核和rootfs
  2. 从SD_Card引导

加载内核和SD_CARD的FS:

没有更改U-Boot环境的情况下,没有一般U-Boot更改引导设备的方法。大多数时候,U-Boot环境都存在于NAND分区。制造商可能会有某种方式编码,这可能是由离线固件升级程序猜测的。对于快速解决方案,这可能是您最好的选择。尝试对此进行反向工程。

sd_card的引导:

大多数平台都有SYSCONFIG寄存器或硬件引脚,由跳台在开发平台上操作,并且大多是在生产平台上进行的。 Sysconfig控制引导设备。它只能为NAND配置或仅SD_CARD,等等...

如果确实将系统配置为从SD_CARD加载,则还有一些问题:

  • 在某些时候,必须以特定方式形成SD卡(对于Ex: http://www.omappedia.org/wiki/sd_configuration ).
  • 其他时候,必须签署第一阶段加载程序。很难弄清楚第一阶段引导加载程序是什么(X-Loader或其他内容),而签名零件很棘手:)
  • 您必须知道要构建U-Boot和X-Loader的确切平台配置
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top