View Single Post
Old 05-23-2016, 09:37 PM   #280
geekmaster
Carpe diem, c'est la vie.
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: 6,433
Karma: 10773670
Join Date: Nov 2011
Location: Multiverse 6627A
Device: K1 to PW3
Another interesting K1 kernel comment:
PHP Code:
/* NOTE:  the Fiona OneNAND part only has 20 bytes of space, which is four
   bytes too small for struct jffs2_raw_ebh.  as this is a closed device,
   the EBH compatibility flags will not be used */
#ifndef CONFIG_ARCH_FIONA
...
/* Summary node MAGIC marker */
#define JFFS2_SUM_MAGIC    0x02851885 
Which could be important for decompressing some of those (many) firmware block devices in the K1.

Interestingly, this jffs2.h file contains some comment differences from mainstream linux 2.26.10 kernel source, obviously NOT from lab126 (including an email address, a file version number and date difference in a comment). Perhaps applying whatever "official linux" patch lab126 used to this mainline 2.6.10 source code would make finding lab126-specific changes easier. More specifically (in this case), this:
PHP Code:
 Created by David Woodhouse <dwmw2@redhat.com>
...
 * 
$Idjffs2.h,v 1.33 2004/05/25 11:31:55 havasi Exp 
changed to this:
PHP Code:
 Created by David Woodhouse <dwmw2@infradead.org>
...
 * 
$Idjffs2.h,v 1.40 2005/11/07 11:14:51 gleixner Exp $
...
 * 
Fiona device changes Copyright (C2006Lab126Inc.  All rights reserved


EDIT: I see that linux kernel 2.6.10 has three "testing" release candidates:
https://www.kernel.org/pub/linux/ker.../testing/incr/
I suppose lab126 started with one of those rather than the "stable" code set I am comparing against. Hmm... not likely -- the timestamps in the 2.6.10 stable and rc downloads are much too old for the source code comment shown above. Even the 2.6.11 release candidate timestamps are too old for that comment. I would think if they borrowed code snippets from later kernels, there would be more differences. Though many of the differences are just stripping trailing spaces off the files in the official stable linux source code... One thing of interest is the the main kernel Makefile forces some env vars for cross-compiling "so they are not needed on the command line", AND adds some extra stuff if the cross host is "APPLE". ... And nope. The release candidates are OLDER than the stable release. I wonder if lab126 did mix in bits of source from later kernel versions? The only kernel version with a compressed download file timestamp new enough for that comment above is 2.6.15, and lab126 still calls theirs 2.6.10 for the K1 kernel. Yhe mmc.c code is certainly a LOT newer than 2.6.10, adding io-completion and SDHC card support, plus a lot of newer enhancements. So despite the version name, I think they mixed and matched code from various versions (perhaps borrowed from newer kindles, when they were building new firmware updates for old kindle models).

Last edited by geekmaster; 05-23-2016 at 10:39 PM.
geekmaster is offline   Reply With Quote