Hacking the Kindle Paperwhite 2 (Root Access)

by Jonathan Cline - jcline@ieee.org

Assisted by mobileread forum and #kindle-dev.


Return to Jonathan's On-line EE Lab Notebook


The following shows how to get root access to the kindle pw2 shell by using the serial port (console).

The serial port must be connected using a 1.8V TTL adapter to the main board of the kindle pw2. Use trial and error to determine the pinout of the TTL serial port (there is no danger of damaging the SOC).

8N1 115200.

Because root login is disabled on the serial console as sold by Amazon, some steps are required in order to re-enable root access.

For how-to regarding opening the kindle case, refer to the teardown videos on the web. Hardware access to the serial port connector is required for this method. Familiarity with the GNU/Linux boot process (uboot) is also required.

Because hardware hacking is required, this method is not considered a 'Jailbreak'. It does yield complete access to the kindle kernel and userland.

Basic steps of rooting are:

  1. Connect serial port to kindle pw2. Use wire wrap wire. I ran the wires back through a hole I drilled in the back plate of the kindle case, and reassembled the kindle.
  2. Reboot kindle. Boot sequence will be seen on serial port.
  3. Make note of the serial number of the device.
  4. Use serial number with short python script to find the root password of the system, in the form of "fionaXXX" where XXX are 3 hex digits given by hashing the serial number.
  5. Reboot kindle.
  6. Abort the uboot sequence.
  7. Run the diagnostic kernel. Which spawns the factory test application.
  8. Exit the factory test application, which goes to a login prompt.
  9. Login as root with password fionaXXX.
  10. Mount the standard filesystem.
  11. Edit the password files to enable root logins during standard kernel boot; or, create a new account.
  12. Reboot to the standard kernel.
  13. At the login prompt, login with the new account. I created a new account for myself, which has root privs.

Done. You are root.

Once you are root, proceed with installing any standard networking and application tools on the kindle.


Use the python script which will generate the root password for use in the diagnostic kernel

import hashlib
# B0DXXXXXXXXXXXXX
print("fiona%s"%hashlib.md5("B0DXXXXXXXXXXXXX\n".encode('utf-8')).hexdigest()[13:16])
heavymetal [~/]# python kindle-root.py
fiona3d8


Virgin Kindle Paperwhite2 Startup Log

Standard kernel boot

info shutdown:begin:level=6,halt=,special=:
info shutdown:closing password dialog::
info blanket_f:loading blanket module:shutdown:
info shutdown_showimage:screen:splashing screen:reboot
info shutdown_showimage:screen:waiting for reboot screen to come up:
info upstart_f:stopping_job:job=lab126:
[  114.643809] Reset Cause readback: 0x2
info upstart_f:stopping_job:job=x:
info upstart_f:jobs_stopped:elapsed_ms=4510,timeout_ms=45000:
info upstart_f:stopping_job:job=filesystems:
info filesystems_userstore:unmount_userstore:Unmounting UserStore:
info filesystems_var_local:rotate_log:Rotating Logs:
info userstore:run:time=120190,action=stop:
info userstore:found_bootup_flag::Found BOOTUP flag file
info filesystems_var_local:unmount_varLocal:Unmounting VarLocal:
info upstart_f:jobs_stopped:elapsed_ms=4410,timeout_ms=30000:
info shutdown:mounting root filesystem read-only::
info shutdown:syncing disks::
info shutdown:end:level=6,halt=:
[  124.581818] imx2-wdt imx2-wdt.0: Device shutdown: Expect reboot!
[  124.587917] Restarting system.


U-Boot 2009.08-lab126 (Aug 28 2013 - 15:06:12)

CPU: Freescale i.MX6 family TO0.0 at 996 MHz
Temperature:   39 C, calibration data 0x5664ee5f
mx6sl pll1: 996MHz
mx6sl pll2: 528MHz
mx6sl pll3: 480MHz
mx6sl pll8: 50MHz
ipg clock     : 66000000Hz
ipg per clock : 66000000Hz
uart clock    : 80000000Hz
cspi clock    : 60000000Hz
ahb clock     : 132000000Hz
axi clock   : 198000000Hz
emi_slow clock: 22000000Hz
ddr clock     : 396000000Hz
usdhc1 clock  : 198000000Hz
usdhc2 clock  : 198000000Hz
usdhc3 clock  : 198000000Hz
usdhc4 clock  : 198000000Hz
MMC:  FSL_ESDHC: 0,FSL_ESDHC: 1,FSL_ESDHC: 2
Board: Pinot WFO 2GB
Boot Reason: [ POR ]
Boot Device: NAND
Board Id: (REMOVED)
S/N: (REMOVED)
I2C:   ready
DRAM:  256 MB
Using default environment

In:    serial
Out:   serial
Err:   serial
Quick Memory Test 0x80000000, 0xfff0000
POST done in 59 ms
Battery voltage: 4124 mV

Hit any key to stop autoboot:  0
## Booting kernel from Legacy Image at 80800000 ...
   Image Name:   Linux-3.0.35-lab126
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    2420416 Bytes =  2.3 MB
   Load Address: 80008000
   Entry Point:  80008000
   Verifying Checksum ... OK
   Loading Kernel Image ... OK
OK

Starting kernel ...

[    0.094319]
[    0.253906] LPDDR2 MfgId: 0x1 [Samsung]
3.0.35-lab126 #1 Wed Aug 28 15:30:45 PDT 2013 armv7l
Press [ENTER] for recovery menu...       0 //dev/mmcblk0p4:
CHS=4/16/43456 size=1423966208 bytes
flag type      first       last  lba first   lba size
Partition p1:
0x00 0x0b         16             16    2781168
    CHS: 0/1/1 - 
