Introducing XDA:DevCon – A Conference For Developers By Developers
XDA Developers Android and Mobile Development Forum
Forgot your password?
 
Post Reply+
Tip us?
 
AdamOutler
Old
(Last edited by AdamOutler; 13th January 2012 at 09:23 PM.)
#1  
AdamOutler's Avatar
Elite Recognized Developer - OP
Thanks Meter 7989
Posts: 4,739
Join Date: Feb 2011
Location: Louisiana

 
DONATE TO ME
Default [Developer Reference] Partitons, Functions, Security, Hardware, Kernels and Methods

Introduction

In order to condence information, I put together a condenced "lessons learned" guide from [DISCUSSION] on the boot loader and The Nook Tablet Hack Pack. This thread will cover Normal Operation, Booting from SDCard and Bootloader Exploits which alter the boot sequence. If you want to come up-to-speed on the Nook Tablet's security, read on, otherwise it is alot of information to take in.

Part I - Data, Partition Structure & Functional blocks
In this section I will outline the Partition Structure and Functional blocks of the Nook Tablet.

Hardware Configuration
Hardware based input registers - Several registers inside the OMAP4430 processor are tied to physical resistors which serve as configuration bits. If you modify the resistor to be high or low, it will change the register in the device. For example, the SYSTEM_STATUS register contains 6 BOOT_MODE bits which are tied to resistors and any change to these resistors will affect the boot mode. IE. Boot from USB, MMC, MMC2 and so on.

E-Fuse and Secure Rom - The OMAP4430 begins its hardware-initiated chain-of-trust with preburnt registers/secure rom AKA E-Fuse. These E-Fuses serve as a static reference for items which we cannot change and would have severe concequences if they were chaged. They serve to identify the processor and firmware configurations in later stages of the boot sequence. By containing the Secure ROM within the processor, the secure boot sequence is effectively "hardware initiated"

Secure Boot
The following block cannot be touched by any known means outside of factory programming.
IROM - Inside the OMAP4430, there is a ROM which we will refer to as IROM. This IROM cannot be modified. The IROM's function is to initialize the System-on-a-chip. This bootloader (in a nutshell) tells the OMAP4430 that it's an OMAP4430 and initializes internal memory. The primary function of the IROM is to load the X-Loader. The IROM will check the consistancy and signature of X-Loader and then execute it.

Secure Blocks
The following blocks should be considered secure as modifying a single bit will cause a failure during consistancy checking. Each of these secure blocks are signed and modification can lead to an inoperative device.

the following are references to the partitions on the internal MMC:
X-Loader - Provides further initialization of the OMAP4430 including the much larger D-RAM. By initializing the D-RAM, the system is able to access a larger block of memory and load larger programs.
X-Loader is referred to by the alias xloader and can be found as a block in the following locations:
Code:
/dev/block/mmcblk0p1
/dev/block/platform/mmci-omap-hs.1/by-name/xloader
/dev/block/platform/mmci-omap-hs.1/by-num/p1
Xloader will check the consistancy and signature of U-Boot and then execute it

Das U-Boot - U-Boot is called such because it is a Universal Bootloader. It is designed to handle a wide array of chips and perform various system specific initialization tasks including initializing paripherals such as filesystems. U-Boot is where you will find the display and many other paripherals initialized. By default, U-Boot serves as a recovery as well as a bootloader. It has several options acessible through UART. It can be considered an entire operating system on it's own.

U-Boot is referred to by the alias bootloader and can be found as a block in the following locations:
Code:
/dev/block/mmcblk0p2
/dev/block/platform/mmci-omap-hs.1/by-name/bootloader
/dev/block/platform/mmci-omap-hs.1/by-num/p2
U-Boot will load the recovery, then check the consistancy of the recovery partition, then load and check the consistancy of the kernel.

Recovery - This partition functions similar to the boot partition, however it is specifically designed to load up the factory partition and execute a system wipe or factory recovery depending upon its boot arguments provided by U-Boot.
Recovery can be found in the following partitions:
Code:
/dev/block/mmcblk0p3
/dev/block/platform/mmci-omap-hs.1/by-name/recovery
/dev/block/platform/mmci-omap-hs.1/by-num/p3

boot - boot is the first block which is not loaded as a program. The BOOT partition consists of a compressed Ram-disk and a kernel. The Kernel and Ramdisk function together in order to bring up the Linux environment. The Kernel handles "drivers" while the Ramdisk handles files. This is an extremely complex block and would require a rather large volume of literature to explain. The Kernel completes the boot sequence by initializing the second processor and loading required drivers into memory. At this point, the device will boot in a non-linear manner where all partitions are used simultaniously.

The Kernel and Ramdisk are aliased as boot and can be found in the following locations:
Code:
/dev/block/mmcblk0p4
/dev/block/platform/mmci-omap-hs.1/by-name/boot
/dev/block/platform/mmci-omap-hs.1/by-num/p4
The kernel loads up userdata, media, cache, system, bootdata, and rom. Kernel finishes initialization up by loading the Android UI.
The ramdisk is mounted at /.


Unsecure Blocks
ROM - The ROM partition contains serial numbers, MAC addresses as well as other general configuration information and logs.
The ROM is aliased as rom and can be found in the following locations:
Code:
/dev/block/mmcblk0p5
/dev/block/platform/mmci-omap-hs.1/by-name/rom
/dev/block/platform/mmci-omap-hs.1/by-num/p5
this block is mounted at /rom.

bootdata - The bootdata partition contains the boot count and some configuration data which is unknown at this point. bootdata can be found in the following locations:
Code:
/dev/block/mmcblk0p6
/dev/block/platform/mmci-omap-hs.1/by-name/bootdata
/dev/block/platform/mmci-omap-hs.1/by-num/p6
this block is mounted at /bootdata

factory - The factory partition contains restoration scripts used by the recovery partition. The factory partition is not mounted automatically unless the device is in factory restore modes. The factory partition can be found in the following locations:
Code:
/dev/block/mmcblk0p7
/dev/block/platform/mmci-omap-hs.1/by-name/factory
/dev/block/platform/mmci-omap-hs.1/by-num/p7
system - The system partition contains the Android layer which rides on top of the kernel. The system partition can be found in the following locations:
Code:
/dev/block/mmcblk0p8
/dev/block/platform/mmci-omap-hs.1/by-name/system
/dev/block/platform/mmci-omap-hs.1/by-num/p8
The system partition is mounted at /system/

cache - The cache partition is used by Android to provide quick access to optimized loading data. It effectively makes apps work faster by trading filesize for processor use. It would appear that this partition is unused on the Nook Tablet but rather cache is stored in /data/cache. Cache can be found in the following locations:
Code:
/dev/block/mmcblk0p9
/dev/block/platform/mmci-omap-hs.1/by-name/cache
/dev/block/platform/mmci-omap-hs.1/by-num/p9
The cache partition is mounted at /cache/

media - This partition is a general purpose user storage area. It is known as the SDCard on most android devices. Media can be found in the following locations:
Code:
/dev/block/mmcblk0p10
/dev/block/platform/mmci-omap-hs.1/by-name/media
/dev/block/platform/mmci-omap-hs.1/by-num/p10
The Media partition is mounted at /mnt/media


