03-29-2012, 06:20 PM
|
#114
|
Carpe diem, c'est la vie.
Posts: 6,433
Karma: 10773668
Join Date: Nov 2011
Location: Multiverse 6627A
Device: K1 to PW3
|
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
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: https://www.mobileread.com/forums/sho...d.php?t=170929
Last edited by geekmaster; 03-30-2012 at 02:45 PM.
|
|
|