![]() |
#1 |
Member
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 24
Karma: 7124
Join Date: Feb 2012
Device: KT
|
DO NOT try to update your kindle after debricking your kindle
simple kindle touch (and k4nt) debricking method
https://www.mobileread.com/forums/sho...d.php?t=170929 Before my kindle bricked I used firmware 5.0.3. I used this method to debrick my kindle and it succeeded. But my firmware version is 5.0.0 now. Now I tried to update it to 5.0.3. But when it finished my kindle bricked again. I analyzed the update package and found these. logmsg "I" "fl_kl1" "partition=/dev/mmcblk0" "flashing kernel" BLOCK_SIZE=1024 KERNEL_OFFSET=266240 KERNEL_SEEK=$(( ${KERNEL_OFFSET} / ${BLOCK_SIZE} )) KERNEL_COUNT=$(( 5111808 / ${BLOCK_SIZE} )) mkdir -p imx50_yoshi echo "dd out kernel via \"dd if=/dev/mmcblk0 of=imx50_yoshi/uImage-current skip=${KERNEL_SEEK} bs=${BLOCK_SIZE} count=${KERNEL_COUNT}\"" dd if=/dev/mmcblk0 of=imx50_yoshi/uImage-current skip=${KERNEL_SEEK} bs=${BLOCK_SIZE} count=${KERNEL_COUNT} bspatch imx50_yoshi/uImage-current imx50_yoshi/uImage uImage.patch dd if=imx50_yoshi/uImage of=/dev/mmcblk0 seek=${KERNEL_SEEK} bs=${BLOCK_SIZE} I think it means that your kernel WILL BE PATCHED TWICE. Now my touch is bricked because of the wrong kernel. And I need a kernel dump. I hope that somebody could provide me a copy. And those who want to try this debricking method, please do not try to update your kindle after debricking. |
![]() |
![]() |
![]() |
#2 |
Carpe diem, c'est la vie.
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 6,433
Karma: 10773668
Join Date: Nov 2011
Location: Multiverse 6627A
Device: K1 to PW3
|
You should have updated to 5.0.4, which does not patch stuff.
You can reflash a 5.0.0 kernel with fastboot, to match the 5.0.0 partition. Or you can flash a newer kernel to match a newer partition. Again... update to 5.0.4 and not 5.0.3 ( a lot of kindles bricked during a 5.0.3 update ). |
![]() |
![]() |
Advert | |
|
![]() |
#3 | |
Member
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 24
Karma: 7124
Join Date: Feb 2012
Device: KT
|
Quote:
And maybe provide different images from 5.0.0/5.0.1/5.0.3/5.0.4 for those who needs debrick is a better choice. Call "dd if=/dev/mmcblk0 of=/mnt/us/uImage skip=260 bs=1024 count=4992" to dump kernel. Now I cannot boot. So I cannot update my device using OTA package. Last edited by wsxhwyy; 03-09-2012 at 05:42 AM. |
|
![]() |
![]() |
![]() |
#4 | |
Carpe diem, c'est la vie.
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 6,433
Karma: 10773668
Join Date: Nov 2011
Location: Multiverse 6627A
Device: K1 to PW3
|
Quote:
I need some sleep before I strip out any images. I tried one for the k4 but messed up. It is almost 5am here and I have work in the "morning". ;-( These things take time and I already burned several hours making firmware images for people. EDIT: 5.0.4 is mostly just a kernel update, and it provides a full kernel image (not patches). Very little change to the main partition. So if you install a 5.0.0 kernel and 5.0.0 main partition, it should upgrade to 5.0.4 fine. In fact, 5.0.4 should upgrade fine even if the main partition and kernel are not matching versions (unless 5.0.1, 5.0.2, or 5.0.3, which contained patches and could potentially cause problems during an update). They *should* have done a CRC check though to prevent double patching, but perhaps that code was not well-tested (or according to your analysis, may not even have EXISTED)... Just be patient and you will get your 5.0.0 kernel image (and perhaps a 5.0.4 kernel image too). Last edited by geekmaster; 03-09-2012 at 05:57 AM. |
|
![]() |
![]() |
![]() |
#5 | |
Member
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 24
Karma: 7124
Join Date: Feb 2012
Device: KT
|
Quote:
|
|
![]() |
![]() |
Advert | |
|
![]() |
#6 | |
Going Viral
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 17,212
Karma: 18210809
Join Date: Feb 2012
Location: Central Texas
Device: No K1, PW2, KV, KOA
|
Quote:
You should be able to report on the various header values of interest with 'od' (man: od) if there isn't already a tool for the purpose ('file' might 'just do it'). Of course you'll need to look-up the proper offsets to report in the u-boot *.h files. This should allow you to make checks on any u-boot wrapped, kernel image, before you try to 'copy device' it to storage media. Interesting things, like: Will it fit? ![]() ![]() "copy device" goes by the name 'dd' because the name 'cd' was already in use for a recognized purpose when "copy device" was written. So author just bump'd the first letter of the name one character. |
|
![]() |
![]() |
![]() |
#7 | |
Carpe diem, c'est la vie.
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 6,433
Karma: 10773668
Join Date: Nov 2011
Location: Multiverse 6627A
Device: K1 to PW3
|
Quote:
The Linux Kernel (and other) flash partitions each contain a flash header that is very different from the "plug-in" flash header, and these flash headers serve a different purpose. They include the length of the kernel, and although I have not studied their layout, it appears that they may also contain a CRC32 of the partition. This explains why fastboot CRC partition checks fail after the partition contents have changed. Writing to a mounted mmc filesystem does not update the flash header CRC. Likewise, after a firmware update, the kernel image can also change, invalidating its flash header CRC. The point of my reply is that there are two different things here that are called "flash headers" in the code and documentation, and they are not the same and must not be confused with each other. |
|
![]() |
![]() |
![]() |
#8 | |
Wizard
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 2,075
Karma: 14079267
Join Date: Oct 2007
Location: Almere, The Netherlands
Device: Kobo Sage
|
Quote:
Having worked with JCL in my sordid past, I think it's rather likely; the syntax is certainly similar. |
|
![]() |
![]() |
![]() |
#9 | |
Carpe diem, c'est la vie.
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 6,433
Karma: 10773668
Join Date: Nov 2011
Location: Multiverse 6627A
Device: K1 to PW3
|
Quote:
Does that make me an old-timer? ![]() Last edited by geekmaster; 03-09-2012 at 09:50 AM. |
|
![]() |
![]() |
![]() |
#10 |
Wizard
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 2,075
Karma: 14079267
Join Date: Oct 2007
Location: Almere, The Netherlands
Device: Kobo Sage
|
|
![]() |
![]() |
![]() |
#11 |
Carpe diem, c'est la vie.
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 6,433
Karma: 10773668
Join Date: Nov 2011
Location: Multiverse 6627A
Device: K1 to PW3
|
![]() ddplot UPDATE: Changed "virtual_xres" to "line_length" to for Kindle 3 compatibility. Now that this thread has devolved into a discussion on the dd command, we might say that the "great and powerful" dd can also be used for "unusual" things like this (try it on a k4 or touch): ddplot script code: PHP Code:
And as you may have already seen in the "touchscreen ascii fingerpaint" thread, the hexdump command can similarly be "abused" to read binary touchscreen event device data. But hexdump also supports offsets like dd, so it can read raw binary pixel data, to complement writing pixels with dd above. Who would have thought you could implement GetPixel() and SetPixel() functions in a shell script using only hexdump and dd to process individual bytes of binary data? And yet, it is MUCH faster than plotting graphics with BASIC in the "olden days". Sadistic hobby, eh? ![]() UPDATE: This script calls eips to refresh the eInk display, and dd to write binary pixel data to the framebuffer, and it would need a third external program hexdump to read binary framebuffer pixels and binary touchscreen event data and/or keypress events, if you wish to add such features. See my touchpaint script for an example. CHALLENGE: Who will be the first to implement a C compiler using only sh built-in shell features and the dd external program to output the binary compiled executable program? UPDATE: This post spawned a separate "eink algorithmic art shell scripting" thread here: ![]() Last edited by geekmaster; 10-31-2012 at 02:41 PM. |
![]() |
![]() |
![]() |
#12 | |
Going Viral
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 17,212
Karma: 18210809
Join Date: Feb 2012
Location: Central Texas
Device: No K1, PW2, KV, KOA
|
Quote:
![]() Never trust anyone over 30 or command names over three characters. |
|
![]() |
![]() |
![]() |
#13 |
Carpe diem, c'est la vie.
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 6,433
Karma: 10773668
Join Date: Nov 2011
Location: Multiverse 6627A
Device: K1 to PW3
|
Of course I tried all my options to see which was fastest. od is not in that busybox, as was mentioned in other posts in reply to that same suggestion. You wouldn't happen to be over 30 now, would you?
|
![]() |
![]() |
![]() |
#14 |
Going Viral
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 17,212
Karma: 18210809
Join Date: Feb 2012
Location: Central Texas
Device: No K1, PW2, KV, KOA
|
|
![]() |
![]() |
![]() |
#15 |
Carpe diem, c'est la vie.
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 6,433
Karma: 10773668
Join Date: Nov 2011
Location: Multiverse 6627A
Device: K1 to PW3
|
|
![]() |
![]() |
![]() |
Thread Tools | Search this Thread |
|
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
Original "Simple" debricking methods for K5-Touch, K4-Mini, & K3-Keyboard | geekmaster | Kindle Developer's Corner | 1383 | 06-24-2022 05:03 AM |
Troubleshooting simple kindle touch (and k4nt) debricking method | geekmaster | Amazon Kindle | 0 | 03-02-2012 10:31 PM |
I have a Kindle 3.2.1, should I update to Kindle 3.3? | andrew121 | Kindle Developer's Corner | 2 | 10-22-2011 01:03 PM |
Kindle 2.5 update | alandr | Calibre | 2 | 05-18-2010 09:47 PM |
Firmware Update Kindle 2 update 2.0.2 from 3/19: Force update? | Starhawk | Amazon Kindle | 8 | 03-27-2009 03:50 PM |