userdata - This partition is used for application storage. Each new application is stored in /data/app and each application can create its own folder on this partition for use during operation. This partition is aliased as "data" and can be found in the following locations:
Code:
/dev/block/mmcblk0p11
/dev/block/platform/mmci-omap-hs.1/by-name/userdata
/dev/block/platform/mmci-omap-hs.1/by-num/p11
The Media partition is mounted at /data
I ignore PMs with questions that could be answered by searching. If you PM me, I probly won't respond.
Check out my developer pages. Add me to your circles on Google Plus.
The Following 15 Users Say Thank You to AdamOutler For This Useful Post: [ Click to Expand ]
 
AdamOutler
Old
(Last edited by AdamOutler; 13th January 2012 at 09:15 PM.)
#2  
AdamOutler's Avatar
Elite Recognized Developer - OP
Thanks Meter 7989
Posts: 4,739
Join Date: Feb 2011
Location: Louisiana

 
DONATE TO ME
Part II - Booting from SDCard
When booting from SDCard the basic structures are changed. In order to create a bootable SDCard, the basic outline is as follows.
  1. Create an SDCard with 2 partitions
    • The first partition should be FAT32 and marked with the BOOT and LBA flags,
    • the Second partition should be EXT2, EXT3 or EXT4.
  2. The first partition contains binary images of the X-Loader, U-Boot and Boot.bin
    • The X-Loader is named MLO
    • The U-Boot is named uboot.bin
    • The Boot.bin is named flashing_boot.bin
  3. U-Boot will automically mount the ramdisk on the root of the second partition.

The nook tablet was not designed to operate past flashing_boot.bin as the Boot.bin is responsible for mounting all other partitions. Without a bootloader unlocking exploit to load a custom kernel and ramdisk, the device will boot normally from this point.

In order to change the structure , the initialization scripts must be modified and a bootloader unlock must be performed. An example of this can be found here in the first bootable SDCard: http://forum.xda-developers.com/show....php?t=1441930
I ignore PMs with questions that could be answered by searching. If you PM me, I probly won't respond.
Check out my developer pages. Add me to your circles on Google Plus.
The Following 5 Users Say Thank You to AdamOutler For This Useful Post: [ Click to Expand ]
 
AdamOutler
Old
(Last edited by AdamOutler; 23rd January 2012 at 01:06 AM.)
#3  
AdamOutler's Avatar
Elite Recognized Developer - OP
Thanks Meter 7989
Posts: 4,739
Join Date: Feb 2011
Location: Louisiana

 
DONATE TO ME
Part V - Compiling and Packaging a custom kernel

It was my intention to perform a writeup on how to compile a custom kernel, however, LogLud has done an excellent writeup here since I made this post.
See here: http://www.nooktabletdev.org/index.p...g_a_Boot_Image
I ignore PMs with questions that could be answered by searching. If you PM me, I probly won't respond.
Check out my developer pages. Add me to your circles on Google Plus.
The Following 2 Users Say Thank You to AdamOutler For This Useful Post: [ Click to Expand ]
 
AdamOutler
Old
(Last edited by AdamOutler; 23rd January 2012 at 01:20 AM.)
#4  
AdamOutler's Avatar
Elite Recognized Developer - OP
Thanks Meter 7989
Posts: 4,739
Join Date: Feb 2011
Location: Louisiana

 
DONATE TO ME
Compiling an alternate bootloader
In order to pass custom parameters into the kernel you will need a new bootloader. I'm assuming you are using Ubuntu.

Obtain a toolchain
You will need a toolchain. I recommend codesourcery. http://www.mentor.com/embedded-softw.../arm-gnu-linux


To build bauwks Second-UBoot from source
Code:
apt-get install git
git clone git://github.com/bauwks/Nook-Tablet.git
cd ./Nook-Tablet/distro/u-boot
git checkout second-uboot
PATH=/home/adam/CodeSourcery/Sourcery_G++_Lite/bin:$PATH #Change this to the path of your toolchain.
At this point, you can make your changes to the configuration and boot parameters. After you are complete, you can build it with the following.
Code:
make nt2ndboot_sd_config
./tools/build_nt_2ndboot_img.py -o test.img u-boot.bin
mkdir ~/Desktop/CustomBootImage
cp u-boot.bin ~/Desktop/CustomBootImage/flashing_boot.img
Your new u-boot.bin will be called "flashing_boot.img" and it will be located on your desktop in a folder called "CustomBootImage".
I ignore PMs with questions that could be answered by searching. If you PM me, I probly won't respond.
Check out my developer pages. Add me to your circles on Google Plus.
The Following 3 Users Say Thank You to AdamOutler For This Useful Post: [ Click to Expand ]
 
AdamOutler
Old
(Last edited by AdamOutler; 18th January 2012 at 10:12 PM.)
#5  
AdamOutler's Avatar
Elite Recognized Developer - OP
Thanks Meter 7989
Posts: 4,739
Join Date: Feb 2011
Location: Louisiana

 
DONATE TO ME
Part IV - Hardware Specifications
This section covers hardware specs. I obtained some information about the hardware using Voodoo Report. This is useful for porting other flavors of Linux and configuring hardware.

Build.prop
Code:
# begin build properties
# autogenerated by buildinfo.sh
ro.build.id=GINGERBREAD
ro.build.display.id=1.4.0.1029.acclaim1_4.acclaim.rrdf.s1
ro.build.version.incremental=1.4.0
ro.build.version.sdk=10
ro.build.version.codename=REL
ro.build.version.release=2.3.4
ro.build.date=Fri Nov 11 12:38:11 PST 2011
ro.build.date.utc=1321043891
ro.build.type=user
ro.build.user=build
ro.build.host=dhabuildimage17
ro.build.tags=test-keys
ro.product.model=BNTV250
ro.product.brand=nook
ro.product.name=blaze
ro.product.overall.name=NOOKTablet
ro.product.device=blaze
ro.product.bn.devicefamily=acclaim
ro.product.board=omap4sdp
ro.product.cpu.abi=armeabi-v7a
ro.product.cpu.abi2=armeabi
ro.product.manufacturer=Barnes&Noble
ro.product.locale.language=en
ro.product.locale.region=US
ro.wifi.channels=
ro.board.platform=omap4
# ro.build.product is obsolete; use ro.product.device
ro.build.product=blaze
ro.build.sourceversion=full
ro.build.description=1.4.0.1029.acclaim1_4.acclaim.rldp.s51317
ro.build.updatetype=Full
ro.build.fingerprint=acclaim/blaze/blaze:2.3.4/GINGERBREAD/1.4.0:user/test-keys
persist.bn.kpi.enabled=0
# end build properties
# system.prop for ldp
# This overrides settings in the products/generic/system.prop file
#
# rild.libpath=/system/lib/libreference-ril.so
# rild.libargs=-d /dev/ttyS0
com.ti.omap_enhancement=true
opencore.asmd=1
keyguard.no_require_sim=1
wifi.interface=tiwlan0
dalvik.vm.heapsize=128m
#dalvik.vm.heapsize=64m
ro.sf.widthpixels=600
ro.sf.heightpixels=1024
ro.sf.lcd_density.xdpi=169.33333
ro.sf.lcd_density.ydpi=169.33333
ro.sf.hwrotation=270
ro.opengles.version=131072
# Define modem related settings
ro.radio.use-ppp no
ro.config.nocheckin yes
#define defaults for audio D/A mic and power mode
omap.audio.mic.main=AMic0
omap.audio.mic.sub=AMic1
omap.audio.power=PingPong
af.resampler.quality=3
ro.nf.profile=2
ro.nf.level=512