Partition p2:
Partition p3:
Partition p4:
BOOTING DEFAULT.
IP-Config: no devices to configure
kinit: Mounted root (ext3 filesystem) readonly.
info system:emiting_event:mounted_proc:
debug sytem:event_emitted:mounted_proc:
info system:emiting_event:mounted_sys:
debug sytem:event_emitted:mounted_sys:
info system:emiting_event:mounted_dev:
debug sytem:event_emitted:mounted_dev:
info milestone:7.00:49.1:
info milestone:7.05:49.2:
info milestone:7.08:49.3:
info milestone:7.12:49.4:
info milestone:7.15:49.5:
info system:emiting_event:mounted_tmpfs:
debug sytem:event_emitted:mounted_tmpfs:
inét.exe: recevent pre-start procinfo milestone:7.33:sy50:
info system:start:time=7360:
info hardware:no_wan::WiFi only device. No WAN found
info system:config:platform=wario,board=pinot,rev=34,proto=Y,wifi=Y,wan=N:
info milestone:7.53:sy51:
info milestone:8.24:sy99:
info system:done:time=8270:
info system_cramfs_loopbacks:mountingcramfs:Mounting compressed directories filesystem images:
warn system_cramfs_loopbacks:mountpointmissing:Image /lib/firmware/cyttsp.cramfs.img not mounted, non existing mounting point:
info system_cramfs_loopbacks:mounted:Image /usr/share/X11/xkb.cramfs.img mounted:
info system_cramfs_loopbacks:mounted:Image /usr/java/lib/fonts.cramfs.img mounted:
info system_cramfs_loopbacks:mounted:Image /etc/kdb.src.cramfs.img mounted:
info system_cramfs_loopbacks:mounted:Image /usr/lib/locale.cramfs.img mounted:
info system_cramfs_loopbacks:mounted:Image /usr/share/keyboard.cramfs.img mounted:
info system:emiting_event:mounted_cramfs_loopbacks:
debug sytem:event_emitted:mounted_cramfs_loopbacks:
info milestone:8.78:fs75:
info system:emiting_event:loaded_modules_dependencies:
debug sytem:event_emitted:loaded_modules_dependencies:
info modules:modprobe:loading module g_file_storage:
info system:emiting_event:loaded_g_file_storage:
debug sytem:event_emitted:loaded_g_file_storage:
info modules:modprobe:loading module fuse:
info system:emiting_event:loaded_fuse:
debug sytem:event_emitted:loaded_fuse:
info hardware:no_wan::WiFi only device. No WAN found
info system:emiting_event:loaded_ppp_async:
info milestone:9.01:fs00:
debug sytem:event_emitted:loaded_ppp_async:
info system:emiting_event:loaded_fakekey:
debug sytem:event_emitted:loaded_fakekey:
info milestone:9.11:fs23:
info system:emiting_event:mounted_varLocal:
debug sytem:event_emitted:mounted_varLocal:
info milestone:9.17:fs25:
info milestone:9.19:vi00:
info display:update:Checking '/opt/eink/images/G065_ED060XD4C1' for overrides:



Welcome to Kindle!

kindle login: [    9.887238] cyttsp4_core main_ttsp_core.cyttsp4_i2c_adapter: set_mode: back from wait t=99 cd->mode=4
info system:emiting_event:loaded_touch:
debug sytem:event_emitted:loaded_touch:
info milestone:11.07:vi99:
info display:started:time=11090:
info system:emiting_event:display_ready:
debug sytem:event_emitted:display_ready:
info userstore:run:time=11300,action=start:
info userstore:found_shutdown_flag::Found SHUTDOWN flag file
info battery:charged:cap=95,mV=4118,mAH=1409:
info system:emiting_event:battery_ready:
debug sytem:event_emitted:battery_ready:
info system:emiting_event:mounted_userstore:
debug sytem:event_emitted:mounted_userstore:
info milestone:12.58:fs50:
info milestone:12.62:fs90:
info milestone:12.67:fs99:
info milestone:12.72:sys99:
info system:emiting_event:dbus_ready:
debug sytem:event_emitted:dbus_ready:
info dbus:check-update:status=2:dbus_ready sent
info hardware:no_wan::WiFi only device. No WAN found
info milestone:13.97:xx00:
info X:load:time=14080:
info X:xorg.conf:Generating xorg.conf:
info X:xorg.conf:xorg.conf generated:
info milestone:14.81:xx50:
info X:starting:time=14830:
info milestone:18.77:xx99:
info X:started:time=18790:
info system:emiting_event:x_setup_ready:
debug sytem:event_emitted:x_setup_ready:
info locale:read:lang=en_US.utf8,lc_all=en_US.utf8:Retrieved Language
info system:emiting_event:langpicker_ready:
debug sytem:event_emitted:langpicker_ready:
info blanket_f:module already loaded:splash:
info milestone:19.62:pi00:
info milestone:19.85:pi99:
info system:emiting_event:contentpack_font_ready:
debug sytem:event_emitted:contentpack_font_ready:
info milestone:21.99:fr00:
info milestone:22.15:fr50:
info milestone:22.19:fr51:
info framework:starting:time=22250:
info hardware:no_wan::WiFi only device. No WAN found
info wifim:enablediv:enabling antenna diversity for wifi...:
[   28.598108] MAC from kernel xx:xx:xx:xx:xx:74
info milestone:44.71:fr99:
info framework:started:time=44740,delta=22570:
info blanket_f:loading blanket module:usb:
info blanket_f:unloading blanket module:screensaver:
info blanket_f:module already unloaded:ad_screensaver:
info blanket_f:module already unloaded:ad_screensaver_active:
info blanket_f:loading blanket module:ad_screensaver_active:
info blanket_f:loading blanket module:ad_screensaver:
info blanket_f:unloading blanket module:splash:
info system:emiting_event:framework_ready:
debug sytem:event_emitted:framework_ready:
info mesquite:started::
info mesquite:read_in_counters:REBOOTS=0, REBOOT_LIMIT=2, RESTARTS=0, RESTART_LIMIT=5:
Retrieved 245 keys for system/daemon/pmond/
info monitor:writing_file:file=/var/local/upstart/mesquite.restarts:
info monitor:writing_file:file=/var/run/upstart/mesquite.restarts:



Welcome to Kindle!

kindle login: 

uboot to diagnostic kernel mode


U-Boot 2009.08-lab126 (Aug 28 2013 - 15:06:12)

CPU: Freescale i.MX6 family TO0.0 at 996 MHz
Temperature:   39 C, calibration data 0x5664ee5f
mx6sl pll1: 996MHz
mx6sl pll2: 528MHz
mx6sl pll3: 480MHz
mx6sl pll8: 50MHz
ipg clock     : 66000000Hz
ipg per clock : 66000000Hz
uart clock    : 80000000Hz
cspi clock    : 60000000Hz
ahb clock     : 132000000Hz
axi clock   : 198000000Hz
emi_slow clock: 22000000Hz
ddr clock     : 396000000Hz
usdhc1 clock  : 198000000Hz
usdhc2 clock  : 198000000Hz
usdhc3 clock  : 198000000Hz
usdhc4 clock  : 198000000Hz
MMC:  FSL_ESDHC: 0,FSL_ESDHC: 1,FSL_ESDHC: 2
Board: Pinot WFO 2GB
Boot Reason: [ POR ]
Boot Device: NAND
Board Id: (REMOVED)
S/N: (REMOVED)
I2C:   ready
DRAM:  256 MB
Using default environment

In:    serial
Out:   serial
Err:   serial
Quick Memory Test 0x80000000, 0xfff0000
POST done in 59 ms
Battery voltage: 4116 mV

Hit any key to stop autoboot:  0
uboot >  printenv
bootdelay=1
baudrate=115200
loadaddr=0x80800000
rd_loadaddr=(0x80800000 + 0x300000)
bootcmd=bootm 0x41000
failbootcmd=panic
loglevel=5
bootcmd_diags=bootm 0xE41000
bootcmd_factory=bist halt
bootcmd_fastboot=bist fastboot
stdin=serial
stdout=serial
stderr=serial
post_hotkeys=0
bootargs=

Environment size: 287/1020 bytes
uboot > help
?       - alias for 'help'
base    - print or set address offset
bist    - start Built In Self Test
boot    - boot default, i.e., run 'bootcmd'
bootd   - boot default, i.e., run 'bootcmd'
bootm   - boot application image from memory
cmp     - memory compare
coninfo - print console devices and information
cp      - memory copy
crc32   - checksum calculation
go      - start application at address 'addr'
help    - print online help
idme    - idme    - Set nv ram variables

