I'm currently building a custom cyanogen port (CM 12.1) for a china phone (Mann Zug 5S for that matter). I've been able to build a working recovery and I've been able to build a ROM. The ROM installed fine so far, but as it gets to booting, I'm stuck before the boot animation begins. Only a static image is displayed.
I tried to find some information via /proc/last_kmsg (in CWMR), but I did not find any differences to the output with a working stock ROM.
I'd very grateful for any ideas or hints where to look and what to try to narrow down the issue.
Best regards,
Phil
I'm stuck in the same issue. During the boot can you access to logcat with
adb logcat or can you see your device in adb devices?
The problem is that without logcat we cannot log the boot process in order to see what goes wrong!
I suggest you to check also these logfiles, if you have them:
/cache/recovery/last_log
/proc/kmsg
/dev/log
Other hints if you are using a stock kernel image:
Did you import every proprietary libraries (.so files in /system/lib and /system/vendor/lib folders)?
Did you import proprietary executables (in /system/bin)?
Did you import every other vendor files you think can be involved in the boot process (in /system/vendor and other folders)?
I'm trying this roadmap to get my rom booting. I hope it helps
Related
I have fully unlocked the Samsung device and I have downloaded the Kernel sources from the Samsung open-source site. I have built the kernel fine with instructions are given in the README_Kernel.txt file included in the source code.
I get the build output at out/arch/arm64/boot/Image.
I have also downloaded the firmware of the device from samfrew: G977PVPU2ASH6
I have extracted the boot.img of the downloaded firmware and patched the Image using AIK-Linux-v3.6
When I have flashed(with Odin v3.14) it then it's failed and stuck on Splash Screen(with information about phone status showing on it which I generally see in the download mode.) as following:
This is the first time, I have built a kernel fine and get output. I have fixed the device by flashing the original boot.img from the downloaded firmware.
I want to understand why the kernel built from the source code failed to flash. I know a few reasons like:
The possibility of Samsung doesn't share the full code because of proprietary reasons.
Wrong toolchain.
How exactly, someone can determine the problem?
Any help/suggestion?
Try G977PVPS3BTA1. The other ones are not labeled QQ, and you have Qualcomm chipset, as seen from the model number and the Qualcomm SecureBoot text at the boot screen. The triangle means custom firmware has been loaded and it might need to be restored with Kies.
Shame on me if I am wrong.
[EDIT: Edited "Snapdragon" to "Qualcomm chipset"]
I am adding another answer because this one is completely different than the other one.
I just found out that Qualcomm locks the bootloader ENTIRELY.
So not only OEM unlocking needed, you need to sign your bootloader in a way that Qualcomm Secure Boot does not get in your way.
You still have to use code I posted on my other reply, but, with the addition of signing.
There is an link on explaining how it works:
https://www.timesys.com/security/secure-boot-snapdragon-410/
[Ignore the old Snapdragon, it is the same Qualcomm Secure Boot thing]
Shame on me if I am wrong.
[EDIT: Official documentation!
https://www.qualcomm.com/media/documents/files/secure-boot-and-image-authentication-technical-overview-v2-0.pdf]
In Windows, are there some command lines that would make the machine understand that Android should be the next boot (for one boot only -so once I reboot from Android I fall back into Windows)?
I am working on a notebook ASUS X200CA, UEFI-based machine, dualboot: Windows 8.1 and Android 7.1 (two different partitions).
When Android is installed, I get Grub2, so at reboot I can manually choose between Windows or Android. However, I want to be able to switch OS programmatically.
Basically, I am looking for the equivalent of Linux - efibootmgr -n xxxx or grub-reboot x before using reboot - that I could implement on Windows.
I tried to use bcdedit /enum firmware to check the ID associated to Android then ran bcdedit /bootsequence {ID}. At reboot, this led to an error like:
File: \efi\Android\BOOTx64.EFI Status:0xc000000d Info: The application
or operating system couldn't be loaded because a required file is
missing or contains error
(NB: secure boot disabled, fastboot disabled)
I tried to use EasyBCD, but since this is an UEFI-based machine I
didn't get very far.
I added Android to Windows Boot Loader using BOOTMGR, restarted, got
to Windows Boot Loader, found the Android option, manually picked it
and got the same error message (see above).
I tried Grub2win, you can modify the EFI boot order with it, but it
seems that it's not for one boot only.
I know that some tablets dual boot Windows-Android have wintoand.exe that allows to switch but I am not sure what's behind. Moreover, I would prefer to not have to use any software: I want to know what command lines can achieve what I need.
If you have some ideas of how to solve this or anything to read that could guide me, Thanks for sharing in advance!
I believe Grub2Win has the function you are looking for. Documentation will be found in the Grub2Win help under keyword Reboot.
The command format is:
C:\grub2\grub2win reboot x
where x is the menu selection number. This can be run from the Windows command line or a .bat file.
You will receive a message that the reboot has been scheduled.
If you wish to cancel a previously scheduled reboot, use this command:
C:\grub2\grub2win reboot none
Hope this helps.
Dave
This is hands-down the most esoteric question I've ever posed on this site, but here goes:
Following the instructions on Cyanogen Mod's site I was able to make it as far as flashing the linked recovery image.
However, now that I've done that, Ubuntu no longer recognizes or mounts the device, so I can't proceed to the next step.
I'm at a loss as to what to do at this point, so any advice would be appreciated.
Add your device's vendorId to home/.android/adb_usb.ini file and then restart the adb server. If that doesn't works, please reboot your system and connect your device to a different port and check. Hope it solves your problem.
I've bought a tablet recently. It's a SysTrade's Plug 10.1 (Chinese product of local company). It features a reasonable CPU and quite nice GPU, so I thought it would be great to hardware debug my applications. However, this feature seems not to work on my device...
At beginning I lacked the required vendor id so after a few phone calls to SysTrade I received one. But that code didn't work. So I've written a small app and got all 2-byte numbers which I copy-pasted to /etc/udev/rules.d/51-android.rules. The problem is that adb still can't see my device. What's important my HTC Wildfire is successfully recognized so rules are written well.
I know none who owns this tablet so I don't have a possibility to check whether all Plugs or only mine are affected. Any ideas would be highly appreciated...
PS. I'm developing on Linux (Ubuntu 12.10).
PS2. When I connect the device to PC it shows that hardware debugging is turned on, but adb doesn't see my device.
I've managed to successfully resolve the issue without rooting the device. The only needed action is to manually add an entry for the device vendorid in ~/.android/adb_usb.ini.
Normally it should be generated based on /etc/udev/rules.d/51-android.rules by android update adb command but it seems that this application failed. What's important, vendorid must be given in hex number specific format, which is: 0x(2-BYTE HEX) for example 0x2207.
Try running adb on root.
If that doesn't work you can still try to root your device(This may void warranty) and use app like adbWifi. I'm using the latter for debugging and it works: I can run my apps on my M-tech aTAB7t.
I am new to Android development and bought a cheap Huawei Sonic (U8650 apparently) so I could test my first attempts at making an app on an actual device.
However, whenever I try to use 'adb logcat' or 'adb shell' then 'logcat' on the device I get:
Unable to open log device '/dev/log/main': No such file or directory
I have already enabled Usb debugging in Settings -> Developer.
I just don't know enough about Android to know if this is something I can even fix.
I have found two other questions with similar problems:
/dev/log/main not found
??-?? ??:??:??.???: INFO/<unknown>(<unknown>): Unable to open log device '/dev/log/main': No such file or directory
...but they both turned out to be using some kind of non standard kernel that had logging disabled. Mine is a stock phone out of the box.
It's a very cheap but snappy Android 2.3 phone, so hopefully it wasn't a total waste of money.
Any help would be greatly appreciated.
Dial this: *#*#2846579#*#*
Service menu will appear.
Go to "ProjectMenu" -> "Background Setting" -> "Log Setting"
Open "Log switch" and set it to ON.
Open "Log level setting" and set the log level you wish.
Reboot the phone.
Open: /system/etc/init.d/××× (not the same file on different ROMs, find the right file)
Find the line that says: rm /dev/log/main
Change the line to: # rm /dev/log/main (comments out the line, rm = remove, in case you were wondering)
Save and reboot
I'm sharing my case and solution:
My cellphone had a jellybean version oriented to performance (To be exact a Slim Bean ROM) with a Semaphore kernel (You can recognize it because when the cellphone is starting, the semaphore logo is shown). These kind of ROM have by default disabled the logging so I had to download the Semaphore Manager application (You can download it from here). After that, in the section "Modules" I had to turn on the Logger option as it is shown in the picture
Restart and the logcat should be working now!
I have actually found an answer for this finally!
I was having another aimless look to see if anything had been updated about this anywhere and came across a post on xda-developers about a slightly different Huawei device with the same problem.
http://forum.xda-developers.com/showpost.php?p=17774398&postcount=93
It actually worked. I have complete logcat logging on my Huawei Sonic (U8650) now.
Three cheers for not giving up.
Solution, copied from the xda (in case it is removed etc):
There is a hidden service-menu where you can set loggin up. The
service-menu is started by "dialing" this phone number:
*#*#2846579#*#*
I have a custom rom on my Samsung Captivate, but my approach may work for others as well:
Open up CMD or Terminal and type:
adb shell
logcat-enable
reboot
The rom I have is Continuum v6.1, but this still may work for others.
If you have the terminal emulator on the phone, you also may be able to do:
logcat-enable
and then just reboot the phone. I didn't try that, but it probably would work too. My phone is also rooted - don't know if that makes a difference.
it was enough to restart the Huawei device
adb shell
reboot
I'm having exactly the same problem.
Someone from xda-developers wrote something as follows in msg #33
http://forum.xda-developers.com/showthread.php?t=1169869&page=4
One of the reason it can't be rooted is this phone had removed the
"Logcat" mechanism from android. So, this makes most of rooting ways
malfunction.
Maybe right maybe wrong i don't know.Anyway it gives some idea about the case.