#
# ADDITIONAL_BUILD_PROPERTIES
#
keyguard.no_require_sim=true
ro.com.android.dateformat=MM-dd-yyyy
ro.com.android.dataroaming=true
ro.ril.hsxpa=1
ro.ril.gprsclass=10
ro.config.notification_sound=OnTheHunt.ogg
ro.config.alarm_alert=Alarm_Classic.ogg
net.bt.name=Android
dalvik.vm.stack-trace-file=/data/anr/traces.txt

Device listings
Code:
/dev:
crw------- root     root       7, 135 2012-01-17 08:37 vcsa7
crw------- root     root       7,   7 2012-01-17 08:37 vcs7
crw-rw-rw- system   system    10,   0 2012-01-17 08:37 fwram
drwxr-xr-x system   system            2012-01-17 08:37 cpuctl
crw------- root     root      81,   4 2012-01-17 08:37 video4
crwxrwxrwx system   camera    81,   3 2012-01-17 08:37 video0
cr--r----- media    media    241,   2 2012-01-17 08:37 omap-devh2
cr--r----- media    media    241,   1 2012-01-17 08:37 omap-devh1
cr--r----- media    media    241,   0 2012-01-17 08:37 omap-devh0
crw-rw---- media    media    242,   0 2012-01-17 08:37 syslink-proc4430
crw-rw---- media    media    243,   0 2012-01-17 08:37 syslink-procmgr
crw-rw---- media    media    244,   0 2012-01-17 08:37 syslink_ipc
crw-rw---- media    media    245,   0 2012-01-17 08:37 tiler
crw-rw---- root     root     246,   0 2012-01-17 08:37 dmm
crw-rw-rw- system   system   248,   0 2012-01-17 08:37 pvrsrvkm
crw------- root     root     122,   1 2012-01-17 08:37 tf_ctrl
crw-rw-rw- root     root     122,   0 2012-01-17 08:37 tf_driver
cr--r----- media    media    250,   2 2012-01-17 08:37 omap-rproc2
cr--r----- media    media    250,   1 2012-01-17 08:37 omap-rproc1
cr--r----- media    media    250,   0 2012-01-17 08:37 omap-rproc0
cr--r----- media    media    251,   1 2012-01-17 08:37 iovmm-omap1
cr--r----- media    media    251,   0 2012-01-17 08:37 iovmm-omap0
crw------- root     root     252,   0 2012-01-17 08:37 ipu0
crw------- root     root       7, 129 2012-01-17 08:37 vcsa1
crw------- root     root       7,   1 2012-01-17 08:37 vcs1
crw------- root     root       7, 128 2012-01-17 08:37 vcsa
crw------- root     root       7,   0 2012-01-17 08:37 vcs
crw-rw-rw- root     root       5,   2 2012-01-17 08:37 ptmx
crw------- root     root       4,  63 2012-01-17 08:37 tty63
crw------- root     root       4,  62 2012-01-17 08:37 tty62
crw------- root     root       4,  61 2012-01-17 08:37 tty61
crw------- root     root       4,  60 2012-01-17 08:37 tty60
crw------- root     root       4,  59 2012-01-17 08:37 tty59
crw------- root     root       4,  58 2012-01-17 08:37 tty58
crw------- root     root       4,  57 2012-01-17 08:37 tty57
crw------- root     root       4,  56 2012-01-17 08:37 tty56
crw------- root     root       4,  55 2012-01-17 08:37 tty55
crw------- root     root       4,  54 2012-01-17 08:37 tty54
crw------- root     root       4,  53 2012-01-17 08:37 tty53
crw------- root     root       4,  52 2012-01-17 08:37 tty52
crw------- root     root       4,  51 2012-01-17 08:37 tty51
crw------- root     root       4,  50 2012-01-17 08:37 tty50
crw------- root     root       4,  49 2012-01-17 08:37 tty49
crw------- root     root       4,  48 2012-01-17 08:37 tty48
crw------- root     root       4,  47 2012-01-17 08:37 tty47
crw------- root     root       4,  46 2012-01-17 08:37 tty46
crw------- root     root       4,  45 2012-01-17 08:37 tty45
crw------- root     root       4,  44 2012-01-17 08:37 tty44
crw------- root     root       4,  43 2012-01-17 08:37 tty43
crw------- root     root       4,  42 2012-01-17 08:37 tty42
crw------- root     root       4,  41 2012-01-17 08:37 tty41
crw------- root     root       4,  40 2012-01-17 08:37 tty40
crw------- root     root       4,  39 2012-01-17 08:37 tty39
crw------- root     root       4,  38 2012-01-17 08:37 tty38
crw------- root     root       4,  37 2012-01-17 08:37 tty37
crw------- root     root       4,  36 2012-01-17 08:37 tty36
crw------- root     root       4,  35 2012-01-17 08:37 tty35
crw------- root     root       4,  34 2012-01-17 08:37 tty34
crw------- root     root       4,  33 2012-01-17 08:37 tty33
crw------- root     root       4,  32 2012-01-17 08:37 tty32
crw------- root     root       4,  31 2012-01-17 08:37 tty31
crw------- root     root       4,  30 2012-01-17 08:37 tty30
crw------- root     root       4,  29 2012-01-17 08:37 tty29
crw------- root     root       4,  28 2012-01-17 08:37 tty28
crw------- root     root       4,  27 2012-01-17 08:37 tty27
crw------- root     root       4,  26 2012-01-17 08:37 tty26
crw------- root     root       4,  25 2012-01-17 08:37 tty25
crw------- root     root       4,  24 2012-01-17 08:37 tty24
crw------- root     root       4,  23 2012-01-17 08:37 tty23
crw------- root     root       4,  22 2012-01-17 08:37 tty22
crw------- root     root       4,  21 2012-01-17 08:37 tty21
crw------- root     root       4,  20 2012-01-17 08:37 tty20
crw------- root     root       4,  19 2012-01-17 08:37 tty19
crw------- root     root       4,  18 2012-01-17 08:37 tty18
crw------- root     root       4,  17 2012-01-17 08:37 tty17
crw------- root     root       4,  16 2012-01-17 08:37 tty16
crw------- root     root       4,  15 2012-01-17 08:37 tty15
crw------- root     root       4,  14 2012-01-17 08:37 tty14
crw------- root     root       4,  13 2012-01-17 08:37 tty13
crw------- root     root       4,  12 2012-01-17 08:37 tty12
crw------- root     root       4,  11 2012-01-17 08:37 tty11
crw------- root     root       4,  10 2012-01-17 08:37 tty10
crw------- root     root       4,   9 2012-01-17 08:37 tty9
crw------- root     root       4,   8 2012-01-17 08:37 tty8
crw------- root     root       4,   7 2012-01-17 08:37 tty7
crw------- root     root       4,   6 2012-01-17 08:37 tty6
crw------- root     root       4,   5 2012-01-17 08:37 tty5
crw------- root     root       4,   4 2012-01-17 08:37 tty4
crw------- root     root       4,   3 2012-01-17 08:37 tty3
crw------- root     root       4,   2 2012-01-17 08:37 tty2
crw------- root     root       4,   1 2012-01-17 08:37 tty1
crw-rw---- root     system     4,   0 2012-01-17 08:37 tty0
crw------- root     root       5,   1 2012-01-17 08:37 console
crw-rw-rw- root     root       5,   0 2012-01-17 08:37 tty
crw------- root     root       1,  11 2012-01-17 08:37 kmsg
crw-rw-rw- root     root       1,   9 2012-01-17 08:37 urandom
crw-rw-rw- root     root       1,   8 2012-01-17 08:37 random
crw-rw-rw- root     root       1,   7 2012-01-17 08:37 full
crw-rw-rw- root     root       1,   5 2012-01-17 08:37 zero
crw-rw-rw- root     root       1,   3 2012-01-17 08:37 null
crw------- root     root       1,   2 2012-01-17 08:37 kmem
crw------- root     root       1,   1 2012-01-17 08:37 mem
crw------- root     root      10,  49 2012-01-17 08:37 network_throughput
crw------- root     root      10,  50 2012-01-17 08:37 network_latency
crw------- root     root      10,  51 2012-01-17 08:37 cpu_dma_latency
drwxr-xr-x root     root              2012-01-17 08:37 log
crw-rw-rw- root     root      10,  56 2012-01-17 08:37 binder
crw-rw-r-- system   radio     10,  57 2012-01-17 08:37 alarm
crw-rw---- system   bluetooth  10, 223 2012-01-17 08:37 uinput
crw------- root     root      10,  58 2012-01-17 08:37 keychord
crw-rw---- adb      adb       10,  59 2012-01-17 08:37 android_adb_enable
crw-rw---- adb      adb       10,  60 2012-01-17 08:37 android_adb
crw------- root     root      10,  61 2012-01-17 08:37 twl6030-gpadc
crw-rw-rw- root     root      10,  62 2012-01-17 08:37 ashmem
crw------- root     root      10,  63 2012-01-17 08:37 rfkill
crw------- root     root     254,   0 2012-01-17 08:37 timer32k
drwxr-xr-x root     root              2012-01-17 08:37 snd
crw------- root     root       4,  67 2012-01-17 08:37 ttyS3
crw------- root     root       4,  66 2012-01-17 08:37 ttyS2
crw------- root     root       4,  65 2012-01-17 08:37 ttyS1
crw-rw---- radio    radio      4,  64 2012-01-17 08:37 ttyS0
drwxr-xr-x root     root              2012-01-17 08:37 graphics
crw------- root     root      10, 130 2012-01-17 08:37 watchdog
crw------- system   system    81,   2 2012-01-17 08:37 video3
crw-rw---- system   system    81,   1 2012-01-17 08:37 video2
crw-rw---- system   system    81,   0 2012-01-17 08:37 video1
drwxr-xr-x root     root              2012-01-17 08:37 block
crw------- root     root     247,   3 2012-01-17 08:37 ttyO3
crw------- root     root     247,   2 2012-01-17 08:37 ttyO2
crw------- root     root     247,   1 2012-01-17 08:37 ttyO1
crw------- root     root     247,   0 2012-01-17 08:37 ttyO0
crw------- root     root      89,   4 2012-01-17 08:37 i2c-4
crw------- root     root      89,   3 2012-01-17 08:37 i2c-3
crw------- root     root      89,   2 2012-01-17 08:37 i2c-2
drwxr-xr-x root     root              2012-01-17 08:37 input
crw------- root     root      89,   1 2012-01-17 08:37 i2c-1
crw------- root     root     253,   0 2012-01-17 08:37 rtc0
drwxr-xr-x root     root              2012-01-17 08:37 socket
drwxr-xr-x root     root              1969-12-31 18:00 pts