loop    - infinite loop on address range
md      - memory display
mm      - memory modify (auto-incrementing address)
mtest   - simple RAM read/write test
mw      - memory write (fill)
nm      - memory modify (constant address)
printenv- print environment variables
reset   - Perform RESET of the CPU
run     - run commands in an environment variable
setenv  - set environment variables
version - print monitor version
uboot > bootm 0xE41000
## Booting kernel from Legacy Image at 80800000 ...
   Image Name:   Linux-3.0.35-lab126
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    2420496 Bytes =  2.3 MB
   Load Address: 80008000
   Entry Point:  80008000
   Verifying Checksum ... OK
   Loading Kernel Image ... OK
OK

Starting kernel ...

[    0.000000] Linux version 3.0.35-lab126 (jenkins-official@jbuild01) (collect2: ld returned 1 exit status) #1 Tue Sep 3 03:12:16 PDT 2013
[    0.000000] CPU: ARMv7 Processor [412fc09a] revision 10 (ARMv7), cr=10c53c7d
[    0.000000] CPU: VIPT nonaliasing data cache, VIPT aliasing instruction cache
[    0.000000] Machine: Freescale i.MX 6SoloLite based Wario Board
[    0.000000] Will try to place printk log at 8fffc000
[    0.000000] Memory policy: ECC disabled, Data cache writeback
[    0.000000] CPU identified as i.MX6SoloLite, silicon rev 1.2
[    0.000000] On node 0 totalpages: 65536
[    0.000000] free_area_init_node: node 0, pgdat c04dcc94, node_mem_map c2000000
[    0.000000]   DMA zone: 64 pages used for memmap
[    0.000000]   DMA zone: 0 pages reserved
[    0.000000]   DMA zone: 8128 pages, LIFO batch:0
[    0.000000]   Normal zone: 448 pages used for memmap
[    0.000000]   Normal zone: 56896 pages, LIFO batch:15
[    0.000000] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
[    0.000000] pcpu-alloc: [0] 0
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 65024
[    0.000000] Kernel command line: rootwait log_pos_goal=0x8fffc000 console=ttymxc0,115200 root=/dev/mmcblk0p2 ro ip=off debug video=mxcepdcfb:E60,bpp=8,x_mem=3M
[    0.000000] Prink buffer will be relocated to physical address: 8fff2000
[    0.000000] log_buf_len: 32768
[    0.000000] early log buf free: 31348(95%)
[    0.000000] PID hash table entries: 1024 (order: 0, 4096 bytes)
[    0.000000] Dentry cache hash table entries: 32768 (order: 5, 131072 bytes)
[    0.000000] Inode-cache hash table entries: 16384 (order: 4, 65536 bytes)
[    0.000000] Memory: 256MB = 256MB total
[    0.000000] Memory: 254652k/254652k available, 7492k reserved, 0K highmem
[    0.000000] Virtual kernel memory layout:
[    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
[    0.000000]     fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)
[    0.000000]     DMA     : 0xfde00000 - 0xffe00000   (  32 MB)
[    0.000000]     vmalloc : 0xd0800000 - 0xf2000000   ( 536 MB)
[    0.000000]     lowmem  : 0xc0000000 - 0xd0000000   ( 256 MB)
[    0.000000]     modules : 0xbf000000 - 0xc0000000   (  16 MB)
[    0.000000]       .init : 0xc0008000 - 0xc010b000   (1036 kB)
[    0.000000]       .text : 0xc010b000 - 0xc04aa000   (3708 kB)
[    0.000000]       .data : 0xc04aa000 - 0xc04dd7c0   ( 206 kB)
[    0.000000]        .bss : 0xc04dd7e4 - 0xc0504540   ( 156 kB)
[    0.000000] SLUB: Genslabs=13, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[    0.000000] NR_IRQS:624
[    0.000000] MXC GPIO hardware
[    0.000000] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 178956ms
[    0.000000] arm_max_freq=1GHz
[    0.000000] MXC_Early serial console at MMIO 0x2020000 (options '115200')
[    0.000000] bootconsole [ttymxc0] enabled
[    0.000000] Console: colour dummy device 80x30
[    0.258421] Calibrating delay loop... 1987.37 BogoMIPS (lpj=9936896)
[    0.316746] pid_max: default: 32768 minimum: 301
[    0.321626] Mount-cache hash table entries: 512
[    0.326533] CPU: Testing write buffer coherency: ok
[    0.331557] hw perfevents: enabled with ARMv7 Cortex-A9 PMU driver, 7 counters available
[    0.346483] print_constraints: dummy:
[    0.350433] NET: Registered protocol family 16
[    0.358690] print_constraints: vddpu: 725 <--> 1300 mV at 700 mV fast normal
[    0.366272] print_constraints: vddcore: 725 <--> 1300 mV at 1475 mV fast normal
[    0.373971] print_constraints: vddsoc: 725 <--> 1300 mV at 1475 mV fast normal
[    0.381638] print_constraints: vdd2p5: 2000 <--> 2775 mV at 2400 mV fast normal
[    0.389371] print_constraints: vdd1p1: 800 <--> 1400 mV at 1100 mV fast normal
[    0.397045] print_constraints: vdd3p0: 2625 <--> 3400 mV at 3000 mV fast normal
[    0.405947] LAB126 Board id - (REMOVED)
[    0.414479] hw-breakpoint: found 6 breakpoint and 1 watchpoint registers.
[    0.421319] hw-breakpoint: 1 breakpoint(s) reserved for watchpoint single-step.
[    0.428654] hw-breakpoint: maximum watchpoint size is 4 bytes.
[    0.434525] L310 cache controller enabled
[    0.438548] l2x0: 16 ways, CACHE_ID 0x410000c8, AUX_CTRL 0x02030000, Cache size: 262144 B
[    0.454805] bio: create slab  at 0
[    0.462439] max77696> regulator init
[    0.466909] spi_imx imx6q-ecspi.0: probed
[    0.471492] usbcore: registered new interface driver usbfs
[    0.477102] usbcore: registered new interface driver hub
[    0.482605] usbcore: registered new device driver usb
[    0.489744] Reboot Reason - Standard Reporting
[    0.494219] kernel: I max77696-irq:evtrcrd: evt=SFT_PRSTRT: Software Partial Restart
[    0.501982] Reboot Reason - Metric Framework Reporting
[    0.507139] kernel: kernel_metric_generic,counter,event_recorder,ercflags,SFT_PRSTRT,1,
[    0.515162] Reboot Reason - Legacy Metric Reporting
[    0.520054]
[    0.523145] MAX77696 TOPSYS 1.0.0 Installed
[    0.529968] max77696-gpio max77696-gpio.0: gpio#0 -- -- func-0 in
[    0.537483] max77696-gpio max77696-gpio.0: gpio#1 -- -- func--1 in
[    0.545221] max77696-gpio max77696-gpio.0: gpio#3 -- -- func-0 in
[    0.553273] MAX77696 GPIO Driver 1.0.0 Installed
[    0.558960] buck mode: 4
[    0.562275] buck mode: 4
[    0.565752] print_constraints: max77696_buck1: 900 <--> 1300 mV at 1250 mV fast normal idle standby
[    0.575358] buck mode: 4
[    0.578835] print_constraints: max77696_buck1dvs: 600 <--> 1300 mV at 900 mV fast normal idle standby
[    0.588640] buck mode: 4
[    0.591908] buck mode: 4
[    0.595379] print_constraints: max77696_buck2: 900 <--> 1300 mV at 1200 mV fast normal idle standby
[    0.604984] buck mode: 4
[    0.608458] print_constraints: max77696_buck2dvs: 600 <--> 1300 mV at 900 mV fast normal idle standby
[    0.618244] print_constraints: max77696_buck3: 600 <--> 3387 mV at 1300 mV fast normal idle standby
[    0.628032] buck mode: 4
[    0.631301] buck mode: 4
[    0.634568] print_constraints: max77696_buck4: 1200 mV fast normal idle standby
[    0.642422] buck mode: 4
[    0.645896] print_constraints: max77696_buck5: 600 <--> 3387 mV at 1800 mV fast normal idle standby
[    0.655514] buck mode: 4
[    0.658990] print_constraints: max77696_buck6: 600 <--> 3387 mV at 3200 mV fast normal idle standby
[    0.668099] MAX77696 Buck Regulators Driver 1.0.1 Installed
[    0.674459] print_constraints: max77696_ldo1: 800 <--> 3950 mV at 3300 mV normal idle standby
[    0.683595] print_constraints: max77696_ldo2: 800 <--> 3950 mV at 3000 mV normal idle standby
[    0.692682] print_constraints: max77696_ldo3: 800 <--> 3950 mV at 2500 mV normal idle standby
[    0.701800] print_constraints: max77696_ldo4: 800 <--> 2375 mV at 1800 mV normal idle standby
[    0.710866] print_constraints: max77696_ldo5: 800 <--> 2375 mV at 1800 mV normal idle standby
[    0.719983] print_constraints: max77696_ldo6: 800 <--> 3950 mV at 3200 mV normal idle standby
[    0.729062] print_constraints: max77696_ldo7: 800 <--> 3950 mV at 3200 mV normal idle standby
[    0.738172] print_constraints: max77696_ldo8: 800 <--> 2375 mV at 1100 mV normal idle standby
[    0.747242] print_constraints: max77696_ldo9: 800 <--> 2375 mV at 1100 mV normal idle standby
[    0.756367] print_constraints: max77696_ldo10: 2400 <--> 5550 mV at 5200 mV normal idle standby
[    0.765870] MAX77696 Linear Regulators Driver 1.0.2 Installed
[    0.772228] print_constraints: max77696_lsw1:
[    0.777046] print_constraints: max77696_lsw2:
[    0.781803] print_constraints: max77696_lsw3:
[    0.786542] print_constraints: max77696_lsw4:
[    0.791047] MAX77696 Load Switches Driver 1.0.0 Installed
[    0.797669] print_constraints: max77696-display:
[    0.803154] print_constraints: max77696-vcom:
[    0.807932] print_constraints: max77696-vee:
[    0.812656] print_constraints: max77696-vneg:
[    0.817440] print_constraints: max77696-vpos:
[    0.822200] print_constraints: max77696-vddh:
[    0.827680]
[    0.827683] EPD vreg probe complete!
[    0.833325] print_constraints: max77696_vddq: 240 <--> 984 mV at 600 mV
[    0.840106] MAX77696 LPDDR2 Termination Supply Driver 1.0.1 Installed
[    0.847831] MAX77696 I2C Driver 1.0.0 Installed
[    0.854914] i2c-core: driver [max17135] using legacy suspend method
[    0.861202] i2c-core: driver [max17135] using legacy resume method
[    0.867447] Switching to clocksource mxc_timer1
[    0.882525] NET: Registered protocol family 2
[    0.886983] IP route cache hash table entries: 2048 (order: 1, 8192 bytes)
[    0.894081] TCP established hash table entries: 8192 (order: 4, 65536 bytes)
[    0.901252] TCP bind hash table entries: 8192 (order: 3, 32768 bytes)
[    0.907784] TCP: Hash tables configured (established 8192 bind 8192)
[    0.914162] TCP reno registered
[    0.917315] UDP hash table entries: 256 (order: 0, 4096 bytes)
[    0.923177] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
[    0.929798] NET: Registered protocol family 1
[    0.934525] RPC: Registered named UNIX socket transport module.
[    0.940464] RPC: Registered udp transport module.
[    0.945203] RPC: Registered tcp transport module.
[    0.949919] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    0.960584] etb: probe of etb failed with error -2
[    0.965630] etm: probe of etm.0 failed with error -2
[    0.970864] Static Power Management for Freescale i.MX6
[    0.976128] wait mode is enabled for i.MX6
[    0.980413] cpaddr = d0820000 suspend_iram_base=d081c000
[    0.985804] PM driver module loaded
[    0.989558] IMX usb wakeup probe
[    0.992827] the wakeup pdata is 0xce1387c0
[    0.997272] IMX usb wakeup probe
[    1.000521] the wakeup pdata is 0xce1388c0
[    1.004830] cpu regulator mode:ldo_bypass
[    1.009052] _regulator_get: get() with no identifier
[    1.014046] mx6_cpu_regulator_init: failed to get pu regulator
[    1.020090] i.MXC CPU frequency driver
[    1.036929] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    1.043980] msgmni has been set to 497
[    1.048093] io scheduler noop registered
[    1.052131] io scheduler cfq registered (default)
[    1.057349] MAX77696 Backlight Driver 1.0.0 Installed
[    1.063206] imx-sdma imx-sdma: loaded firmware 1.1
[    1.072585] imx-sdma imx-sdma: initialized
[    1.247983] Serial: IMX driver
[    1.380137] console [ttymxc0] enabled, bootconsole disabled
[    1.380137] console [ttymxc0] enabled, bootconsole disabled
[    1.395651] loop: module loaded
[    1.398858] MAX77696 32kHz Oscillator Driver 1.0.0 Installed
[    1.405216] input: max77696-onkey as /devices/platform/imx-i2c.0/i2c-0/0-003c/max77696-onkey.0/input/input0
[    1.418424] MAX77696 ONKEY Driver 1.0.0 Installed
[    1.443402] max77696-rtc max77696-rtc.0: rtc core: registered max77696-rtc.0 as rtc0
[    1.463352] max77696-rtc max77696-rtc.0: rtc core: registered max77696-rtc.1 as rtc1
[    1.492662] MAX77696 RTC Driver 1.0.2 Installed
[    1.498077] snvs_rtc snvs_rtc.0: rtc core: registered snvs_rtc as rtc2
[    1.504805] i2c /dev entries driver
[    1.512661] max77696-battery max77696-battery.0: Voltage alert     3400mV ... 4260mV
[    1.520810] max77696-battery max77696-battery.0: SOC alert         (disabled)
[    1.528856] MAX77696 Fuel Gauge Driver 1.0.0 Installed
[    1.535727] MAX77696 USB Interface Circuit Driver 1.0.0 Installed
[    1.543531] max77696-adc max77696-adc.0: ADC average rate: 32 sample(s)
[    1.550151] max77696-adc max77696-adc.0: ADC delay: 0 nsec
[    1.555656] max77696-adc max77696-adc.0: ADC cur src: 50 uA
[    1.561234] MAX77696 ADC Driver 1.0.1 Installed
[    1.566448] imx2-wdt imx2-wdt.0: IMX2+ Watchdog Timer enabled. timeout=60s (nowayout=1)
[    1.574869] sdhci: Secure Digital Host Controller Interface driver
[    1.581054] sdhci: Copyright(c) Pierre Ossman
[    1.585540] mmc0: no vmmc regulator found
[    1.590857] mmc0: SDHCI controller on platform [sdhci-esdhc-imx.1] using DMA
[    1.598996] mmc1: no vmmc regulator found
[    1.605390] mmc1: SDHCI controller on platform [sdhci-esdhc-imx.2] using DMA
[    1.613146] Registered led device: max77696-leds.0
[    1.617946] MAX77696 LED Driver #0 1.0.0 Installed
[    1.627035] Registered led device: max77696-leds.1
[    1.631834] MAX77696 LED Driver #1 1.0.0 Installed
[    1.637160] nf_conntrack version 0.5.0 (3978 buckets, 15912 max)
[    1.645866] ip_tables: (C) 2000-2006 Netfilter Core Team
[    1.651238] TCP cubic registered
[    1.654496] NET: Registered protocol family 17
[    1.658954] VFP support v0.3: implementor 41 architecture 3 part 30 variant 9 rev 4
[    1.666757] LPDDR2 MfgId: 0x1 [Samsung]
[    1.670896] Bus freq driver module loaded
[    1.676945] Bus freq driver Enabled
[    1.681423] mxc_dvfs_core_probe
[    1.689013] DVFS driver module loaded
[    1.712118] regulator_init_complete: max77696_ldo10: incomplete constraints, leaving on
[    1.727363] regulator_init_complete: max77696_ldo7: incomplete constraints, leaving on
[    1.744723] regulator_init_complete: max77696_ldo6: incomplete constraints, leaving on
[    1.759929] regulator_init_complete: max77696_buck6: incomplete constraints, leaving on
[    1.768156] regulator_init_complete: max77696_buck5: incomplete constraints, leaving on
[    1.776869] regulator_init_complete: max77696_buck2dvs: incomplete constraints, leaving on
[    1.785572] regulator_init_complete: max77696_buck1dvs: incomplete constraints, leaving on
[    1.794797] emmc: I def:mmcpartinfo:vendor=sandisk, host=mmc0:
[    1.812680] max77696-rtc max77696-rtc.0: setting system clock to 2013-10-09 21:41:35 UTC (1381354895)
[    1.843748] mmc0: new high speed DDR MMC card at address 0001
[    1.849905] mmcblk0: mmc0:0001 SEM02G 1.82 GiB
[    1.854655] mmcblk0boot0: mmc0:0001 SEM02G partition 1 1.00 MiB
[    1.860701] mmcblk0boot1: mmc0:0001 SEM02G partition 2 1.00 MiB
[    1.867797]  mmcblk0: p1 p2 p3 p4
[    1.875446]  mmcblk0boot1: unknown partition table
[    1.882562]  mmcblk0boot0: unknown partition table
[    1.893432] MAX77696 Main Charger Driver 1.0.0 Installed
[    1.901946] MAX77696 Energy Harvester Driver 1.0.0 Installed
[    1.912586] Freeing init memory: 1036K
3.0.35-lab126 #1 Tue Sep 3 03:12:16 PDT 2013 armv7l
[    1.922301] INFO:Loaded module /lib/modules/mxc_epdc_eink.ko  (10304 bytes)
[    2.392026] add wake up source irq 104
[    3.522043] KERNEL: I pmic:fg battery id check::wario_battery_valid=1
[    5.251692] INFO:Loaded module /lib/modules/mxc_epdc_fb.ko  (83340 bytes)
[    5.540474] INFO:eink initialized... (786432 bytes)
Press [ENTER] for recovery menu...       0 /[    6.553211] INFO:!!! Checking MBR /dev/mmcblk0 !!!!
[    6.562891] INFO:partition 2, start sector is 782336
[    6.567940] INFO:partition 3, start sector is 913408
[    6.573023] INFO:partition 4, start sector is 1044480
[    6.578143] INFO:maximizing partition 2781184 sectors
[    6.583256] INFO:*** Partition table verified for /dev/mmcblk0 ***
/dev/mmcblk0p4:[    6.591826] INFO:Setup loop device /dev/loop0 for /dev/mmcblk0p4 + 8192

