View Single Post
Old 04-13-2012, 05:16 AM   #159
geekmaster
Carpe diem, c'est la vie.
geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.
 
geekmaster's Avatar
 
Posts: 6,433
Karma: 10773668
Join Date: Nov 2011
Location: Multiverse 6627A
Device: K1 to PW3
Quote:
Originally Posted by TCCPhreak View Post
If fastboot is in the u-boot-image, shouldn't it be impossible to ever damage it? Kernel and partitions are on the mmc but isn't u-boot somewhere else entirely?
There are multiple u-boot images. The small u-boot fits in the iMX50 SoC internal RAM, but is missing features like bist and fastboot. The large u-boot must be loaded into SDRAM, but this requires that the memory be initialized first, and that will only happen when it is NOT in low-power (100mA) mode that functions mainly as a battery charger. After SDRAM is initialized, then the large u-boot with bist and fastboot can be loaded into it, using a multi-stage bootloader process.

We *should* be able to build custom u-boot images that contain fastboot, and load them with MfgTool, provided we develop the custom MfgTool profiles to do this. With MfgTool, we can also boot custom linux kernels and totally custom code (perhaps even Android OS) completely over the USB cable (not using mmc).

Anyway, using the fastboot MfgTool profile, the SMALL u-boot is loaded over USB, and it then loads the large u-boot with bist and fastboot from mmc. So if you erased or corrupted the part of your mmc that contains the fastboot code, you either need to use the serial port (like Rastik did), or use MfgTool with a custom profile that has not been created yet.
Quote:
Originally Posted by TCCPhreak View Post
Update:
found the answer in your post
https://www.mobileread.com/forums/sho...30&postcount=8
"uboot is usually stored in a small i2c or spi memory device".. So until I start messing with I²C, fastboot, uboot and bist should be safe..
I post things as I am learning them. That statement was about GENERIC devices that use u-boot -- not the kindles. As it turns out, the kindles has a special mmc device that maps the first 1KB into the CPU memory address space at power on, and this is where the small u-boot lives in the mmc. These CPU SoC chips have a number of places they look for a bootloader, and the first 1KB of mmc is one of them, which is used here.
Quote:
Originally Posted by TCCPhreak View Post
Perhaps I could compile a new kernel (or patch some files in the partition) to workaround this stuff (similar to the xbox-linux-kernel preventing pci scans), but if the Kindle boots into a diags without problems, the mmc seems to be fine and simply restoring it shouldn't change anything.
If you can boot diags, you could probably use dd to copy u-boot and kernel images to the correct SEEK offset in /dev/mmcblk0, but I have not tried that. It is easier with fastboot. You would need the write seek offsets for dd, or you could also corrupt your diags bootloader, making even that go away...

Look up in the forum how Rastik recovered from erasing his entire mmc, by using the serial port. I think it was in the early kindle touch posts.


Last edited by geekmaster; 04-13-2012 at 05:27 AM.
geekmaster is offline   Reply With Quote