/dev/cpuctl:
drwxr-xr-x root     root              2012-01-17 08:37 bg_non_interactive
drwxr-xr-x root     root              2012-01-17 08:37 fg_boost
-rw--w--w- root     root            4 2012-01-17 08:37 cpu.shares

/dev/cpuctl/bg_non_interactive:
-rw--w--w- root     root            2 2012-01-17 08:37 cpu.shares

/dev/cpuctl/fg_boost:
-rw--w--w- root     root            4 2012-01-17 08:37 cpu.shares

/dev/log:
crw-rw--w- root     log       10,  52 2012-01-17 08:37 system
crw-rw--w- root     log       10,  53 2012-01-17 08:37 radio
crw-rw--w- root     log       10,  54 2012-01-17 08:37 events
crw-rw--w- root     log       10,  55 2012-01-17 08:37 main

/dev/snd:
crwxrwxrwx system   audio    116,   2 2012-01-17 08:37 timer
crwxrwxrwx system   audio    116,   8 2012-01-17 08:37 controlC0
crwxrwxrwx system   audio    116,   7 2012-01-17 08:37 pcmC0D0p
crw-rw---- system   audio    116,   6 2012-01-17 08:37 pcmC0D1c
crw-rw---- system   audio    116,   5 2012-01-17 08:37 pcmC0D1p
crw-rw---- system   audio    116,   4 2012-01-17 08:37 pcmC0D2c
crw-rw---- system   audio    116,   3 2012-01-17 08:37 pcmC0D2p

/dev/graphics:
crw-rw---- root     graphics  29,   0 2012-01-17 08:37 fb0

/dev/block:
drwxr-xr-x root     root              2012-01-17 08:37 vold
brw------- root     root       7,   7 2012-01-17 08:37 loop7
brw------- root     root       7,   6 2012-01-17 08:37 loop6
brw------- root     root       7,   5 2012-01-17 08:37 loop5
brw------- root     root       7,   4 2012-01-17 08:37 loop4
brw------- root     root       7,   3 2012-01-17 08:37 loop3
brw------- root     root       7,   2 2012-01-17 08:37 loop2
brw------- root     root       7,   1 2012-01-17 08:37 loop1
brw------- root     root       7,   0 2012-01-17 08:37 loop0
brw------- root     root       1,  15 2012-01-17 08:37 ram15
brw------- root     root       1,  14 2012-01-17 08:37 ram14
brw------- root     root       1,  13 2012-01-17 08:37 ram13
brw------- root     root       1,  12 2012-01-17 08:37 ram12
brw------- root     root       1,  11 2012-01-17 08:37 ram11
brw------- root     root       1,  10 2012-01-17 08:37 ram10
brw------- root     root       1,   9 2012-01-17 08:37 ram9
brw------- root     root       1,   8 2012-01-17 08:37 ram8
brw------- root     root       1,   7 2012-01-17 08:37 ram7
brw------- root     root       1,   6 2012-01-17 08:37 ram6
brw------- root     root       1,   5 2012-01-17 08:37 ram5
brw------- root     root       1,   4 2012-01-17 08:37 ram4
brw------- root     root       1,   3 2012-01-17 08:37 ram3
brw------- root     root       1,   2 2012-01-17 08:37 ram2
brw------- root     root       1,   1 2012-01-17 08:37 ram1
brw------- root     root       1,   0 2012-01-17 08:37 ram0
brw------- root     root     179,  11 2012-01-17 08:37 mmcblk0p11
brw------- root     root     179,  10 2012-01-17 08:37 mmcblk0p10
brw------- root     root     179,   9 2012-01-17 08:37 mmcblk0p9
brw------- root     root     179,   8 2012-01-17 08:37 mmcblk0p8
brw------- root     root     179,   7 2012-01-17 08:37 mmcblk0p7
brw------- root     root     179,   6 2012-01-17 08:37 mmcblk0p6
brw------- root     root     179,   5 2012-01-17 08:37 mmcblk0p5
brw-rw---- root     system   179,   4 2012-01-17 08:37 mmcblk0p4
brw------- root     root     179,   3 2012-01-17 08:37 mmcblk0p3
brw------- root     root     179,   2 2012-01-17 08:37 mmcblk0p2
brw------- root     root     179,   1 2012-01-17 08:37 mmcblk0p1
drwxr-xr-x root     root              2012-01-17 08:37 platform
brw------- root     root     179,   0 2012-01-17 08:37 mmcblk0

