View Single Post
Old 02-26-2013, 08:12 PM   #91
NullNix
Guru
NullNix ought to be getting tired of karma fortunes by now.NullNix ought to be getting tired of karma fortunes by now.NullNix ought to be getting tired of karma fortunes by now.NullNix ought to be getting tired of karma fortunes by now.NullNix ought to be getting tired of karma fortunes by now.NullNix ought to be getting tired of karma fortunes by now.NullNix ought to be getting tired of karma fortunes by now.NullNix ought to be getting tired of karma fortunes by now.NullNix ought to be getting tired of karma fortunes by now.NullNix ought to be getting tired of karma fortunes by now.NullNix ought to be getting tired of karma fortunes by now.
 
Posts: 916
Karma: 13928438
Join Date: Jan 2013
Location: Ely, Cambridgeshire, UK
Device: Kindle Oasis 3, Kindle Oasis 1
Quote:
Originally Posted by knc1 View Post
Like: NBD driver, NFS-3 server driver
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.)
NullNix is offline   Reply With Quote