02-18-2013, 07:41 PM | #1 |
Going Viral
Posts: 17,212
Karma: 18210809
Join Date: Feb 2012
Location: Central Texas
Device: No K1, PW2, KV, KOA
|
[DEVs] Firmware Summary
Information taken from the archive names in the Amazon posted source file archives, as of 2013/02/16.
Viewable here: http://drpbox.knetconnect.com/firm/ And attached here as a spreadsheet file. BIG NOTE: The final extension (.gz) was added to keep the forum software happy. Just rename the file without the (.gz) extension! A post with a directory of sorts to the collection of initramfs and dot-config files is at: https://www.mobileread.com/forums/sho...5&postcount=23 A post with the summary of kernel module versions, with links to the posts having the module tar-balls is at: https://www.mobileread.com/forums/sho...3&postcount=36 Still lacking a K2 binary to fondle, but .... Our little, "alpha preview" of a module set for all KUAL supported devices. A ready to mount, cramfs image, to mount at: /mnt/us/extensions/system/lib/modules (if you don't have that path - make it) Access to current machines module tree is by the usual: lib/modules/`uname -r` path. The module trees all have the usual depmod files.
Your need to manually remove the trailing ".zip" from the cramfs file. USE A RENAME FUNCTION - even if your zip utility thinks it can open it!! The ".zip" is just to keep the forum software happy. Last edited by knc1; 02-27-2013 at 01:42 PM. |
02-18-2013, 09:02 PM | #2 |
but forgot what it's like
Posts: 741
Karma: 2345678
Join Date: Dec 2011
Location: north (by northwest)
Device: Kindle Touch
|
It'd be nice to see version of libstdc++ in this list (where applicable).
|
02-18-2013, 09:10 PM | #3 | |
Going Viral
Posts: 17,212
Karma: 18210809
Join Date: Feb 2012
Location: Central Texas
Device: No K1, PW2, KV, KOA
|
Quote:
It has been a fairly long 3 days, it may take me a few before I can look at this file of 4 Million + records again without getting sick of it. So anything that might be a basic, system's compatibility, item. EDIT: Would the version of u-boot be useful on that list? Last edited by knc1; 02-18-2013 at 09:16 PM. |
|
02-19-2013, 09:28 AM | #4 |
( ͡° ͜ʖ ͡°){ʇlnɐɟ ƃǝs}Tır
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
|
That is so awesome.
: ) |
02-19-2013, 09:46 AM | #5 |
Going Viral
Posts: 17,212
Karma: 18210809
Join Date: Feb 2012
Location: Central Texas
Device: No K1, PW2, KV, KOA
|
Thank you.
You can see a definite trend to their 'release policy' there. Speculation: Maybe they filled that 'Compliance Officer' position that was open with someone who knows what they are doing. (They never had to ship the sources of the GPL toolchain.) OR We (devs) know what the English translation of the Amazon policy statement: "Amazon does not support customized software." really is, maybe they are just getting very serious about that. The '-lab126' was dropped from the kernel archive name because those contain an archive of the Amazon patches. Nice of them to extract all of their changes for us. The 'eglibc' bundle also contains an archive of Ubuntu patches to the original named version. I also have a list, by firmware release, of every OSS archive named. The one shown on the above page was only a few hundred records, the all-inclusive list is about 9,000. I will have to script up something to translate that one into a table or tables. Expect a delay on that listing. |
02-19-2013, 09:49 AM | #6 |
( ͡° ͜ʖ ͡°){ʇlnɐɟ ƃǝs}Tır
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
|
need time to digest this. all in awesomesauce.
|
02-19-2013, 10:03 AM | #7 | |
Going Viral
Posts: 17,212
Karma: 18210809
Join Date: Feb 2012
Location: Central Texas
Device: No K1, PW2, KV, KOA
|
Quote:
Will fix all of that up when I add libstdc++ and klibc . Three more columns isn't going to hurt that page any and might be useful. |
|
02-19-2013, 10:13 AM | #8 | |
Evangelist
Posts: 404
Karma: 2200000
Join Date: May 2012
Device: kt
|
Interesting summary. Thanks!
Quote:
|
|
02-19-2013, 10:16 AM | #9 | |
Going Viral
Posts: 17,212
Karma: 18210809
Join Date: Feb 2012
Location: Central Texas
Device: No K1, PW2, KV, KOA
|
Quote:
|
|
02-19-2013, 12:24 PM | #10 |
Going Viral
Posts: 17,212
Karma: 18210809
Join Date: Feb 2012
Location: Central Texas
Device: No K1, PW2, KV, KOA
|
K4 Specifics (from the binaries)
K4(main-4.1.0. kernel):
Code:
Linux-2.6.31-rt11-lab126 armv7 vermagic=2.6.31-rt11-lab126 mod_unload ARMv7 /home/jenkins-official/workspace/OFFICIAL-H2-Yoshi/os/linux/linux-2.6.31/drivers/usb/gadget/arcotg_udc.c GCC: (Linaro GCC 4.5-2011.04-0) 4.5.3 20110406 (prerelease) aeabi Check that one for gzip signatures: Code:
core2quad main $ od -A d -t x1 kernel_main_4.1.0 | grep '1f 8b 08 00' | wc -l 47 See: https://www.mobileread.com/forums/sho...8&postcount=14 K4(diags-4.0, kernel): Code:
Linux-2.6.31-rt11-lab126 armv7 vermagic=2.6.31-rt11-lab126 mod_unload ARMv7 /home/build/src/yoshi/diags/hera-DVT1/kernel/linux-2.6.31/dist/drivers/usb/gadget/arcotg_udc.c GCC: (Linaro GCC 4.5-2011.05-0) 4.5.4 20110505 (prerelease) aeabi Cortex-A8 Check that one for gzip signatures: Code:
core2quad diags $ mv diags_kernel.img kernel_diags_4.0.img core2quad diags $ od -A d -t x1 kernel_diags_4.0.img | grep '1f 8b 08 00' | wc -l 20 Continued at: https://www.mobileread.com/forums/sho...5&postcount=18 Last edited by knc1; 02-20-2013 at 12:43 PM. |
02-19-2013, 01:35 PM | #11 |
Going Viral
Posts: 17,212
Karma: 18210809
Join Date: Feb 2012
Location: Central Texas
Device: No K1, PW2, KV, KOA
|
K3 specifics (from binaries)
The K3 kernel is compressed, which makes it a lot more fun - - -
Find the gzip magic number: Code:
core2quad K3 $ od -A d -t x1 main_kernel-3.4.img | grep '1f 8b 08 00' 0013408 68 65 20 6b 65 72 6e 65 6c 2e 0a 00 1f 8b 08 00 Code:
core2quad K3 $ dd if=main_kernel-3.4.img bs=1 skip=13420 of=main_kernel-3.4.gz 2154388+0 records in 2154388+0 records out 2154388 bytes (2.2 MB) copied, 8.9767 s, 240 kB/s Check that you got what you expected: Code:
core2quad K3 $ od -A d -t x1 main_kernel-3.4.gz | grep '1f 8b 08 00' 0000000 1f 8b 08 00 fb 7d 42 50 02 03 9c bd 0d 7c 54 c5 core2quad K3 $ file main_kernel-3.4.gz main_kernel-3.4.gz: gzip compressed data, from Unix, last modified: Sat Sep 1 16:28:27 2012, max compression Uncompress the little sucker: Code:
core2quad K3 $ gunzip main_kernel-3.4 gzip: main_kernel-3.4.gz: decompression OK, trailing garbage ignored Code:
core2quad K3 $ od -A d -t x1 main_kernel-3.4 | grep '1f 8b 08 00' 0098944 1f 8b 08 00 f7 7d 42 50 02 03 bc 5a 0f 6c 14 57 3001360 47 5f 53 54 1f 8b 08 00 f5 7d 42 50 02 03 94 3c The first file: Code:
core2quad K3 $ od -A d -t x1 main_kernel-3.4 | grep '1f 8b 08 00' 0098944 1f 8b 08 00 f7 7d 42 50 02 03 bc 5a 0f 6c 14 57 3001360 47 5f 53 54 1f 8b 08 00 f5 7d 42 50 02 03 94 3c core2quad K3 $ dd if=main_kernel-3.4 bs=1 skip=98944 of=main_kernel-3.4.b.gz 3776904+0 records in 3776904+0 records out 3776904 bytes (3.8 MB) copied, 15.7225 s, 240 kB/s core2quad K3 $ od -A d -t x1 main_kernel-3.4.b.gz | grep '1f 8b 08 00' 0000000 1f 8b 08 00 f7 7d 42 50 02 03 bc 5a 0f 6c 14 57 2902416 47 5f 53 54 1f 8b 08 00 f5 7d 42 50 02 03 94 3c core2quad K3 $ file main_kernel-3.4.b.gz main_kernel-3.4.b.gz: gzip compressed data, from Unix, last modified: Sat Sep 1 16:28:23 2012, max compression core2quad K3 $ gunzip main_kernel-3.4.b.gz gzip: main_kernel-3.4.b.gz: decompression OK, trailing garbage ignored core2quad K3 $ file main_kernel-3.4.b main_kernel-3.4.b: ASCII cpio archive (SVR4 with no CRC) So turn that into a file system tree again, just for the interested (keep in mind, this binary is staticly linked into a GPL binary). Code:
core2quad K3 $ mkdir initramfs-3.4 core2quad K3 $ cd initramfs-3.4 core2quad initramfs-3.4 $ sudo su core2quad initramfs-3.4 # cpio -i -d -m --no-absolute-filenames -I ../main_kernel-3.4.b cpio: Removing leading `/' from member names 2073 blocks So it is utmost importance that you include that: "--no-absolute-filenames" option unless you intend to trash your workstation. What did that give us? Code:
core2quad initramfs-3.4 # ls -l total 28 drwxr-xr-x 2 1004 5000 4096 2013-02-19 13:53 bin drwxr-xr-x 7 root root 4096 2013-02-19 13:53 dev lrwxrwxrwx 1 root root 18 2013-02-19 13:53 init -> /bin/recovery-util drwxr-xr-x 3 1004 5000 4096 2013-02-19 13:53 lib drwxr-xr-x 2 root root 4096 2012-09-01 16:28 proc drwx------ 2 root root 4096 2012-09-01 16:28 root drwxr-xr-x 2 1004 5000 4096 2012-09-01 16:28 sbin drwxr-xr-x 2 root root 4096 2012-09-01 16:28 sys BIG NOTE: There is a way to build a kernel that uses an initramfs file that **DOES NOT** require it to be staticly linked into the kernel binary. Since Amazon chose to give this one away, we will just accept their offer here. The second file: Code:
core2quad K3 $ dd if=main_kernel-3.4 bs=1 skip=3001364 of=main_kernel-3.4.a.gz 874484+0 records in 874484+0 records out 874484 bytes (874 kB) copied, 3.37191 s, 259 kB/s core2quad K3 $ od -A d -t x1 main_kernel-3.4.a.gz | grep '1f 8b 08 00' 0000000 1f 8b 08 00 f5 7d 42 50 02 03 94 3c db 72 db 36 Code:
core2quad K3 $ file main_kernel-3.4.a.gz main_kernel-3.4.a.gz: gzip compressed data, from Unix, last modified: Sat Sep 1 16:28:21 2012, max compression Code:
core2quad K3 $ gunzip main_kernel-3.4.a gzip: main_kernel-3.4.a.gz: decompression OK, trailing garbage ignored That will do for this post. K3(kernel-3.4): Code:
Linux-2.6.26-rt-lab126 armv6 - - - - - # Automatically generated make config: don't edit # Linux kernel version: 2.6.26-rt-lab126 # Sat Sep 1 14:28:21 2012 - - - - - CONFIG_ARCH_MXC=y CONFIG_ARCH_MX35=y CONFIG_SDMA_IRAM_SIZE=0x1000 CONFIG_MX35_OPTIONS=y CONFIG_MACH_MX35_LUIGI=y CONFIG_MACH_LUIGI_LAB126=y CONFIG_PROC_BOOTDATA=y CONFIG_PROC_BOARDID=y CONFIG_ARCH_HAS_RNGC=y CONFIG_ARCH_HAS_EVTMON=y CONFIG_DMA_ZONE_SIZE=24 CONFIG_UTMI_MXC=y CONFIG_MXC_PWM=y CONFIG_CPU_32=y CONFIG_CPU_V6=y CONFIG_CPU_32v6=y CONFIG_CPU_ABRT_EV6=y CONFIG_CPU_PABRT_NOIFAR=y CONFIG_CPU_CACHE_V6=y CONFIG_CPU_CACHE_VIPT=y CONFIG_CPU_COPY_V6=y CONFIG_CPU_TLB_V6=y CONFIG_CPU_HAS_ASID=y CONFIG_CPU_CP15=y CONFIG_CPU_CP15_MMU=y CONFIG_ARM_THUMB=y CONFIG_OUTER_CACHE=y CONFIG_CACHE_L2X0=y CONFIG_TICK_ONESHOT=y CONFIG_NO_HZ=y CONFIG_HIGH_RES_TIMERS=y CONFIG_GENERIC_CLOCKEVENTS_BUILD=y CONFIG_PREEMPT_NONE=y CONFIG_HZ=100 CONFIG_AEABI=y CONFIG_OABI_COMPAT=y - - - - plus a lot more of course - - - - Code:
core2quad K3 $ mv main_kernel-3.4.a dot-config-3.4 core2quad K3 $ gzip dot-config-3.4 Last edited by knc1; 02-19-2013 at 03:37 PM. |
02-19-2013, 03:28 PM | #12 |
( ͡° ͜ʖ ͡°){ʇlnɐɟ ƃǝs}Tır
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
|
Ces't magnifique.
Top job. *set's aside time to digest* |
02-19-2013, 03:54 PM | #13 |
Going Viral
Posts: 17,212
Karma: 18210809
Join Date: Feb 2012
Location: Central Texas
Device: No K1, PW2, KV, KOA
|
|
02-19-2013, 04:31 PM | #14 |
Going Viral
Posts: 17,212
Karma: 18210809
Join Date: Feb 2012
Location: Central Texas
Device: No K1, PW2, KV, KOA
|
Main, Kernel-4.1.0 summary
47? 47!! - Unless those are a lot of "false positives", that kernel will be a lot of fun to take apart!
Deep breath now and hope that is 45 "false positives". Spoiler:
Starting from with the last one: Code:
core2quad main $ od -A d -t x1 kernel_main_4.1.0 | grep '1f 8b 08 00' 3723776 9b 7c 41 c0 49 4b 43 46 47 5f 53 54 1f 8b 08 00 core2quad main $ dd if=kernel_main_4.1.0 bs=1 skip=3723788 of=km-4.1.0-99.gz 1125876+0 records in 1125876+0 records out 1125876 bytes (1.1 MB) copied, 4.28303 s, 263 kB/s core2quad main $ od -A d -t x1 km-4.1.0-99.gz | grep '1f 8b 08 00' 0000000 1f 8b 08 00 32 5c c0 4f 02 03 94 5c 59 6f e3 38 core2quad main $ gunzip km-4.1.0-99 gzip: km-4.1.0-99.gz: decompression OK, trailing garbage ignored core2quad main $ file km-4.1.0-99 km-4.1.0-99: ASCII English text core2quad main $ less km-4.1.0-99 The dot-config for main-4.1.0, thank you Amazon, we will keep it. Code:
core2quad main $ cp km-4.1.0-99 dot-config-main-4.1.0 core2quad main $ gzip dot-config-main-4.1.0 As it occurs to dumb-dumb here to read the config file saved this afternoon: Code:
CONFIG_BLK_DEV_INITRD=y CONFIG_INITRAMFS_SOURCE="initramfs-tequila.list" CONFIG_INITRAMFS_ROOT_UID=0 CONFIG_INITRAMFS_ROOT_GID=0 CONFIG_RD_GZIP=y # CONFIG_RD_BZIP2 is not set # CONFIG_RD_LZMA is not set CONFIG_INITRAMFS_COMPRESSION_NONE=y # CONFIG_INITRAMFS_COMPRESSION_GZIP is not set # CONFIG_INITRAMFS_COMPRESSION_BZIP2 is not set # CONFIG_INITRAMFS_COMPRESSION_LZMA is not set Knowing from the dot-config file that the initramfs file isn't compressed, then we need to search for the cpio (-H newc mode) magic number. Ref: https://www.kernel.org/doc/Documenta...-initramfs.txt After correcting certain cockpit errors here, ready to continue: Having confirmed the location of the compressed dot-config, trim the kernel image by that amount: Code:
core2quad main $ dd if=main_kernel-4.1.0.img bs=1 count=3723788 of=km-4.1.0-trim.bin 3723788+0 records in 3723788+0 records out 3723788 bytes (3.7 MB) copied, 16.38 s, 227 kB/s Spoiler:
So starting at the first one, is the correct place to start if wanting the entire cpio archive: Code:
core2quad main $ od -A d -t x1 km-4.1.0-trim.bin | grep '30 37 30 37 30 31' 0100096 30 37 30 37 30 31 30 30 30 30 30 32 44 31 30 30 core2quad main $ dd if=km-4.1.0-trim.bin bs=1 skip=100096 of=km-4.1.0-trim.cpio 3623692+0 records in 3623692+0 records out 3623692 bytes (3.6 MB) copied, 16.2501 s, 223 kB/s core2quad main $ file km-4.1.0-trim.cpio km-4.1.0-trim.cpio: ASCII cpio archive (SVR4 with no CRC) **BE CERTAIN** to use the: '--no-absolute-filenames' option. Code:
core2quad main $ mkdir cpio core2quad main $ cd cpio core2quad cpio $ sudo su core2quad cpio # cpio -i -d -m --no-absolute-filenames -I ../km-4.1.0-trim.cpio cpio: Removing leading `/' from member names 1914 blocks core2quad cpio # ls -l total 28 drwxr-xr-x 2 root root 4096 2013-02-20 16:59 bin drwxr-xr-x 7 root root 4096 2013-02-20 16:59 dev lrwxrwxrwx 1 root root 18 2013-02-20 16:59 init -> /bin/recovery-util drwxr-xr-x 3 root root 4096 2013-02-20 16:59 lib drwxr-xr-x 3 root root 4096 2013-02-20 16:59 mnt drwxr-xr-x 2 root root 4096 2012-05-25 23:29 proc drwx------ 2 root root 4096 2012-05-25 23:29 root drwxr-xr-x 2 root root 4096 2012-05-25 23:29 sys core2quad cpio # cd .. core2quad main # tar --create --gzip --file=cpio-main-4.1.0.tar.gz cpio Last edited by knc1; 02-21-2013 at 07:02 PM. |
02-20-2013, 01:10 AM | #15 |
Old Kaz
Posts: 203
Karma: 1064151
Join Date: May 2010
Device: PocketBook Era
|
knc1
K5(PW) 5.3.3: 1812030015 |
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Unbearable Oversight of the [Original] Nook Tablet Devs! | sarahmelissa | Nook Color & Nook Tablet | 9 | 08-28-2012 06:51 PM |
Why don't we just signup as Active Content Devs? | nathansuchy | Kindle Developer's Corner | 4 | 06-16-2012 09:31 PM |
Touch [Question devs] Will we ever get Custom library? | danskmacabre | Kobo Reader | 4 | 04-02-2012 06:29 PM |
Suggestions for Kindle Devs | jxh11215 | Kindle Developer's Corner | 5 | 03-28-2010 07:35 AM |