/dev/block/vold:
brw-rw---- root     root     179,  11 2012-01-17 08:37 179:11
brw-rw---- root     root     179,  10 2012-01-17 08:37 179:10
brw-rw---- root     root     179,   9 2012-01-17 08:37 179:9
brw-rw---- root     root     179,   8 2012-01-17 08:37 179:8
brw-rw---- root     root     179,   7 2012-01-17 08:37 179:7
brw-rw---- root     root     179,   6 2012-01-17 08:37 179:6
brw-rw---- root     root     179,   5 2012-01-17 08:37 179:5
brw-rw---- root     root     179,   4 2012-01-17 08:37 179:4
brw-rw---- root     root     179,   3 2012-01-17 08:37 179:3
brw-rw---- root     root     179,   2 2012-01-17 08:37 179:2
brw-rw---- root     root     179,   1 2012-01-17 08:37 179:1
brw-rw---- root     root     179,   0 2012-01-17 08:37 179:0

/dev/block/platform:
drwxr-xr-x root     root              2012-01-17 08:37 mmci-omap-hs.1

/dev/block/platform/mmci-omap-hs.1:
lrwxrwxrwx root     root              2012-01-17 08:37 mmcblk0p11 -> /dev/block/mmcblk0p11
lrwxrwxrwx root     root              2012-01-17 08:37 mmcblk0p10 -> /dev/block/mmcblk0p10
lrwxrwxrwx root     root              2012-01-17 08:37 mmcblk0p9 -> /dev/block/mmcblk0p9
lrwxrwxrwx root     root              2012-01-17 08:37 mmcblk0p8 -> /dev/block/mmcblk0p8
lrwxrwxrwx root     root              2012-01-17 08:37 mmcblk0p7 -> /dev/block/mmcblk0p7
lrwxrwxrwx root     root              2012-01-17 08:37 mmcblk0p6 -> /dev/block/mmcblk0p6
lrwxrwxrwx root     root              2012-01-17 08:37 mmcblk0p5 -> /dev/block/mmcblk0p5
lrwxrwxrwx root     root              2012-01-17 08:37 mmcblk0p4 -> /dev/block/mmcblk0p4
lrwxrwxrwx root     root              2012-01-17 08:37 mmcblk0p3 -> /dev/block/mmcblk0p3
lrwxrwxrwx root     root              2012-01-17 08:37 mmcblk0p2 -> /dev/block/mmcblk0p2
lrwxrwxrwx root     root              2012-01-17 08:37 mmcblk0p1 -> /dev/block/mmcblk0p1
drwxr-xr-x root     root              2012-01-17 08:37 by-num
drwxr-xr-x root     root              2012-01-17 08:37 by-name
lrwxrwxrwx root     root              2012-01-17 08:37 mmcblk0 -> /dev/block/mmcblk0

/dev/block/platform/mmci-omap-hs.1/by-num:
lrwxrwxrwx root     root              2012-01-17 08:37 p11 -> /dev/block/mmcblk0p11
lrwxrwxrwx root     root              2012-01-17 08:37 p10 -> /dev/block/mmcblk0p10
lrwxrwxrwx root     root              2012-01-17 08:37 p9 -> /dev/block/mmcblk0p9
lrwxrwxrwx root     root              2012-01-17 08:37 p8 -> /dev/block/mmcblk0p8
lrwxrwxrwx root     root              2012-01-17 08:37 p7 -> /dev/block/mmcblk0p7
lrwxrwxrwx root     root              2012-01-17 08:37 p6 -> /dev/block/mmcblk0p6
lrwxrwxrwx root     root              2012-01-17 08:37 p5 -> /dev/block/mmcblk0p5
lrwxrwxrwx root     root              2012-01-17 08:37 p4 -> /dev/block/mmcblk0p4
lrwxrwxrwx root     root              2012-01-17 08:37 p3 -> /dev/block/mmcblk0p3
lrwxrwxrwx root     root              2012-01-17 08:37 p2 -> /dev/block/mmcblk0p2
lrwxrwxrwx root     root              2012-01-17 08:37 p1 -> /dev/block/mmcblk0p1

/dev/block/platform/mmci-omap-hs.1/by-name:
lrwxrwxrwx root     root              2012-01-17 08:37 userdata -> /dev/block/mmcblk0p11
lrwxrwxrwx root     root              2012-01-17 08:37 media -> /dev/block/mmcblk0p10
lrwxrwxrwx root     root              2012-01-17 08:37 cache -> /dev/block/mmcblk0p9
lrwxrwxrwx root     root              2012-01-17 08:37 system -> /dev/block/mmcblk0p8
lrwxrwxrwx root     root              2012-01-17 08:37 factory -> /dev/block/mmcblk0p7
lrwxrwxrwx root     root              2012-01-17 08:37 bootdata -> /dev/block/mmcblk0p6
lrwxrwxrwx root     root              2012-01-17 08:37 rom -> /dev/block/mmcblk0p5
lrwxrwxrwx root     root              2012-01-17 08:37 boot -> /dev/block/mmcblk0p4
lrwxrwxrwx root     root              2012-01-17 08:37 recovery -> /dev/block/mmcblk0p3
lrwxrwxrwx root     root              2012-01-17 08:37 bootloader -> /dev/block/mmcblk0p2
lrwxrwxrwx root     root              2012-01-17 08:37 xloader -> /dev/block/mmcblk0p1

/dev/input:
crw-rw---- root     input     13,  67 2012-01-17 08:37 event3
crw-rw---- root     input     13,  68 2012-01-17 08:37 event4
crw-rw---- root     input     13,  65 2012-01-17 08:37 event1
crw-rw---- root     input     13,  64 2012-01-17 08:37 event0
crw-rw---- root     input     13,  66 2012-01-17 08:37 event2

