![]() |
#1 |
Time Waster
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 422
Karma: 289160
Join Date: May 2011
Device: Kobo Glo and Aura HD
|
Backporting firmware 4.0.1 on Kindle 3 - in progress
I'm currently trying backporting some stuff (ideally everything) from update 4.0.1 to 3.3. I'm creating this topic to share my experience and ask questions when I find difficulties, and maybe finding someone willing to help
![]() Current status: Nothing works ![]() I found out that replacing all files under /opt (and touching nothing else) breaks Yifan Lu's custom recovery (eg. after that, only FAT filesystem gets exported over usb), so it becomes quite difficult getting back to a working system. I have to find out what is causing this failure before trying more extensive modifications. With only those files moved, trying to start framework I get this error: Code:
110731:053038 cvm[12267]: java.lang.ExceptionInInitializerError 110731:053038 cvm[12267]: at java.lang.Class.runStaticInitializers(Class. java:1625) 110731:053038 cvm[12267]: at com.amazon.ebook.framework.impl.device.mario .i.<init>(rdd:163) 110731:053038 cvm[12267]: at com.amazon.ebook.framework.impl.device.mario .i.aWb(rdd:124) 110731:053038 cvm[12267]: at com.amazon.ebook.framework.impl.Framework.st art(mfd:494) 110731:053038 cvm[12267]: at com.lab126.linux.arm.AbstractServiceProvider .RoA(kkb:230) 110731:053038 cvm[12267]: at com.lab126.linux.arm.YoshiServiceProvider.ma in(reb:124) 110731:053038 cvm[12267]: at sun.misc.CVM.runMain(CVM.java:538) 110731:053038 cvm[12267]: Caused by: java.lang.StringIndexOutOfBoundsException: String index out of range: 5 110731:053038 cvm[12267]: at java.lang.String.substring(Compiled Method)( String.java:1676) 110731:053038 cvm[12267]: at com.lab126.linux.arm.jb.Jb(jgb:284) 110731:053038 cvm[12267]: at com.amazon.ebook.framework.impl.b.c.<clinit> (scd:280) 110731:053038 cvm[12267]: at java.lang.Class.runStaticInitializers(Class. java:1604) |
![]() |
![]() |
![]() |
#2 |
Kindle Dissector
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 662
Karma: 475607
Join Date: Jul 2010
Device: Amazon Kindle 3
|
Try writing ALL files, not just /opt. There are many new system binaries and startup scripts. Then, to use the old kernel, copy /lib/modules from 3.3. Then it would be 98% working if not 100%. If you look at my Kindle 3.2 updater script, you can see that running 3.2 on the Kindle 2 only took 2 extra folders + modules and one patch to an existing file (to get framebuffer working). So 4.0 shouldn't be that bad.
P.S: I've said this in the other thread, but it's physically impossible to "break" the recovery kernel by only touching /opt. No operating system files are in /opt (just amazon's Java framework app that acts as the GUI). In addition the recovery script is in the kernel which cannot be modified without reflashing. That's like saying by deleting a word document, you broke the BIOS. EDIT: I'll do this if I have time, but I think the only thing you need to do to get 4.0.1 working on Kindle 3 without backporting the kernel is: 1) Backup /lib/modules 2) Backup /etc/kdb.src/luigi 3) Backup /usr/lib/libdtp_module.so, /usr/lib/libdtp_module.so.0, and /usr/lib/libdtp_module.so.0.1 if you want 3G (.so, and .so.0 are links to .so.0.1) 4) Reflash rootfs with the 4.0.1 rootfs using dd. If the FS is larger then the Kindle 3 one, just rsync or cp -a all the files. Remove TTS if you don't have enough space. 5) Restore the files you backed up. I'm like 99.9% sure this will work for the Kindle 3. Then you can run the updater script I wrote on the Kindle 2 if you want it there too. (With modifications to recognize 4.0.1 of course). If this doesn't work, post the logs. Again, I'd do this if I had the time. Last edited by yifanlu; 11-02-2011 at 05:02 PM. |
![]() |
![]() |
Advert | |
|
![]() |
#3 |
Time Waster
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 422
Karma: 289160
Join Date: May 2011
Device: Kobo Glo and Aura HD
|
I tried again and this time recovery worked ok, I'm really not sure what happened last time. Now that I have a bit more of a safety net I'll try go further, just to be safer, what files should I keep in place to have usbnetwork working? The fear of bricking is quite high since I don't have a serial cable :P
|
![]() |
![]() |
![]() |
#4 |
wannabe developer
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 192
Karma: 156548
Join Date: Mar 2011
Device: Kindle: 2xKeyboard, Classic, 2xTouch, 2xPW, PW2; Onyx: Boox M92
|
Having installed custom kenrel you don't need to worry about bricking kindle, you'll need serial cable only when you're going to cook your own kernel based on K4.
|
![]() |
![]() |
![]() |
#5 | |
Kindle Dissector
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 662
Karma: 475607
Join Date: Jul 2010
Device: Amazon Kindle 3
|
Quote:
|
|
![]() |
![]() |
Advert | |
|
![]() |
#6 | |
Time Waster
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 422
Karma: 289160
Join Date: May 2011
Device: Kobo Glo and Aura HD
|
Quote:
edit: Maybe the reason this isn't working is that I copied those over using nautilus as root (under ubuntu). That's also the way I backed up original files and replacing those back is not working. I'm panicking a little. I made a proper backup time ago using sir alex' package: http://www.siralex.info/2011/03/17/kindle-3-backup/ how do I restore those from recovery please? Last edited by giorgio130; 11-04-2011 at 03:17 PM. |
|
![]() |
![]() |
![]() |
#7 | |
Kindle Dissector
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 662
Karma: 475607
Join Date: Jul 2010
Device: Amazon Kindle 3
|
Quote:
|
|
![]() |
![]() |
![]() |
#8 |
Time Waster
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 422
Karma: 289160
Join Date: May 2011
Device: Kobo Glo and Aura HD
|
I've restored it using cp -a, thanks. I'll try again keeping permissions in place.
EDIT: still not booting. that's what I did: sudo tar -xpf rootfs_4.0.1.tar.gz -C 4.0.1/ (-p to preserve permissions) sudo cp -a /home/giorgio/Scaricati/4.0.1/. /media/8aa0fe1a-7eb8-4f86-8f59-19fb11b72e86/ sudo cp -a /home/giorgio/Kindle/backup/lib/modules/. /media/8aa0fe1a-7eb8-4f86-8f59-19fb11b72e86/lib/modules/ sudo cp -a /home/giorgio/Kindle/backup/etc/kdb.src/. /media/8aa0fe1a-7eb8-4f86-8f59-19fb11b72e86/etc/kdb.src/ I didn't care for 3g as my kindle is wifi only. As before I can't see any log. Last edited by giorgio130; 11-05-2011 at 07:08 AM. |
![]() |
![]() |
![]() |
#9 |
wannabe developer
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 192
Karma: 156548
Join Date: Mar 2011
Device: Kindle: 2xKeyboard, Classic, 2xTouch, 2xPW, PW2; Onyx: Boox M92
|
Same here, rsync, cp -a, even dd causes kindle to freeze at "please wait a moment blah blah blah" screen.
I need to fix my serial cable... |
![]() |
![]() |
![]() |
#10 |
Time Waster
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 422
Karma: 289160
Join Date: May 2011
Device: Kobo Glo and Aura HD
|
Maybe there's no binary compatibility between the two CPUs?
|
![]() |
![]() |
![]() |
#11 |
Kindle Dissector
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 662
Karma: 475607
Join Date: Jul 2010
Device: Amazon Kindle 3
|
What's the serial output when booting up?
|
![]() |
![]() |
![]() |
#12 | |
wannabe developer
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 192
Karma: 156548
Join Date: Mar 2011
Device: Kindle: 2xKeyboard, Classic, 2xTouch, 2xPW, PW2; Onyx: Boox M92
|
Here you go :
Quote:
|
|
![]() |
![]() |
![]() |
#13 |
Time Waster
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 422
Karma: 289160
Join Date: May 2011
Device: Kobo Glo and Aura HD
|
I'll try keeping the old /bin/init, /sbin/init and /etc/init, it seems it breaks there... Otherwise I think we'll have to backport the kernel.
|
![]() |
![]() |
![]() |
#14 |
Kindle Dissector
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 662
Karma: 475607
Join Date: Jul 2010
Device: Amazon Kindle 3
|
No. I had the same problem initially porting k3 to k2, but I forgot what the problem and solution was, lol.
|
![]() |
![]() |
![]() |
#15 |
wannabe developer
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 192
Karma: 156548
Join Date: Mar 2011
Device: Kindle: 2xKeyboard, Classic, 2xTouch, 2xPW, PW2; Onyx: Boox M92
|
Isn't this error connected with kernel ? It tries to access NULL address...
edit: Okay, I see; it's mxc_keyb module what causes kp. I'll recompile kernel using new version from 2.6.31 sources. Last edited by seaniko7; 11-10-2011 at 06:44 AM. |
![]() |
![]() |
![]() |
|
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
[Progress] Jailbreaking Kindle 4.0 (Touch/No Keyboard) | yifanlu | Kindle Developer's Corner | 434 | 04-22-2016 10:29 AM |
How's Progress? | ghostyjack | EPUBReader | 2 | 01-30-2011 05:14 AM |
progress unavailable? | jacktanner | Calibre | 2 | 08-27-2010 05:13 PM |
Enhancements in progress??? | crutledge | Sigil | 5 | 06-15-2010 02:14 PM |
Novel in Progress | plumboz | Writers' Corner | 10 | 12-11-2009 12:03 AM |