02-26-2013, 08:12 PM | #91 |
Guru
Posts: 916
Karma: 13928438
Join Date: Jan 2013
Location: Ely, Cambridgeshire, UK
Device: Kindle Oasis 3, Kindle Oasis 1
|
Some bloody weird stuff in there, though most makes some kind of sense. NBD is obviously useful for testing, NFSv3 server likewise -- though leaving it on after development is complete is barmy and just so terribly Amazon, somehow.
Let's look at some more interesting ones. kernel/drivers/md/dm-multipath.ko Multipath support?! for a device about as far from a SAN as one can imagine? kernel/drivers/md/raid10.ko kernel/drivers/md/raid1.ko RAID?! kernel/drivers/md/dm-emc.ko This is for EMC SANs, and is *not* part of the upstream kernel. Bizarre. I wonder if maybe the Kindle developers connected the Kindle to the corporate SAN during development via NBD, NFS and/or dm-emc? kernel/drivers/usb/serial/visor.ko [snip heaps of serial drivers, pretty much every one the kernel supports] I wonder why they need so many different USB serial drivers, given that as far as I know the Kindle can't talk any USB serial protocols at all? kernel/drivers/usb/misc/legousbtower.ko ... OK, maybe they just compiled 'USB everything' as a module. kernel/drivers/usb/misc/berry_charge.ko ... yeah, they must have done. kernel/drivers/cdrom/cdrom.ko CD-ROM drives: noted for being physically larger than a Kindle. kernel/drivers/bluetooth/bpa10x.ko I *wish* the Kindle had Bluetooth. kernel/drivers/block/pktcdvd.ko Not only CD, but CD-RW! kernel/drivers/block/aoe/aoe.ko ATA over Ethernet, for a device without Ethernet. kernel/drivers/input/mouse/sermouse.ko Serial mouse support?! kernel/drivers/input/keyboard/fiona_legacy/fiona_legacy.ko I guess this was the K3 keyboard driver, from the 'fiona' name. (Curious that in the K3's own kernel it's called 'legacy'.) kernel/drivers/input/keyboard/mxc_keyb.ko This is the Freescale Semiconductor MXC keypad port. kernel/drivers/input/keyboard/stowaway.ko This is a serial keyboard. kernel/drivers/input/misc/yealink.ko This is a VOIP phone. WTF WTF kernel/drivers/input/fiveway/fiveway.ko This is almost certainly the K4 five-way controller. Same software. (The K3 had a five-way controller too: possibly the keyboard hardware presents itself as two devices, much like a keyboard with built-in mouse would.) kernel/drivers/net/usb/rtl8150.ko As with the serial drivers, this appears to be almost every Ethernet over USB driver the kernel supports. kernel/drivers/net/ppp_async.ko kernel/drivers/net/ppp_synctty.ko This sort of thing is for the wireless link, of course. kernel/crypto/blowfish.ko kernel/crypto/tgr192.ko kernel/crypto/*. Just in case they need to up the crypted filesystem stakes on us :P :P kernel/fs/9p/9p.ko This is if anything even more interesting than nfsd: a Plan 9 filesystem client. Notable for being much simpler and easier to implement a server and client for than NFS. kernel/fs/nfsd/nfsd.ko This was almost certainly used during development. Heck, if I worked for lab126 this would be one of the first things I'd make sure was on there. kernel/lib/ts_kmp.ko kernel/lib/ts_bm.ko kernel/lib/ts_fsm.ko (Three different text search algorithms: Boyer-Moore, Knuth-Morris-Pratt, and an FSM. They're used by the iptables string match and textsearch packet classifier.) kernel/net/appletalk/appletalk.ko kernel/net/ipx/ipx.ko Everyone needs to be able to talk Appletalk and Novell Netware protocols on their Kindle! kernel/net/bridge/bridge.ko Letting your Kindle act as an Ethernet bridge is also clearly important. kernel/net/dccp/dccp_ipv6.ko Now this is interesting, basically a reliable version of UDP. I wonder if they planned to use this at one point, and then discovered (like everyone else) that they basically couldn't use any new protocols on the Internet anymore because too many idiot firewalls block absolutely everything they don't understand... kernel/net/lapb/lapb.ko The lower layer of X.25. WTF. kernel/net/ipv6/tunnel6.ko Nice to see it's halfway to IPv6 ready. (Given how many endpoints in China are IPv6-only by this point, this was probably a priority.) |
02-26-2013, 08:19 PM | #92 | |
( ͡° ͜ʖ ͡°){ʇ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
|
K3 Touchscreen module + http://shop-on-line.tvielectronics.c...e-touch-screen and a little "fiddling" = Touchscreen k3!
Hah brilliant. Quote:
Last edited by twobob; 02-26-2013 at 08:23 PM. |
|
Advert | |
|
02-26-2013, 08:22 PM | #93 |
Going Viral
Posts: 17,212
Karma: 18210809
Join Date: Feb 2012
Location: Central Texas
Device: No K1, PW2, KV, KOA
|
THEY did not do that, I did.
If you read the posts that go along with each posted archive, you will learn why things are the way you find them now. OH- the NFS-3 client - present on all factory firmwares - Kindle kernels can load their filesystem from an NFS server. I am the one that added the NFS-3 server. And yes - I added the CIFS server also - - Just in case some Windoze user wants to export the Kindle FS on its native networking. And yes - it works. |
02-26-2013, 08:28 PM | #94 |
( ͡° ͜ʖ ͡°){ʇ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
|
Totally unbelievably superbly superlatively incredible WORK!!!
|
02-26-2013, 08:45 PM | #95 | |
Going Viral
Posts: 17,212
Karma: 18210809
Join Date: Feb 2012
Location: Central Texas
Device: No K1, PW2, KV, KOA
|
Quote:
See first post of this thread - All of that, for the K2, DX, K3, K4, K5touch and K5paperwhite are in a 9Mbyte, cramFS file that you can just drop onto the Kindle and mount at: */extensions/system/lib/modules Every machine that the KUAL launcher supports. (except for CIFS (samba) on K2 and DX - I need to fix those sources) |
|
Advert | |
|
02-27-2013, 02:04 PM | #96 |
Guru
Posts: 916
Karma: 13928438
Join Date: Jan 2013
Location: Ely, Cambridgeshire, UK
Device: Kindle Oasis 3, Kindle Oasis 1
|
Oh, right, sorry, I thought this was a dissection of the upstream firmware, not a recompilation of something with a different .config. Sorry for the confusion.
|
02-27-2013, 02:26 PM | #97 | |
( ͡° ͜ʖ ͡°){ʇ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
|
Quote:
I possibly (probably) am to blame for the "BUILD EVERYTHING!" so throw rocks at me Okay, I admit, it really is my fault |
|
07-24-2013, 04:15 PM | #98 |
Going Viral
Posts: 17,212
Karma: 18210809
Join Date: Feb 2012
Location: Central Texas
Device: No K1, PW2, KV, KOA
|
initramFS, config options, misc. stuff
Just click the "attachment" icon in this thread's index page listing.
The various "HowTo" (or: "HowIdidIT") is scattered through the thread. |
04-29-2016, 11:38 PM | #99 |
Carpe diem, c'est la vie.
Posts: 6,433
Karma: 10773668
Join Date: Nov 2011
Location: Multiverse 6627A
Device: K1 to PW3
|
How do you build these? I could use a set of modules for vermagic: "2.6.10-lab126 ARMv5 gcc-3.4" (K1 firmware).
Code:
lib/modules/2.6.10-lab126/kernel/drivers/usb/gadget/g_file_storage.ko
license: Dual BSD/GPL
author: Alan Stern
description: File-backed Storage Gadget
depends: pdc
vermagic: 2.6.10-lab126 ARMv5 gcc-3.4
parm: file:names of backing files or devices
parm: ro:true to force read-only
parm: luns:number of LUNs
parm: removable:true to simulate removable media
parm: transport:type of transport (BBB, CBI, or CB)
parm: protocol:type of protocol (RBC, 8020, QIC, UFI, 8070, or SCSI)
parm: vendor:USB Vendor ID
parm: product:USB Product ID
parm: release:USB release number
parm: buflen:I/O buffer size
parm: stall:false to prevent bulk stalls
parm: serial_number:device serial number string
parm: max_current:maximum current draw (in mA)
Last edited by geekmaster; 04-30-2016 at 12:13 AM. |
04-30-2016, 04:57 AM | #100 |
Going Viral
Posts: 17,212
Karma: 18210809
Join Date: Feb 2012
Location: Central Texas
Device: No K1, PW2, KV, KOA
|
I never checked the source code releases for the K1, since no one had one.
But in general, the earlier you go in the Kindle series, the more complete the source code release archive is. So start by checking what is in that for the K1. Besides, its a TI Omap device, different than all the rest. |
04-30-2016, 08:31 AM | #101 |
Carpe diem, c'est la vie.
Posts: 6,433
Karma: 10773668
Join Date: Nov 2011
Location: Multiverse 6627A
Device: K1 to PW3
|
The K1 is an Intel PXA-255 device (based on the Gumstix that was used in the early eink dev kits). A significant amount of the source code mentions "Gumstix" repeatedly, and some of the devices in the dmesg logs are unique to Gumstix devices, so probably just copied from the Gumstix project. I should post some of the data I gleaned from dumping it, to prevent confusion...
I have also downloaded all the source code for all the versions, from amazon, and also all the old kindle firmware versions from archive.org (wayback machine history for amazon firmware update download web page). It is enlightening to examine firmware update differences over time, and between device models... Though I still need the modules, and I am curious about how to build them. I am currently studying this: The Linux Kernel Module Programming Guide. Last edited by geekmaster; 04-30-2016 at 10:07 AM. |
04-30-2016, 09:58 AM | #102 |
Going Viral
Posts: 17,212
Karma: 18210809
Join Date: Feb 2012
Location: Central Texas
Device: No K1, PW2, KV, KOA
|
This might give you a step in the right direction:
https://bitbucket.org/twobob/kual-sy...IGS/?at=master You know and I know, that I always publicly publish - - But finding "Where" is probably equally hard for both of us. BitBucket and I are at odds with each other over the size of the Kindle-S360 files. They didn't take them down, but they did revoke a lot of my privileges. So for anything I have done in the past couple of years - search GitHub first. BitBucket things are set to move over to GitHub as time permits. I think you left for other interests just before twobob and I (mostly twobob) got IBM-Cobol support for you on the K5 (the K5 which you don't have any longer ) Last edited by knc1; 04-30-2016 at 10:00 AM. |
04-30-2016, 10:11 AM | #103 | |
Carpe diem, c'est la vie.
Posts: 6,433
Karma: 10773668
Join Date: Nov 2011
Location: Multiverse 6627A
Device: K1 to PW3
|
Quote:
I have plenty of K5 devices -- it is my PW1 that walked off during a California trip... I was doing COBOL programming (for money) when I was (hyper)active in this forum. Now, not so much. But I think trying out your COBOL port would be interesting, just for grins. Last edited by geekmaster; 04-30-2016 at 10:14 AM. |
|
04-30-2016, 10:19 AM | #104 | |
Carpe diem, c'est la vie.
Posts: 6,433
Karma: 10773668
Join Date: Nov 2011
Location: Multiverse 6627A
Device: K1 to PW3
|
And just FYI, I do not know why it did not occur to us in the past, but instead of just PAUSING the framework while I run my native mode apps, I now STOP the framework, which makes 10x as much free RAM available to my apps as when the framework was hogging most of it (even while paused).
Now I think I can run optware (or debian lenny) in a loop mount on all the kindles without locking them up (as was common trying to use optware on a K5). Instead of putting that framework pig to sleep, just shoot it and bury it, and it will stay out of your way. Also, thinking of doing a pivot_root (instead of just chroot) like I did in my old OpenWRT hacking days... On my DX, I only have about 3MB free memory after pausing the framework, but after stopping it I have over 30MB free memory. Less critical to keep that nbd swap file hanging around, eh? EDIT: Apparently, I tried this before on the K5, and still not enough free memory: Quote:
EDIT2: Hmm... From an SSH shell on a DXG that had been used a bit since the last reboot, "grep MemFree /proc/meminfo" showed about 3MB free, and after "/etc/init.d/framework stop" it showed more than 30MB free. Now I tried that right after a reboot, and with framework running it had more than 50MB free, and after a shutdown more than 60MB free. Starting the framework again with "/etc/init.c/framework start" still showed more than 40MB free, and even after launching some things with KUAL it still had more than 30MB free. I wonder if there is a memory leak somewhere in the DXG firmware and/or framework? As mentioned earlier, when the framework eats up all but a few MB of memory, stopping the framework frees up about 30MB, so there is still more than 30MB of memory gone that was there after a reboot. Last edited by geekmaster; 04-30-2016 at 02:08 PM. |
|
04-30-2016, 03:34 PM | #105 | |
Going Viral
Posts: 17,212
Karma: 18210809
Join Date: Feb 2012
Location: Central Texas
Device: No K1, PW2, KV, KOA
|
Quote:
And I went around, collecting IBM software that was in the public domain. But once you have vm-370 running on the Kindle . . . And I apologize - I think the 360-Cobol toolchain is missing the assembler. But you where gone by then and I am just as glad to never see Cobol ever again. I am pretty sure that 360-Fortran works. All history now. My but how history seems to be piling up behind one so rapidly these days. (One of my threads: "Mainframe in a Zipper Case" IIRC) |
|
|
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 |