CHS=4/16/43456 size=1423966208 bytes
flag type      first     [    6.602743] INFO:Checking for updates... (auto-pilot mode)
  last  lba first   lba size
Par[    6.610321] INFO:No update*.bin found; no update needed.
tition p1:
0x00 0x0b         16             16    2781168[    6.622380] INFO:no updates found.

    CHS: 0/1/1 - 
Partition p2:
Partition p3:
Partition p4:
BOOTING DEFAULT.
IP-Config: no devices to configure
[    7.598523] EXT3-fs (mmcblk0p2): recovery required on readonly filesystem
[    7.605380] EXT3-fs (mmcblk0p2): write access will be enabled during recovery
[    7.613297] EXT3-fs: barriers not enabled
[    7.661779] kjournald starting.  Commit interval 5 seconds
[    7.667364] EXT3-fs (mmcblk0p2): recovery complete
[    7.674055] EXT3-fs (mmcblk0p2): mounted filesystem with writeback data mode
kinit: Mounted root (ext3 filesystem) readonly.
init started: BusyBox v1.17.1 (2013-09-03 03:06:27 PDT)
starting pid 1133, tty '': '/etc/init.d/rcS'
/etc/init.d/rcS: line 85: boot_milestone: not found
system: I rcS:def:starting /etc/rcS.d/S50diags
USER=root
prevlevel=N
HOME=/
runlevel=S
TERM=vt102
PATH=/sbin:/bin:/usr/sbin:/usr/bin
SHELL=/bin/sh
PWD=/
VERBOSE=no
READ_AHEAD=4
USER=root
prevlevel=N
HOME=/
runlevel=S
TERM=vt102
PATH=/sbin:/bin:/usr/sbin:/usr/bin
SHELL=/bin/sh
PWD=/
VERBOSE=no
IO_SCHED=anticipatory
USER=root
prevlevel=N
HOME=/
runlevel=S
TERM=vt102
PATH=/sbin:/bin:/usr/sbin:/usr/bin
SHELL=/bin/sh
PWD=/
VERBOSE=no
TMP_SIZE=32M
info firsttime:mount_rw:time=7640:Mounting root RW for first boot
[    8.049860] EXT3-fs (mmcblk0p2): using internal journal
info firsttime:cursor:Linking Xorg cursor:
ln: /usr/share/fonts/X11/misc/cursor.pcf: No such file or directory
info firsttime:mount_ro:time=7670:Mounting root RO
[    8.136802] elevator: type
[    8.136807]  not found
[    8.141959] elevator: switch to
[    8.141963]  failed
[    8.155840] elevator: type
[    8.155845]  not found
[    8.160999] elevator: switch to
[    8.161003]  failed
[    8.174821] elevator: type
[    8.174826]  not found
[    8.179980] elevator: switch to
[    8.179983]  failed
info system:start:time=7790:
/etc/rcS.d/S50diags: line 487: f_proto: not found
info hardware:no_wan::WiFi only device. No WAN found
info system:config:platform=wario,board=pinot,rev=34,proto=N,wifi=Y,wan=N:
[    8.238518] udevd (1215): /proc/1215/oom_adj is deprecated, please use /proc/1215/oom_score_adj instead.
info system:done:time=8760:
[    9.178256] ARC USBOTG Device Controller driver (1 August 2005)
[    9.184388] add wake up source irq 75
[    9.204124] g_file_storage gadget: controller 'fsl-usb2-udc' not recognized
[    9.220375] g_file_storage gadget: File-backed Storage Gadget, version: 1 September 2010
[    9.228510] g_file_storage gadget: Number of LUNs=1
[    9.233408] dr_controller_run: udc enter low power mode
[    9.238732] fsl-usb2-udc: bind to driver g_file_storage
[    9.289139] fuse init (API version 7.16)
[    9.318809] PPP generic driver version 2.4.2
[    9.336593] mwan: I mwan_init:init:wario WAN hardware driver 2.0.0
[    9.342840] mwan: I wan_init:mwan:wan_init
[    9.347169] mwan: D elmo_probe:mwan:elmo_probe::Probing elmo device
[    9.393995] cyttsp4_i2c_adapter 1-0024: cyttsp4_i2c_probe: Starting cyttsp4_i2c_adapter probe...
[    9.402889] cyttsp4_i2c_adapter 1-0024: cyttsp4_i2c_probe: Successful probe cyttsp4_i2c_adapter
[    9.411640] cyttsp4_i2c_init: Cypress TTSP I2C Touchscreen Driver (Built 20121109) rc=0
[    9.432126] cyttsp4_core main_ttsp_core.cyttsp4_i2c_adapter: cyttsp4_core_probe: startup
[    9.440785] cyttsp4_core main_ttsp_core.cyttsp4_i2c_adapter: cyttsp4_core_probe: Init HW
[   10.382660] cyttsp4_core main_ttsp_core.cyttsp4_i2c_adapter: cyttsp4_si_get_test_data: SCANNING is ENABLED codel=0E
[   10.396480] cyttsp4_core:fw:ver=0108:
[   10.404880] cyttsp4_core main_ttsp_core.cyttsp4_i2c_adapter: set_mode: back from wait t=100 cd->mode=4
[   10.435117] cyttsp4_core main_ttsp_core.cyttsp4_i2c_adapter: cyttsp4_startup_: cyttsp4_exit startup r=0...
[   10.444842] cyttsp4_core main_ttsp_core.cyttsp4_i2c_adapter: cyttsp4_core_probe: ok
[   10.512087] cyttsp4_core_init: Cypress TTSP v4 core driver (Built 20121109) rc=0
[   10.525919] cyttsp4_mt cyttsp4_mt.main_ttsp_core: cyttsp4_mt_probe
[   10.553793] input: cyttsp4_mt as /devices/platform/imx-i2c.1/i2c-1/1-0024/main_ttsp_core.cyttsp4_i2c_adapter/cyttsp4_mt.main_ttsp_core/input/input1
[   10.567423] cyttsp4_mt_init: Cypress TTSP MT v4 multi-touch (Built 20121109), rc=0
/etc/rcS.d/S50diags: line 487: iptables-restore: not found
/opt/ar6k/include/dbglog.h.save: No such file or directory
[   10.666337] EXT3-fs: barriers not enabled
[   10.682274] kjournald starting.  Commit interval 5 seconds
[   10.688653] EXT3-fs (mmcblk0p3): using internal journal
[   10.693916] EXT3-fs (mmcblk0p3): mounted filesystem with writeback data mode
info userstore:run:time=10350,action=start:
info userstore:found_shutdown_flag::Found SHUTDOWN flag file
system: I mntroot:def:Making root filesystem writeable
[   11.480479] EXT3-fs (mmcblk0p2): using internal journal
/etc/rcS.d/S50diags: line 13: /usr/local/sbin/dropbearkey: not found
system: I mntroot:def:Making root filesystem read-only
/etc/rcS.d/S50diags: line 13: /usr/local/sbin/dropbear: not found
mounting waveform filesystem
info display:update:Checking '/opt/eink/images/G065_ED060XD4C1' for overrides:
umounting waveform filesystem
drawing default
info display:started:time=11280:
/etc/upstart/battery-diags: line 91: f_proto: not found
info battery:charged:cap=94,mV=4116,mAH=1390:
USER=root
prevlevel=N
OLDPWD=/
HOME=/
runlevel=S
TERM=vt102
PATH=/sbin:/bin:/usr/sbin:/usr/bin
SHELL=/bin/sh
PWD=/dev
VERBOSE=no
LD_LIBRARY_PATH=/usr/lib/tts/speech/components/common/:/usr/lib/tts
/etc/rcS.d/S50diags: line 13: kb: not found
diags : /opt/factory/rootfs_md5_list not found.
Change list is: [206610]
Sending: mkdir -p /mnt/base-us/diagnostic_logs/
PostMode len = 6 of 16
Ignoring PostMode
DiscoveryObjectImpl:getDeviceType_Tatoo FOUND: BOARD_ID_PINOT_WFO: [02E] [46] with (PCBID REMOVED)
GlobalHalImpl: found DeviceType: 0x2E
found: cyttsp4_i2c
found: cyttsp4_core
found: cyttsp4_mt_b
[   11.901166] cyttsp4_device_access_init: Registering device access device for core_id: main_ttsp_core
[   11.910446] cyttsp4_device_access cyttsp4_device_access.main_ttsp_core: cyttsp4_device_access_probe
[   11.933640] cyttsp4_device_access_init: Cypress TTSP Device Access (Built 20121109) rc=0
HalPower:addProcEntryElement sys entry: /sys/devices/platform/mxc_rtc.0/wakeup_enable does not exist
HalPower:addProcEntryElement sys entry: /sys/devices/platform/mxc_rtc.0/wakeup_from_halt does not exist
HalPower:addProcEntryElement sys entry: /sys/devices/system/cpu/cpu0/cpufreq/ondemand/up_threshold does not exist
HalWifi: name: /mnt/us/tools/atheros/art_rel/art/bin, artRootPath: /mnt/us/tools/atheros/art_rel/art/bin
HalGasGauge:addProcEntryElement sys entry: /sys/devices/system/wario_battery/wario_battery0/battery_mAH_avg does not exist
DeviceSettingObjectImpl: setUserVersion (NULL)
        PCBID: (PCBID REMOVED)
        MainTest:exe
        MainTest:exeTest Set CPU to faster speed
