View Single Post
Old 09-12-2012, 05:34 PM   #1
twobob
( ͡° ͜ʖ ͡°){ʇlnɐɟ ƃǝs}Týr
twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.
 
twobob's Avatar
 
Posts: 6,586
Karma: 6299991
Join Date: Jun 2012
Location: uti gratia usura (Yao ying da ying; Mo ying da yieng)
Device: PW-WIFI|K5-3G+WIFI| K4|K3-3G|DXG|K2| Rooted Nook Touch
Downgrade Kindle 3.x Kernel to 3.0.2 (on linux k3flasher) to provide forensic 3.3

So... You've installed a custom 3.x Kernel and now they released 3.4...

What are your options?
  • Rollback the modules to a 3.3 clean copy of the files
    (you would need a backup copy, this won't apply to most people)

    Try Update

    if it fails? Maybe you installed a custom kernel (too)?
  • Extract the 3.3 kernel from the official update using Nilujes KindleTool

    Try Update

    if it fails?
  • Remove any random jailbreaks that are ligging around

    Try Update

    if that fails???
  • Roll back to a 3.0.2 and do the complete upgrade steps.
    It is worth noting that this final method also does not flatten your documents just as the others don't

Where can I get a 3.x Kernel Image if I don't have one?

Niluje says:
Quote:
@twobob: ... the 3.3 update (like the 3.4) was a 'full kernel' update, not a patch, so, the full kernel is there for the taking right in the official update package.
However for my exercise in debricking / image extraction I will be using an older kernel and updating. If someone would prefer there is a python script or suite of tools to aid in extraction. ( ./kindle_update_tool.py or the newer Niluje solution) that can be found here on dev corner. https://www.mobileread.com/forums/sho...d.php?t=187880

Quote:
Geekmaster provide links to a pristine 3.0.2W kernel image that can be pushed onto the device via ATK or k3flasher (The 3.3 image was lost in the Gitbrew deaths) http://pastebin.com/Wdw4L7yT
Alas, the one I (and most probably others) need would be a 3.3 [3G + Wifi], but this one is not on the table AFAIK. (unless you extract it from the official update)

Thus rolling back to the 3.0.2 and applying the updates incrementally is a long but safe option. This is a long job and you would probably be better off going Nilujes way

However I will be rolling back and updating:

a) Select your weapons -
Quote:
I have chosen the very excellent k3flasher by hawhill. It's embryonic and but should get the job done in linux. https://www.mobileread.com/forums/sho...d.php?t=184310
Quote:
You might also choose the ATK route, the wiki has a debricking via USB with ATK on windows howto by qlob
b) Get an Image (I'm going for the 3.0.2 Kernel and File system)

c) grab a copy of mx35to2_mmc.bin from the ATK install (you can just install it in wine and grab the file out)

HINT (/home/you/.wine/drive_c/Program Files/freescale/AdvancedToolKit-STD/image/*)

c) Put K3flasher in a listening state
sudo ./k3flasher ./mx35to2_mmc.bin info

d) put your device in USB Downloader mode

Quote:
This MUST work. It is a HARDWARE function that does not use mmc.

Plug into computer USB, press power until LED off (back off a little so you can see the LED status), press Vol-, the release power. It times out after a bit I think, so you need to use k3flasher or ATK soon after the new VID/PID are detected.
me@dev /usr/local/src/k3flasher $ sudo ./k3flasher ./mx35to2_mmc.bin info

Quote:
I: found suitable device
I: read info
I: got size 1048576 (probably wrong)
I: downloading 0x00000200 (=512) bytes, starting at 0x00040c00
I: DO NOT MAKE THE FOLLOWING INFORMATION PUBLIC!
I: if you need to discuss it in public, obfuscate
I: e.g. the second half of the numbers.
I: got device serial number <B006C0D319990Q6P>
I: got device Wifi MAC <29FF099099FF>
Okay we have a connection:

Let's push across the kernel

me@dev /usr/local/src/k3flasher $ sudo ./k3flasher ./mx35to2_mmc.bin program kernel ./k3w-kernel-factory.img

Wait a longish time

Quote:
I: flashed 0x001a0000 (=1703936) bytes
I: flashed 0x001b0000 (=1769472) bytes
I: flashed 0x001c0000 (=1835008) bytes
I: flashed 0x001d0000 (=1900544) bytes
I: flashed 0x001e0000 (=1966080) bytes
I: flashed 0x001f0000 (=2031616) bytes
I: flashed 0x00200000 (=2097152) bytes
I: flashing of 0x00200000 (=2097152) bytes complete
I: writing 0x00007000 (=28672) bytes to address 0x28dc1000, waiting for completion...
I: wrote 0x00007000 (=28672) bytes, waiting for completion...
I: flashing of 0x00007000 (=28672) bytes complete
now the file system

me@dev /usr/local/src/k3flasher $ sudo ./k3flasher ./mx35to2_mmc.bin program rootfs ./mmcblk0p1-3.0.2-factory.img

This will take about 3 hours to cook...
(you charging it though? Right)



Next steps, test this works after a reboot (worked fine for me)

You should see Kindle version 3.0.2 in your Settings Page on the kindle.

MENU -> SETTINGS (in the status bar at the bottom)
(3.0.2 (999999blah) I see this)


FROM THIS POINT YOU ARE GOOD... if you are just trying to get a fixed device just upgrade it now. to whatever version.



MY NOTES NOW CONTINUE

Next up get the various (and correct) Amazon updates for your device:
http://www.amazon.com/gp/help/custom...&tag=pamisl-20


first copy the extracted 3.1 update from link (Update_kindle_3.1_B00x.bin) above to /mnt/us and do a restart from the MENU -> SETTINGS -> MENU -> RESTART


Here's where it gets weird...

Quote:
install 3.1, then 3.3, and then install 3.4
says amazon...

But when I finished installing the Update_kindle_3.1_B006.bin oddly I now see Kindle version 3.3 in my settings page???

I should see Kindle version 3.1 in the Settings Page on the kindle.

MENU -> SETTINGS (in the status bar at the bottom)
(3.3 (999999blah) I see this)

I will attempt to run the GM kernel extraction tool.
Currently trying to figure out if that can be done without a JB.

If I get it done I'll share this on mediafire so that others can simply flash this. Assuming it is actually CORRECT. some brave soul will have to test I guess. Alternately someone with a pristine 3.3 could upload an exported kernel image, this would also fix everyone's problems.


Next steps for me:

Get GM's tool working or figure out the range of addresses to export via k3 flasher. like

sudo ./k3flasher ./mx35to2_mmc.bin dump kernel <length> ./kernel-3.3-factory.img

I don't know length right now sadly, working on it.

Then upgrade to 3.4 - use the extract tool to get 3.4 kernel (Niluje mentioned wanting this perhaps) to prevent this happening next time. Then - time allowing - extract a forensic file-system image as well.

I have ZERO idea how seemingly I managed to upgrade two versions in one step. :¬\ but there you go.

To Be continued...

Hope this helps get us all back on the right path.

Then I'll think about doing a buildroot. Cheers.

(This was post 1000 for me yay )

Last edited by twobob; 02-15-2013 at 01:07 PM. Reason: added freescale hint, added Nilujes updates and notes
twobob is offline   Reply With Quote