1

With my android device attached over USB, I entered the following commands:

adb pull /dev/block/by-name/boot ./boot.img
adb reboot bootloader
sudo fastboot boot ./boot.img

and I received this output from fastboot:

downloading 'boot.img'...
OKAY [  0.782s]
booting...

After this, nothing happens. I would expect the stock android system to boot on the device. I don't know where the boot process could have failed, since neither the device, nor fastboot is giving any useful output. My end goal would obviously be to boot modified images, but right now I can't even seem to be able to boot the stock one.

Is this supposed to work generally? If yes, what are some reasons it could have failed? Are there ways to obtain additional useful debugging information?

(My device is a low cost Allwinner A31s based tablet, so I don't expect to find any device specific help on the internet. I can't even find the website of the manufacturer. ro.product.model= Navon_Predator_7, ro.product.device= fiber-wt7028, ro.product.name= fiber_wt7028 [I used getprop in the adb shell to obtain these values.])

The boot image does look like it's in the android mkbootimg format (here are the first few bytes):

00000000: 414e 4452 4f49 4421 a49f 8600 0080 0040  ANDROID!.......@
00000010: 5663 0d00 0000 0041 0000 0000 0000 f040  Vc.....A.......@
00000020: 0001 0040 0008 0000 0000 0000 0000 0000  ...@............
00000030: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000040: 636f 6e73 6f6c 653d 7474 7953 302c 3131  console=ttyS0,11
00000050: 3532 3030 2072 7720 696e 6974 3d2f 696e  5200 rw init=/in
00000060: 6974 206c 6f67 6c65 7665 6c3d 3420 766d  it loglevel=4 vm
00000070: 616c 6c6f 633d 3338 344d 2069 6f6e 5f72  alloc=384M ion_r
00000080: 6573 6572 7665 3d31 3238 4d00 0000 0000  eserve=128M.....
  • It appears to be a valid image, but the tablet didn't boot it correctly. What tablet model is it? – user186920 Nov 13 '17 at 23:36
  • ro.product.model: Navon_Predator_7, ro.product.device: fiber-wt7028, ro.product.name: fiber_wt7028 (I used getprop in the adb shell to obtain these values.) – kuruczgyurci Nov 13 '17 at 23:50
  • This works in some devices and not others... Besides, adb pull is for files, not devices, you should be using dd to save the boot image to a file. – acejavelin Nov 13 '17 at 23:58
  • I tried dd (adb shell dd if=/dev/block/by-name/boot of=/sdcard/boot.img, followed by adb pull /sdcard/boot.img ./), but the problem persists. You are saying that this only works on some devices. What are some other devices where this does not work? Could you point me somewhere where reasons for a fastboot boot failing are discussed? – kuruczgyurci Nov 14 '17 at 0:11
  • First, it will require an unlocked bootloader. If that isn't the issue I can tell you that many Samsung and HTC devices do not allow this, but by contrast most Nexus/Pixel and Moto devices do allow it if their bootloader is unlocked. – acejavelin Nov 14 '17 at 0:46
0

This does not exactly answer the original question, but since I managed to brick my bootloader in the meantime, this is what I ended up doing, and it might be useful for someone else in the future:

Allwinner SOCs have a built in Boot ROM, and it supports various modes, so these devices are virtually unbrickable. In particular, it supports a so called FEL mode (http://linux-sunxi.org/FEL) which can be used to boot the device over USB. I nice open-source tool has been written that can communicate with the device in this special mode (http://linux-sunxi.org/Sunxi-tools#sunxi-fel). Using this, you can boot your own bootloader. (And with that, you can boot your own kernel, etc.) The linux-sunxi.org website has very detailed instructions regarding Allwinner SoC devices, so I recommend that you check out their other articles as well.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.