/dev/socket:
srw-rw---- wifi     wifi              2012-01-17 08:37 wpa_tiwlan0
srw-rw-rw- root     root              2012-01-17 08:37 keystore
srw------- system   system            2012-01-17 08:37 installd
srw-rw---- bluetooth bluetooth          2012-01-17 08:37 dbus
srw-rw-rw- root     root              2012-01-17 08:37 zygote
srw-rw---- root     radio             2012-01-17 08:37 rild
srw-rw---- radio    system            2012-01-17 08:37 rild-debug
srw-rw---- root     mount             2012-01-17 08:37 vold
srw-rw---- root     system            2012-01-17 08:37 netd
srw-rw-rw- root     root              2012-01-17 08:37 property_service

/dev/pts:


Sensors
Code:
Accelerometer:
	 vendor: kxtf9
	 name:   kxtf9_accel

Light:
	 vendor: ROHM
	 name:   BH1780gli Light sensor

Proximity:
	 vendor: OSRAM Opto Semiconductors
	 name:   SFH7741 Proximity sensor

Pressure:
	 vendor: Bosch
	 name:   BMP085 Pressure sensor

Temperature:
	 vendor: Bosch
	 name:   BMP085 Temperature sensor

Magnetic field:
	 vendor: HoneyWell
	 name:   HMC5843 3-Axis Magnetometer

Gravity:
	 vendor: Google Inc.
	 name:   Gravity Sensor

Linear acceleration:
	 vendor: Google Inc.
	 name:   Linear Acceleration Sensor

Rotation vector:
	 vendor: Google Inc.
	 name:   Rotation Vector Sensor
GPIOs
Code:
GPIOs 0-31, gpio:
 gpio-0   (mmc_cd              ) in  lo
 gpio-4   (mmc_wp              ) in  hi
 gpio-6   (h_SYS_DRM_MSEC      ) out hi
 gpio-29  (POWER               ) in  lo irq-189 edge-both

GPIOs 32-63, gpio:
 gpio-32  (HOME                ) in  hi irq-192 edge-both
 gpio-36  (vdd_lcdtp           ) out hi
 gpio-37  (ft5x06_touch        ) in  hi irq-197 edge-falling
 gpio-38  (BOXER BL PWR EN     ) out hi
 gpio-39  (ft5x06_reset        ) out hi
 gpio-44  (BOXER CABC0         ) out lo
 gpio-45  (BOXER CABC1         ) out lo
 gpio-60  (max8903_gpio_chg_en ) out hi
 gpio-62  (max8903_gpio_chg_flt) in  hi irq-222 edge-both
 gpio-63  (max8903_gpio_chg_usu) out hi

GPIOs 64-95, gpio:
 gpio-65  (max17042_irq        ) in  hi irq-225 edge-falling
 gpio-66  (kxtf9_irq           ) in  hi irq-226 edge-falling
 gpio-81  (max8903_gpio_chg_dok) in  hi
 gpio-82  (max8903_gpio_chg_uok) in  hi
 gpio-83  (max8903_gpio_chg_ius) out hi

GPIOs 96-127, gpio:
 gpio-101 (audio_codec_pwron   ) out hi
 gpio-102 (hsdet-gpio          ) in  hi irq-262 edge-both
 gpio-103 (Codec Interrupt     ) in  hi
 gpio-104 (audio_codec_reset   ) out hi
 gpio-114 (wifi_pwen           ) out hi
 gpio-115 (wifi_irq            ) in  hi irq-275 ?trigger?
 gpio-118 (wifi_pmena          ) out hi

GPIOs 128-159, gpio:

GPIOs 160-191, gpio:
 gpio-173 (max8903_gpio_chg_ilm) out lo
Kernel details (including loaded kernel modules. twilan_drv required for wifi)
Code:
Linux version 2.6.35.7 (build@dhabuildimage17) (gcc version 4.4.1 (Sourcery G++ Lite 2010q1-202) ) #1 SMP PREEMPT Fri Nov 11 12:35:42 PST 2011
tiwlan_drv 973884 0 - Live 0xbf006000
fwram 916 0 - Live 0xbf000000

Display information
Code:
Width: 600
Height: 1024
Refresh rate: 68.0
Pixel Format: 5