system_diags[MainTest] 1 INFO : Start test
   PINOT-WFO-2GB - System Diags
   ~~~~  1.12.536.206610  ~~~~
     pcbId:(PCBID REMOVED)
~ S ~ Device Setting
P) Touch Sensor Plate Test
O) Operator test suite
E) 511
N) Misc individual diagnostics
Y) nART factory test
U) USB device mode
H) Touch Hold Test
D) Exit, Reboot or Disable Diags
L) Lock diags screen
X) Exit

From Diagnostics Menu, Exit to shell, Mount standard file system

1 INFO : Start test
   PINOT-WFO-2GB - System Diags
   ~~~~  1.12.536.206610  ~~~~ 
     pcbId:(PCBID REMOVED)
~ S ~ Device Setting  
P) Touch Sensor Plate Test     
O) Operator test suite     
E) 511     
N) Misc individual diagnostics     
Y) nART factory test     
U) USB device mode     
H) Touch Hold Test     
D) Exit, Reboot or Disable Diags     
L) Lock diags screen     
X) Exit
     

DiagMenu: dispatchTouchEvent: TOUCH_EVENT_TOUCH_UP::SELECT: line: 18, Misc individual diagnostics
Command: N
	MiscIndividualDiagnostics:exe 
1 INFO : Start test
   PINOT-WFO-2GB - Misc individual diagnostics
   ~~~~  1.12.536.206610  ~~~~ 
     pcbId:(PCBID REMOVED)
