开发者

howto replace android with another distribution

I bought a very weak netbook that comes preinstalled with android 2.0 which I want to replace with another linux distro like puppy or damnSmallLinux.

the netbook has no bios menu with "boot from SD card" option so that and when I inserted an SD card or USB key with grub/lilo it still didn't bot from it.

I wasn't able to find no key sequence to enter android debugging mode so that I don't have root for the android system.

  1. is there an android-internal way to specify boot from another media?
  2. is there a "das-uboot" way to force andro开发者_运维技巧id boot from another device?

thanks!


I'm not familiar with netbooks running android so here's my experience with embedded devices.

To my best knowledge there is no "android-internal" way. Android takes over after u-boot and rarely(read never) does it modify to u-boot environment partition.

To cut the long story short it's nearly impossible and it's too much effort for nothing. Also for starters You'll need a debug serial console attached to the board or an ADB shell. It's just guess work without a shell.

For a general algorithm:

  1. get a shell working
  2. Get to know the system( cpu type, partition table, ...)
  3. Now just research what you can do with the things you know.

Or the 'all or nothing' - reverse engineer the firmware upgrade and the firmware images and try to boot with your own.

Long story:

For sd_card boot you have 2 options:

  1. use the bootloaders on the board and load the kernel and the rootfs from the sdcard
  2. boot from sd_card

Load kernel and fs from sd_card:

There is no general u-boot way to change the boot device without changing the u-boot environment . The u-boot environment most of the time resides in a nand partition. There may be some way coded by the manufacturer, which may be guessed by the offline firmware upgrade procedure. This is probably your best bet for a quick solution. Try to reverse engineer that.

Boot From sd_card:

Most platforms have SYSCONFIG registers or hardware pins, operated by jumpers on development platforms and mostly hardwired on production ones. SYSCONFIG controls the boot devices. It can be configured for NAND only or SD_CARD only, etc...

If the system is indeed configured to load from an sd_card there are a few more problems:

  • Some of the times the SD card has to be formated in a specific way(for ex: http://www.omappedia.org/wiki/SD_Configuration ).
  • Other times the first stage loader has to be signed. And it's hard figuring out what the first stage bootloader is (x-loader, or something other) and the signing part is kind of tricky :)
  • you have to know the exact platform configuration to build u-boot and x-loader
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