Stock disks
Code:
Filesystem             Size   Used   Free   Blksize
/dev                   456M    44K   456M   4096
/mnt/asec              456M     0K   456M   4096
/mnt/obb               456M     0K   456M   4096
/system                602M   401M   200M   4096
/data                   11G   306M    11G   4096
/cache                 419M     7M   412M   4096
/bootdata               47M     7K    47M   512
/rom                    47M    15K    47M   512
/mnt/media            1021M     5M  1016M   4096
/sys/ names
Code:
==> ./devices/platform/i2c_omap.1/i2c-1/name <==
OMAP I2C adapter
==> ./devices/platform/i2c_omap.1/i2c-1/1-0048/name <==
twl6030
==> ./devices/platform/i2c_omap.1/i2c-1/1-0048/twl_rtc/rtc/rtc0/name <==
twl_rtc
==> ./devices/platform/i2c_omap.1/i2c-1/1-0048/twl_reg.46/regulator/regulator.1/name <==
VUSB
==> ./devices/platform/i2c_omap.1/i2c-1/1-0048/twl_reg.40/regulator/regulator.2/name <==
VMMC
==> ./devices/platform/i2c_omap.1/i2c-1/1-0048/twl_reg.41/regulator/regulator.3/name <==
VPP
==> ./devices/platform/i2c_omap.1/i2c-1/1-0048/twl_reg.43/regulator/regulator.4/name <==
VANA
==> ./devices/platform/i2c_omap.1/i2c-1/1-0048/twl_reg.44/regulator/regulator.5/name <==
VCXIO
==> ./devices/platform/i2c_omap.1/i2c-1/1-0048/twl_reg.37/regulator/regulator.6/name <==
VAUX1_6030
==> ./devices/platform/i2c_omap.1/i2c-1/1-0048/twl_reg.39/regulator/regulator.7/name <==
VAUX3_6030
==> ./devices/platform/i2c_omap.1/i2c-1/1-0048/twl_reg.48/regulator/regulator.8/name <==
CLK32KG
==> ./devices/platform/i2c_omap.1/i2c-1/1-0049/name <==
dummy
==> ./devices/platform/i2c_omap.1/i2c-1/1-004a/name <==
dummy
==> ./devices/platform/i2c_omap.1/i2c-1/1-004b/name <==
dummy
==> ./devices/platform/i2c_omap.1/i2c-1/1-000f/name <==
kxtf9
==> ./devices/platform/i2c_omap.1/i2c-1/1-0036/name <==
max17042
==> ./devices/platform/i2c_omap.1/i2c-1/i2c-dev/i2c-1/name <==
OMAP I2C adapter
==> ./devices/platform/i2c_omap.2/i2c-2/name <==
OMAP I2C adapter
==> ./devices/platform/i2c_omap.2/i2c-2/2-0022/name <==
cyttsp-i2c
==> ./devices/platform/i2c_omap.2/i2c-2/2-0038/name <==
ft5x06-i2c
==> ./devices/platform/i2c_omap.2/i2c-2/2-0038/input/input2/name <==
ft5x06-i2c
==> ./devices/platform/i2c_omap.2/i2c-2/2-0018/name <==
tlv320aic3100
==> ./devices/platform/i2c_omap.2/i2c-2/i2c-dev/i2c-2/name <==
OMAP I2C adapter
==> ./devices/platform/i2c_omap.3/i2c-3/name <==
OMAP I2C adapter
==> ./devices/platform/i2c_omap.3/i2c-3/i2c-dev/i2c-3/name <==
OMAP I2C adapter
==> ./devices/platform/i2c_omap.4/i2c-4/name <==
OMAP I2C adapter
==> ./devices/platform/i2c_omap.4/i2c-4/i2c-dev/i2c-4/name <==
OMAP I2C adapter
==> ./devices/platform/gpio-keys/input/input0/name <==
gpio-keys
==> ./devices/platform/reg-fixed-voltage/regulator/regulator.0/name <==
vdd_lcdtp
==> ./devices/platform/mmci-omap-hs.1/mmc_host/mmc0/mmc0:0001/name <==
016G4A
==> ./devices/platform/omap-keypad/input/input1/name <==
omap-keypad
==> ./devices/platform/omapdss/manager0/name <==
lcd
==> ./devices/platform/omapdss/manager1/name <==
tv
==> ./devices/platform/omapdss/manager2/name <==
2lcd
==> ./devices/platform/omapdss/overlay0/name <==
gfx
==> ./devices/platform/omapdss/overlay1/name <==
vid1
==> ./devices/platform/omapdss/overlay2/name <==
vid2
==> ./devices/platform/omapdss/overlay3/name <==
vid3
==> ./devices/platform/omap_vout/video4linux/video1/name <==
omap_vout
==> ./devices/platform/omap_vout/video4linux/video2/name <==
omap_vout
==> ./devices/platform/omap_vout/video4linux/video3/name <==
omap_vout
==> ./devices/platform/omapfb/graphics/fb0/name <==
omapfb
==> ./devices/platform/soc-audio/sound/card0/input4/name <==
OMAP4_ACCLAIM_ABE Headset Jack
==> ./devices/system/cpu/cpu0/cpuidle/state0/name <==
C1
==> ./devices/system/cpu/cpu0/cpuidle/state1/name <==
C2
==> ./devices/system/cpu/cpu0/cpuidle/state2/name <==
C3
==> ./devices/system/cpu/cpu0/cpuidle/state3/name <==
C4
==> ./devices/system/cpu/cpu1/cpuidle/state0/name <==
C1
==> ./devices/system/cpu/cpu1/cpuidle/state1/name <==
C2
==> ./devices/system/cpu/cpu1/cpuidle/state2/name <==
C3
==> ./devices/system/cpu/cpu1/cpuidle/state3/name <==
C4
==> ./devices/omapdss/display0/name <==
boxerLCD
==> ./devices/virtual/vtconsole/vtcon0/name <==
(S) dummy device
==> ./devices/virtual/switch/usb_connected/name <==
usb_connected
==> ./devices/virtual/switch/usb_configuration/name <==
usb_configuration
==> ./devices/virtual/switch/usb_mass_storage/name <==
usb_mass_storage
==> ./devices/virtual/input/input3/name <==
kxtf9_accel
==> ./devices/virtual/video4linux/video0/name <==
s3d_overlay
==> ./devices/virtual/video4linux/video4/name <==
omap_wb
==> ./bus/omapdss/drivers/hdmi_panel/name <==
hdmi_panel
==> ./bus/omapdss/drivers/boxer_panel_drv/name <==
boxer_panel_drv
I ignore PMs with questions that could be answered by searching. If you PM me, I probly won't respond.
Check out my developer pages. Add me to your circles on Google Plus.
The Following 3 Users Say Thank You to AdamOutler For This Useful Post: [ Click to Expand ]
 
AdamOutler
Old
(Last edited by AdamOutler; 18th January 2012 at 09:58 PM.)
#6  
AdamOutler's Avatar
Elite Recognized Developer - OP
Thanks Meter 7989
Posts: 4,739
Join Date: Feb 2011
Location: Louisiana

 
DONATE TO ME
Part III - Bootloader Unlocking Exploits
This section covers bootloader unlocks

Bauwks Bootloader unlock
Original post found here: http://forum.xda-developers.com/show...&postcount=274
Quote:
Hello all,

I was poking around the nook source code and saw something interesting in u-boot. When it loads a kernel/ramdisk pair into RAM, it doesn't verify the load addresses in the header. That means that I can load 2 independent payloads into anywhere I want in RAM.

What I have done is this:
* Created an SD card that the NT can boot from (contains MLO and signed u-boot.bin)
* Compiled a new u-boot without security checks and a default bootcmd to load "boot.img" off the sd card - this is my "kernel"
* created another payload which is designed to overwrite the stack so my new u-boot is called - this is my "ramdisk"
* packaged my "kernel" and "ramdisk" into an Android image and named it "flashing_boot.img" on my SD card
* boot my nook & see my (unsigned) u-boot take over the universe