~ C ~ Certification Test Mode  
I) Wifi Test     
G) Gas Gauge     
L) LED Test     
O) FrontLight test     
S) HallSensor detect     
V) Video Test     
T) Touch Sensor Menu     
N) MoviNand     
E) Power Test     
H) Adjust battery     
M) MoviNand/AdjBat/DisableDiags     
U) Utilities     
X) Exit
     

DiagMenu: dispatchTouchEvent: TOUCH_EVENT_TOUCH_UP::SELECT: line: 29, Utilities
Command: U
	Utilities:exe 
1 INFO : Start test
   PINOT-WFO-2GB - Utilities
   ~~~~  1.12.536.206610  ~~~~ 
     pcbId:(PCBID REMOVED)
~ O ~ Format user partitions  
A) Erase waveform     
E) 511 with device info     
D) WAN Desense Test     
Z) Enable USBnet     
M) Mount nfs     
S) Stress Tests     
R) Run in Test     
T) ORT Discharge     
W) WIFI Bundle Install     
F) Fastboot Bundle Install     
X) Exit
     

DiagMenu: dispatchTouchEvent: TOUCH_EVENT_TOUCH_UP::SELECT: line: 39, Exit

Command: X
Get X exit code
run: Status: WAIT_FOR_STATUS_EXIT
	Parent: Misc individual diagnostics
