View Single Post
Old 03-29-2012, 06:20 PM   #114
geekmaster
Всё гениальное просто.
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: 5,070
Karma: 6789001
Join Date: Nov 2011
Location: Щедрость не имеет пределов.
Device: *.*
UPDATE: Added missing "skip" option to "dd" commands, and updated kernel download links in first post.

EDIT: I show how I do what I do, as below, so that others may learn how to do as I do. Even if I did not provide these images, others could by using these methods. Hopefully, you can use these methods to solve OTHER problems as well. Good luck, enjoy and learn!
Quote:
Originally Posted by murz_07 View Post
Hi again.
CAN ANYBODY PLEASE get main kernel image and post it here?
I really need it!
Yes... I am working on it... What model kindle and what firmware version? I have too much going on right now to look through old posts for it. It would help a LOT if required details were supplied with each request.

Tested on touch 5.0.4:
Code:
[root@kindle us]# hexdump -C -n$((32768*1024)) /dev/mmcblk0|grep -B2 "Linux-"
00041000  27 05 19 56 69 ce dd f4  4f 44 58 1d 00 4d ab 40  |'..Vi...ODX..M.@|
00041010  70 00 80 00 70 00 80 00  b4 3c c1 c3 05 02 02 00  |p...p....<......|
00041020  4c 69 6e 75 78 2d 32 2e  36 2e 33 31 2d 72 74 31  |Linux-2.6.31-rt1|
--
00e41000  27 05 19 56 69 af 75 1f  4e b2 dc 2a 00 4e 2a 00  |'..Vi.u.N..*.N*.|
00e41010  70 00 80 00 70 00 80 00  42 2f b5 70 05 02 02 00  |p...p...B/.p....|
00e41020  4c 69 6e 75 78 2d 32 2e  36 2e 33 31 2d 72 74 31  |Linux-2.6.31-rt1|
[root@kindle us]#
The length of the main kernel image is 0x004dab40 = 5,090,112 (the last 4 bytes of the first line). (5090112+1023/1024) = 4971 1K blocks. So, we should be able to use:

dd if=/dev/mmcblk0 of=/mnt/us/kernel.img bs=1K count=4971 skip=$((0x41000/1024))

or

dd if=/mnt/us/mmbclk0.img of=/mnt/us/kernel.img bs=1K count=4971 skip=$((0x41000/1024))

The second linux kernel found is the diags kernel, which boots the diags partition. Of course, the lengths shown above may be different for other firmware versions, and the offsets may be different for different kindle models. I will check into it...

Tested on K4 4.0.1:
Code:
[root@[192_168_15_244] us]# hexdump -C -n$((32768*1024)) /dev/mmcblk0|grep -B2 "Linux-"
00041000  27 05 19 56 ee 89 78 6d  4e 7c 0c 6f 00 48 a5 40  |'..V..xmN|.o.H.@|
00041010  70 00 80 00 70 00 80 00  04 f9 5a 54 05 02 02 00  |p...p.....ZT....|
00041020  4c 69 6e 75 78 2d 32 2e  36 2e 33 31 2d 72 74 31  |Linux-2.6.31-rt1|
--
00e41000  27 05 19 56 2a 4a 2e 2c  4e 61 8a 64 00 4e 29 80  |'..V*J.,Na.d.N).|
00e41010  70 00 80 00 70 00 80 00  ab 66 60 c5 05 02 02 00  |p...p....f`.....|
00e41020  4c 69 6e 75 78 2d 32 2e  36 2e 33 31 2d 72 74 31  |Linux-2.6.31-rt1|
[root@[192_168_15_244] us]#
The length of the main kernel image is 0x0048a540 = 4,724,032. (4724032+1023/1024) = 4614 1K blocks. So, we should be able to use:


dd if=/dev/mmcblk0 of=/mnt/us/kernel.img bs=1K count=4614 skip=$((0x41000/1024))

or

dd if=/mnt/us/mmbclk0.img of=/mnt/us/kernel.img bs=1K count=4614 skip=$((0x41000/1024))



Kernel image files extracted using dd commands shown above were added to the first post in this thread: http://www.mobileread.com/forums/sho...d.php?t=170929


Last edited by geekmaster; 03-30-2012 at 02:45 PM.
geekmaster is offline   Reply With Quote