(Note: my NT only tries to boot off of the SD card when it's USB is plugged in. is that expected?)

Try out a sample run with this flashing_boot.img. You should be able to unpack the original boot.img, change stuff, repack it, and boot it. I haven't tried that far myself though.

http://dl.dropbox.com/u/40331061/flashing_boot.img

I have other goodies too but the forum won't let me post links. boooooo.
function: This flashing_boot.bin will load an unsecure U-Boot bootloader into ram which passes security checks and is executed by the Secure U-Boot. The Unsecure U-Boot will then look for a "boot.img" on the sdcard and execute it without security checks. Thereby eliminating security and "unlocking" the bootloader.



UART NOP Based Security Bypass
See here for the original thread: http://forum.xda-developers.com/show....php?t=1425044
See here for setting up UART http://forum.xda-developers.com/show....php?t=1423009

U-Boot prompt method
This method expects that you are using a stock MLO and a stock U-Boot on an SDCard. At the U-Boot prompt type the following to load a unsecure kernel named "new.flashing_boot.img" without security:
Code:
mmcinit 0; fatload mmc 0:1 0x81000000 new.flashing_boot.img;
mw.l 80e84794 e1a00000; mw.l 80e847fc e1a00000; mw.l 80e84808 e1a00000; mw.l 80e847a0 e1a00000;booti 0x81000000;

Automated "UnBrickable ModCHIP"
This method can be automated using an ATTiny4313. The ATTiny4313 costs $3 so this is an inexpensive hardware-based bootloader unlock. The following code can be compiled using Arduino IDE with ArduinoTiny Libraries set for ATTiny4313 microcontroller.
Code:
/*
Barnes and Nobel Nook Tablet UnBrickable Modchip
 Copyright 2011 Adam Outler - hkvc
This program is free software: you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
 the Free Software Foundation, either version 3 of the License, or
 (at your option) any later version.
This program is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 GNU General Public License for more details.
-Adam Outler  adamoutler, gmail.com
*/

boolean Position[3]={true,true,true};//Place holders for operation
int inByte; //current byte
String Message=""; //current string of bytes
//begin sketch

void setup() {
  Serial.begin(115200); //Initialize UART and set baud for serial
  Serial.println("I are your god now");
  }
void loop() {
  if (Serial.available()) {
    inByte = Serial.read();
    if ( inByte == 10 ){
      Message="";
    } 
    else {
      Message=Message +(char)inByte; //dump char into string
      if (Message == "OMAP44XX SDP # "){
        if ( Position[1]){
          Serial.println("O hai Nook Im in ur memory");
          Serial.println("mmcinit 0; fatload mmc 0:1 0x81000000 new.flashing_boot.img;");
          Serial.println("Mai kernel is ur kernel");
          Position[1]=(!Position[1]);
          return;

        } else if ( Position[2]){
          Serial.println("Ur Security is my target");
          Serial.println("mw.l 80e84794 e1a00000; mw.l 80e847fc e1a00000; mw.l 80e84808 e1a00000; mw.l 80e847a0 e1a00000;");
          Serial.println("Ur Security is neutralized");
          Position[2]=(!Position[2]);
          return;
        } 
        else if ( Position[3]){
          Serial.println("boot mai kernel now");
          Serial.print("booti 0x81000000");
          Serial.println("k thx bai");
          Position[3]=(!Position[3]);
          lockup;
        }
      }  
    }
  }
  if (millis()>=60000){
    lockup;
  }
}
void lockup(){
  while(true){
    delay(50000);//program cannot end, only sleep
  }
}
The ATTiny4313 is connected to the device in the following way:
Pin2>Uart TX
Pin3>UART RX
Pin10> Ground
Pin20>1.8v.

function: This hardware exploit sends commands into memory which null the security checks and allow the device to boot a file called "new.flashing_boot.img" without any security checks.


Conclusion
Using this information and other resources on Linux/Android hacking, you should have all the tools required to make your own custom Android ROM. It is my goal to help enable development on this device. We now have total control over the Nook Tablet.

Please let me know if there's anything I should add.D
I ignore PMs with questions that could be answered by searching. If you PM me, I probly won't respond.
Check out my developer pages. Add me to your circles on Google Plus.
The Following 15 Users Say Thank You to AdamOutler For This Useful Post: [ Click to Expand ]
 
dodgepot
Old
#7  
dodgepot's Avatar
Senior Member
Thanks Meter 69
Posts: 281
Join Date: Jan 2011
Location: Las Vegas
Thanks for the info man. Looking forward to seeing how this pans out.

Sent from my HTC Glacier using xda premium
 
Loglud
Old
#8  
Senior Member
Thanks Meter 380
Posts: 179
Join Date: Jul 2011

 
DONATE TO ME
Quote:
Originally Posted by AdamOutler View Post

GPIOs
Code:
GPIOs 0-31, gpio:
 gpio-0   (mmc_cd              ) in  lo
 gpio-4   (mmc_wp              ) in  hi
 gpio-6   (h_SYS_DRM_MSEC      ) out hi
 gpio-29  (POWER               ) in  lo irq-189 edge-both

GPIOs 32-63, gpio:
 gpio-32  (HOME                ) in  hi irq-192 edge-both
 gpio-36  (vdd_lcdtp           ) out hi
 gpio-37  (ft5x06_touch        ) in  hi irq-197 edge-falling
 gpio-38  (BOXER BL PWR EN     ) out hi
 gpio-39  (ft5x06_reset        ) out hi
 gpio-44  (BOXER CABC0         ) out lo
 gpio-45  (BOXER CABC1         ) out lo
 gpio-60  (max8903_gpio_chg_en ) out hi
 gpio-62  (max8903_gpio_chg_flt) in  hi irq-222 edge-both
 gpio-63  (max8903_gpio_chg_usu) out hi

GPIOs 64-95, gpio:
 gpio-65  (max17042_irq        ) in  hi irq-225 edge-falling
 gpio-66  (kxtf9_irq           ) in  hi irq-226 edge-falling
 gpio-81  (max8903_gpio_chg_dok) in  hi
 gpio-82  (max8903_gpio_chg_uok) in  hi
 gpio-83  (max8903_gpio_chg_ius) out hi

GPIOs 96-127, gpio:
 gpio-101 (audio_codec_pwron   ) out hi
 gpio-102 (hsdet-gpio          ) in  hi irq-262 edge-both
 gpio-103 (Codec Interrupt     ) in  hi
 gpio-104 (audio_codec_reset   ) out hi
 gpio-114 (wifi_pwen           ) out hi
 gpio-115 (wifi_irq            ) in  hi irq-275 ?trigger?
 gpio-118 (wifi_pmena          ) out hi

GPIOs 128-159, gpio:

GPIOs 160-191, gpio:
 gpio-173 (max8903_gpio_chg_ilm) out lo
.
Hmm strange that the vol up and down arnt listed. O well. Good list. I'll add it to the wiki.


Sent from my Galaxy Nexus using xda premium
Current list of devices:
HTC Rezound
Samsung Infuse 4G
Samsung Galaxy Nexus - CM10 Nightly
Barns & Noble Nook Tablet - CM9
Transformer TF201 - CM10 Nightly

Current projects:
[Dev] [NARS] [Mac & Linux] Nook Automated Rooting System
CASUAL

Quote:
If I have seen further it is only by standing on the shoulders of giants.
-Sir Isaac Newton
 
AdamOutler
Old
#9  
AdamOutler's Avatar
Elite Recognized Developer - OP
Thanks Meter 7989
Posts: 4,739
Join Date: Feb 2011
Location: Louisiana

 
DONATE TO ME
Quote:
Originally Posted by Loglud View Post
Hmm strange that the vol up and down arnt listed. O well. Good list. I'll add it to the wiki.


Sent from my Galaxy Nexus using xda premium
I believe they are shared objects. I was able to get them into Ubuntu by adding the shared objects found in /etc/ folder. Volume+ and Volume- work now and didn't work before. I find this odd.

I requested that this post be merged into the other nook tablet reference thread so I formatted it properly. http://forum.xda-developers.com/show....php?t=1444205
I ignore PMs with questions that could be answered by searching. If you PM me, I probly won't respond.
Check out my developer pages. Add me to your circles on Google Plus.
 
Loglud
Old
#10  
Senior Member
Thanks Meter 380
Posts: 179
Join Date: Jul 2011

 
DONATE TO ME
Quote:
Originally Posted by AdamOutler View Post
I believe they are shared objects. I was able to get them into Ubuntu by adding the shared objects found in /etc/ folder. Volume+ and Volume- work now and didn't work before. I find this odd.

I requested that this post be merged into the other nook tablet reference thread so I formatted it properly. http://forum.xda-developers.com/show....php?t=1444205
Thats still very strange, because in order for them to be polled by the CPU they must be on the watchdog timer and on the GPIO port list, however, I'm curious if they use a linked GPIO. O well. I am currently doing massive updates to the nooktabletdev.org and I will add all of this documentation to make sure if can be used.
Current list of devices:
HTC Rezound
Samsung Infuse 4G
Samsung Galaxy Nexus - CM10 Nightly
Barns & Noble Nook Tablet - CM9
Transformer TF201 - CM10 Nightly

Current projects:
[Dev] [NARS] [Mac & Linux] Nook Automated Rooting System
CASUAL

Quote:
If I have seen further it is only by standing on the shoulders of giants.
-Sir Isaac Newton

 
Post Reply+
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

report this ad
Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Go to top of page...