1 INFO : End test
exe: Status: WAIT_FOR_STATUS_EXECUTED
   PINOT-WFO-2GB - Misc individual diagnostics
   ~~~~  1.12.536.206610  ~~~~ 
     pcbId:(PCBID REMOVED)
C) Certification Test Mode     
I) Wifi Test     
G) Gas Gauge     
L) LED Test     
O) FrontLight test     
S) HallSensor detect     
V) Video Test     
T) Touch Sensor Menu     
N) MoviNand     
E) Power Test     
H) Adjust battery     
M) MoviNand/AdjBat/DisableDiags     
~ U ~ Utilities  
X) Exit
     

DiagMenu: dispatchTouchEvent: TOUCH_EVENT_TOUCH_UP::SELECT: line: 39, Exit

Command: X
Get X exit code
run: Status: WAIT_FOR_STATUS_EXIT
	Parent: System Diags
1 INFO : End test
exe: Status: WAIT_FOR_STATUS_EXECUTED
   PINOT-WFO-2GB - System Diags
   ~~~~  1.12.536.206610  ~~~~ 
     pcbId:(PCBID REMOVED)
S) Device Setting     
P) Touch Sensor Plate Test     
O) Operator test suite     
E) 511     
~ N ~ Misc individual diagnostics  
Y) nART factory test     
U) USB device mode     
H) Touch Hold Test     
D) Exit, Reboot or Disable Diags     
L) Lock diags screen     
X) Exit
     

DiagMenu: dispatchTouchEvent: TOUCH_EVENT_TOUCH_UP::SELECT: line: 30, Exit, Reboot or Disable Diags
Command: D
	DisableDiags:exe 
1 INFO : Start test
   PINOT-WFO-2GB - Exit, Reboot or Disable Diags
   ~~~~  1.12.536.206610  ~~~~ 
     pcbId:(PCBID REMOVED)
~ U ~ USB Bundle Install  
C) Check Pass/Fail Status     
R) Reboot System     
D) Disable Diagnostics     
L) Exit to login prompt     
M) ReportToXml     
S) Dump System Logs     
X) Exit
     

(784, 72) pixel not in range (0..768, 0..1024)
DiagMenu: dispatchTouchEvent: TOUCH_EVENT_TOUCH_UP::SELECT: line: 18, Exit to login prompt
Command: L
	ExitToLoginTest:exe 
1 INFO : Start test
	[testName=HAL_CMD_EXIT_TO_LOGIN]~~~~~
	testName = HAL_CMD_EXIT_TO_LOGIN
   PINOT-WFO-2GB - Exit to login prompt
   ~~~~  1.12.536.206610  ~~~~ 
     pcbId:(PCBID REMOVED)
   Are you sure?
 
 
~ Q ~ To continue  
 
X) Exit
     

DiagMenu: dispatchTouchEvent: TOUCH_EVENT_TOUCH_UP::SELECT: line: 11, To continue
Command: Q
Get Q code
run: Status: WAIT_FOR_STATUS_DONE
1 PASS : 143  
1 INFO : End test
exe: Status: WAIT_FOR_STATUS_EXECUTED
   PINOT-WFO-2GB - Exit, Reboot or Disable Diags
   ~~~~  1.12.536.206610  ~~~~ 
     pcbId:(PCBID REMOVED)
U) USB Bundle Install     
C) Check Pass/Fail Status     
R) Reboot System     
D) Disable Diagnostics     
~ L ~ Exit to login prompt  
M) ReportToXml     
S) Dump System Logs     
X) Exit
     

(784, 72) pixel not in range (0..768, 0..1024)
1 PASS : 138  
1 INFO : End test
exe: Status: WAIT_FOR_STATUS_EXECUTED
   PINOT-WFO-2GB - System Diags
   ~~~~  1.12.536.206610  ~~~~ 
     pcbId:(PCBID REMOVED)
S) Device Setting     
P) Touch Sensor Plate Test     
O) Operator test suite     
E) 511     
N) Misc individual diagnostics     
Y) nART factory test     
U) USB device mode     
H) Touch Hold Test     
~ D ~ Exit, Reboot or Disable Diags  
L) Lock diags screen     
X) Exit
     

1 INFO : End test
Exit to login prompt: 1
/etc/init.d/rcS: line 121: boot_milestone: not found
starting pid 1642, tty '': '/bin/sh /etc/getty-diags'



Welcome to Kindle!

kindle login: root
Password: 
#################################################
#  N O T I C E  *  N O T I C E  *  N O T I C E  # 
#################################################
Rootfs is mounted read-only. Invoke mntroot rw to
switch back to a writable rootfs.
#################################################
[root@kindle root]# 
[root@kindle root]# 
[root@kindle root]# 
[root@kindle root]# mount
rootfs on / type rootfs (rw)
/dev/root on / type ext3 (ro,noatime,nodiratime,barrier=0,data=writeback)
proc on /proc type proc (rw,relatime)
sysfs on /sys type sysfs (rw,relatime)
tmpfs on /dev type tmpfs (rw,relatime,mode=755)
tmpfs on /dev/shm type tmpfs (rw,relatime)
devpts on /dev/pts type devpts (rw,relatime,gid=5,mode=620)
tmpfs on /var type tmpfs (rw,relatime,size=0k)
/dev/mmcblk0p3 on /var/local type ext3 (rw,relatime,errors=continue,barrier=0,data=writeback)
/dev/loop/0 on /mnt/base-us type vfat (rw,noexec,noatime,nodiratime,fmask=0022,dmask=0022,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro)
fsp on /mnt/us type fuse.fsp (rw,nosuid,nodev,noatime,user_id=0,group_id=0)
[root@kindle root]# 
[root@kindle root]# 
[root@kindle root]# cd /mnt
[root@kindle /mnt]# ls 
base-mmc  base-us   mmc       rwfs      us        wfm
[root@kindle /mnt]# ls mmc
[root@kindle /mnt]# ls /dev/mmc*
/dev/mmcblk0       /dev/mmcblk0boot1  /dev/mmcblk0p2     /dev/mmcblk0p4
/dev/mmcblk0boot0  /dev/mmcblk0p1     /dev/mmcblk0p3
[root@kindle /mnt]# ls -l /dev/mmc*
brw-rw----    1 root     root      179,   0 Oct  9 16:03 /dev/mmcblk0
brw-rw----    1 root     root      179,   8 Oct  9 16:03 /dev/mmcblk0boot0
brw-rw----    1 root     root      179,  16 Oct  9 16:03 /dev/mmcblk0boot1
brw-rw----    1 root     root      179,   1 Oct  9 16:03 /dev/mmcblk0p1
brw-rw----    1 root     root      179,   2 Oct  9 16:03 /dev/mmcblk0p2
brw-rw----    1 root     root      179,   3 Oct  9 16:03 /dev/mmcblk0p3
brw-rw----    1 root     root      179,   4 Oct  9 16:04 /dev/mmcblk0p4
[root@kindle /mnt]# mount /dev/mmcblk0p1 /mnt/mmc
EXT3-fs: barriers not enabled
kjournald starting.  Commit interval 5 seconds
EXT3-fs (mmcblk0p1): using internal journal
EXT3-fs (mmcblk0p1): recovery complete
EXT3-fs (mmcblk0p1): mounted filesystem with writeback data mode
[root@kindle /mnt]# cd /mnt/mmc
[root@kindle mmc]# ls
bin   dev   etc   lib   mnt   opt   proc  sbin  sys   tmp   usr   var

[root@kindle etc]# echo 'jonathan::0:0:Jonathan:/tmp/root:/bin/sh' >>etc/passwd
[root@kindle etc]# echo 'jonathan:*:15826:0:99999:7:::' >>etc/shadow
[root@kindle etc]# echo 'jonathan:*:15826:0:99999:7:::' >>etc/shadow-

[root@kindle /mnt]# cat etc/passwd
root:x:0:0:root:/tmp/root:/bin/sh
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
bin:x:2:2:bin:/bin:/bin/sh
sys:x:3:3:sys:/dev:/bin/sh
sync:x:4:100:sync:/bin:/bin/sync
operator:x:37:37:Operator:/var:/bin/sh
sshd:x:103:99:Operator:/var:/bin/sh
messagebus:x:92:92:messagebus:/bin/false
nobody:x:99:99:nobody:/tmp:/bin/sh
default:x:1000:1000:Default non-root user:/dev/null:/bin/sh
framework:x:9000:150:Framework User:/tmp/framework:/bin/sh
jonathan::0:0:Jonathan:/tmp/root:/bin/sh

[root@kindle /mnt]# cat etc/shadow
root:*:15826:0:99999:7:::
daemon:*:10933:0:99999:7:::
bin:*:10933:0:99999:7:::
sys:*:10933:0:99999:7:::
sync:*:10933:0:99999:7:::
operator:*:10933:0:99999:7:::
sshd:*:10933:0:99999:7:::
messagebus:*:10933:0:99999:7:::
nobody:*:10933:0:99999:7:::
default:!:15826:0:99999:7:::
framework:*:15826:0:99999:7:::
jonathan:*:15826:0:99999:7:::

[root@kindle /mnt]# cat etc/shadow-
root:*:15826:0:99999:7:::
daemon:*:10933:0:99999:7:::
bin:*:10933:0:99999:7:::
sys:*:10933:0:99999:7:::
sync:*:10933:0:99999:7:::
operator:*:10933:0:99999:7:::
sshd:*:10933:0:99999:7:::
messagebus:*:10933:0:99999:7:::
nobody:*:10933:0:99999:7:::
default:!:15826:0:99999:7:::
framework::15826:0:99999:7:::
jonathan::15826:0:99999:7:::
[root@kindle /mnt]# 

Restart and allow startup in standard mode, then log in with new account, get Root shell.




Welcome to Kindle!

kindle login: 


Welcome to Kindle!

kindle login: jonathan
#################################################
#  N O T I C E  *  N O T I C E  *  N O T I C E  # 
#################################################
Rootfs is mounted read-only. Invoke mntroot rw to
switch back to a writable rootfs.
#################################################
Reset Cause readback: 0x2 
MAC from kernel xx:xx:xx:xx:xx:74

[root@kindle root]# 
[root@kindle root]# 
[root@kindle root]# 
[root@kindle root]# 
[root@kindle root]# 
[root@kindle root]# ls
[root@kindle root]# pwd
/var/tmp/root
[root@kindle root]# cd /var
[root@kindle /var]# ls
backups  cache    lib      local    lock     log      run      tmp
[root@kindle /var]# 
[root@kindle /var]# 
[root@kindle /var]# mount
rootfs on / type rootfs (rw)
/dev/root on / type ext3 (ro,noatime,nodiratime,barrier=0,data=writeback)
none on /proc type proc (rw,nosuid,nodev,noexec,relatime)
none on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
tmpfs on /dev type tmpfs (rw,relatime,mode=755)
tmpfs on /dev/shm type tmpfs (rw,relatime)
devpts on /dev/pts type devpts (rw,relatime,gid=5,mode=620)
tmpfs on /var type tmpfs (rw,relatime,size=32768k)
/dev/loop/2 on /usr/share/X11/xkb type cramfs (ro,noatime,nodiratime)
/dev/loop/3 on /usr/java/lib/fonts type cramfs (ro,noatime,nodiratime)
/dev/loop/4 on /etc/kdb.src type cramfs (ro,noatime,nodiratime)
/dev/loop/5 on /usr/lib/locale type cramfs (ro,noatime,nodiratime)
/dev/loop/6 on /usr/share/keyboard type cramfs (ro,noatime,nodiratime)
/dev/mmcblk0p3 on /var/local type ext3 (rw,relatime,errors=continue,barrier=0,data=writeback)
/dev/loop/0 on /mnt/base-us type vfat (rw,noexec,noatime,nodiratime,fmask=0000,dmask=0000,allow_utime=0022,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro)
fsp on /mnt/us type fuse.fsp (rw,nosuid,nodev,noexec,noatime,user_id=0,group_id=0,allow_other)
[root@kindle /var]#