Register Guidelines E-Books Search Today's Posts Mark Forums Read

Go Back   MobileRead Forums > E-Book Readers > Amazon Kindle > Kindle Developer's Corner

Notices

View Poll Results: Was this helpful?
Yes 2 100.00%
No 0 0%
Voters: 2. You may not vote on this poll

Reply
 
Thread Tools Search this Thread
Old 09-19-2014, 08:24 PM   #1
finitelife
Member
finitelife will become famous soon enoughfinitelife will become famous soon enoughfinitelife will become famous soon enoughfinitelife will become famous soon enoughfinitelife will become famous soon enoughfinitelife will become famous soon enough
 
Posts: 13
Karma: 504
Join Date: Sep 2014
Device: PaperWhite
PaperWhite 1 Kernel Build Walkthrough

Long time listener, first time caller:

Since I couldn't find much specific info concerning the PaperWhite here (yes I know its a K5... kinda), I decided to share my current progress on building the kernel and modules. The end goal is to have OTG host mode, bluetooth, audio, and thumb drive support. That should keep me happy. Once I make some headway with this I will be posting an end to end walkthrough for the PW1. It will be from demo/brick/serial to jailbreak to kindlets to kual to root to optware to OTG to bt/sound/thumb. What I need from you people now is some guidance.

Notes:
  • OS in use is Slackware64 14.1. If you use another OS (Ubuntu/Debian) it should still work fine.
  • Build root is '~/' (home). To do this process from another directory, copy this post into an editor, the search and replace '~/' with whatever.
  • Using a different toolchain should be as simple as replacing CROSS_COMPILE

Here we go:
  1. Download and extract the Kindle source files
    Quote:
    #go to your home directory
    cd ~
    #download the Kindle source files (5.4.4.2)
    wget https://kindle.s3.amazonaws.com/Kind...3310003.tar.gz
    #extract the kindle sources
    tar xf ~/Kindle_src_5.4.4.2_2323310003.tar.gz
  2. Select and Configure a Toolchain
    Use the packaged build_linaro-gcc:
    Quote:
    #make and move into our toolchain root
    mkdir ~/gplrelease/build; cd ~/gplrelease/build
    #extract toolchain sources to our location
    tar xf ~/gplrelease/build_linaro-gcc_4.5.4.tar.gz
    #make and package the toolchain
    make PREFIX=~/cross-linaro-gcc
    #go to your home directory
    cd ~
    #extract the configured toolchain to our location
    tar xf ~/gplrelease/build/cross-arm-linux-gnueabi-gcc-linaro-4.5-2011.05-0.tar.bz2
    #SUBSTITUTE THIS FOR CROSS_COMPILE IN SUBSEQUENT STEPS
    CROSS_COMPILE=~/cross-linaro-gcc/bin/arm-linux-gnueabi-
    ...or use a prebuilt toolchain
    Spoiler:

    Quote:
    #go to your home directory
    cd ~
    #download a simple arm toolchain
    wget https://sourcery.mentor.com/GNUToolc...ux-gnu.tar.bz2
    #extract your toolchain
    tar xf ~/arm-2014.05-29-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2
    #SUBSTITUTE THIS FOR CROSS_COMPILE
    CROSS_COMPILE=~/arm-2014.05/bin/arm-none-linux-gnueabi-
  3. Build uBoot's mkimage
    Quote:
    #make and move into our uBoot build root
    mkdir ~/gplrelease/uboot; cd ~/gplrelease/uboot
    #extract uBoot sources to our location
    tar xf ~/gplrelease/uboot_2009.08.tar.gz
    #set up our uBoot for our board
    make imx50_yoshi_config
    #make the tools (we only need mkimage)
    make CROSS_COMPILE=~/cross-linaro-gcc/bin/arm-linux-gnueabi- tools
  4. Set up the Linux build
    Quote:
    #make and move into our Linux build root
    mkdir ~/gplrelease/linux; cd ~/gplrelease/linux
    #extract the linux sources to our location
    tar xf ~/gplrelease/linux-2.6.31.tar.gz
    #set up the kernel for our board (YOSHIME is PW1 WiFi, YOSHIME3 is PW1 3G)
    make ARCH=arm imx50_yoshime3_defconfig
    #configure the kernel options (I like menuconfig, but config, etc, also work)
    make ARCH=arm menuconfig
  5. Kernel Configuration Notes (full .config attached 'yoshime3.config.tar')
    Quote:
    #Here are my working changes:
    CONFIG_KEXEC=y
    CONFIG_ATAGS_PROC=y

    CONFIG_NET_IPIP=m
    CONFIG_NET_IPGRE=m
    CONFIG_NET_IPGRE_BROADCAST=y
    CONFIG_IPV6=m

    CONFIG_IRDA=m
    CONFIG_USB_IRDA=m

    CONFIG_BT=m
    CONFIG_BT_L2CAP=m
    CONFIG_BT_RFCOMM=m
    CONFIG_BT_RFCOMM_TTY=y
    CONFIG_BT_HIDP=m
    CONFIG_BT_HCIBTUSB=m
    CONFIG_BT_HCIUART=m
    CONFIG_BT_HCIUART_H4=y

    CONFIG_TUN=m
    CONFIG_USB_USBNET=m

    CONFIG_SOUND=m
    CONFIG_SND=m
    CONFIG_SND_SEQUENCER=m
    CONFIG_SND_MIXER_OSS=m
    CONFIG_SND_PCM_OSS=m
    CONFIG_SND_DUMMY=m
    CONFIG_SND_USB_AUDIO=m

    CONFIG_HID_SUPPORT=y

    CONFIG_USB_DEBUG=y
    CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
    CONFIG_USB_GADGET_DEBUG_FILES=y
    CONFIG_USB_GADGET_DEBUG_FS=y
    CONFIG_USB_OTG=y
    CONFIG_USB_AUDIO=m
    CONFIG_USB_GADGETFS=m
    CONFIG_USB_G_SERIAL=m
    CONFIG_USB_MIDI_GADGET=m
    CONFIG_USB_GPIO_VBUS=m
    CONFIG_NOP_USB_XCEIV=m

    CONFIG_EXT4_FS=m
    CONFIG_EXT4DEV_COMPAT=y
    CONFIG_NTFS_FS=m
    CONFIG_NTFS_DEBUG=y
    CONFIG_NTFS_RW=y

    CONFIG_AUFS_FS=m
  6. Fix the broken config includes
    Quote:
    #add Kexec support to the Kernel
    echo -e 'CONFIG_KEXEC=y\nCONFIG_ATAGS_PROC=y'>>~/gplrelease/linux/.config

    #add the yoshime[3] front light include (copy from uboot/include/linux/frontlight.h)
    cp ~/gplrelease/uboot/include/linux/frontlight.h ~/gplrelease/linux/include/linux/

    #fix yoshime[3] hall sensor include (copy yoshime_hall.h to lab126_hall.h and tweak it)
    sed 's/YOSHIME/LAB126/;s/struct yoshime_/#define HALL_MISC_DEV_NAME "hall"\n#define PATH_DEV_HALL "\/dev\/"HALL_MISC_DEV_NAME\nstruct /' ~/gplrelease/linux/include/linux/yoshime_hall.h >~/gplrelease/linux/include/linux/lab126_hall.h

    #fix yoshime3 mxc fb by disabling the useless NEON extensions
    chmod u+w ~/gplrelease/linux/include/linux/mxcfb.h
    cat << EOP >>~/gplrelease/linux/include/linux/mxcfb.h
    #define WAVEFORM_MODE_REAGL 0x8
    #define WAVEFORM_MODE_REAGLD 0x9
    #define TEMP_USE_AUTO 0x1001
    #define MXCFB_GET_WAVEFORM_TYPE _IOR('F', 0x39, __u32)
    #define WAVEFORM_TYPE_4BIT 0x1

    EOP
    chmod u-w ~/gplrelease/linux/include/linux/mxcfb.h
    sed -i 's/int mode_du4;/int mode_du4;int mode_reagl;int mode_reagld;/' ~/gplrelease/linux/include/linux/mxcfb.h
    sed -i 's/#ifdef __ARM_NEON__/#undef __ARM_NEON__\n#ifdef __ARM_NEON__/' ~/gplrelease/linux/drivers/video/mxc/mxc_epdc_fb.c
  7. Compile the kernel and modules
    Quote:
    #make the uImage kernel
    make ARCH=arm CROSS_COMPILE=~/cross-linaro-gcc/bin/arm-linux-gnueabi- PATH=${PATH}:~/gplrelease/uboot/tools uImage
    #make the modules
    make ARCH=arm CROSS_COMPILE=~/cross-linaro-gcc/bin/arm-linux-gnueabi- tar-pkg
  8. Update paths in modules.dep and finalize the tar
    Quote:
    #set the correct module path in modules.dep
    sed -i 's/kernel\//\/lib\/modules\/2.6.31-rt11-lab126\/kernel\//g' ~/gplrelease/linux/tar-install/lib/modules/2.6.31-rt11-lab126/modules.dep
    #merge the updated modules.dep into the final tar
    cd ~/gplrelease/linux/tar-install
    tar -uf ~/gplrelease/linux/linux-2.6.31-rt11-lab126.tar ./lib/modules/2.6.31-rt11-lab126/modules.dep
    cd ~/gplrelease/linux
    gzip ~/gplrelease/linux/linux-2.6.31-rt11-lab126.tar
  9. BACK UP YOUR .config (full .config attached 'yoshime3.config.tar')
    Quote:
    #just copy your kernel config to outside the build root
    cp ~/gplrelease/linux/.config ~/gplrelease/yoshime3.config
  10. You now have a file named ~/gplrelease/linux/linux-2.6.31-rt11-lab126.tar.gz containing the kernel and modules (mine is attached 'linux-2.6.31-rt11-lab126.tar.gz', don't blame me if you use it). I will edit to add how to load this onto your kernel shortly, but if you are doing this process you really should know how already.
  11. ???
  12. Brick or Profit

My questions now are:
  • Does the PaperWhite 1 (i.MX508?) support OTG host mode?
  • How do I sense/manually trigger OTG host mode?
  • Is there a preferred way to load the kernel+modules on my Kindle so as to not brick it repeatedly?

Special thanks to MadMouse on HackThisSite IRC for the moral support, and shared coffees/cigarettes!

This post is updated and current to and including post #37

Last edited by finitelife; 09-26-2014 at 02:32 PM. Reason: colors
finitelife is offline   Reply With Quote
Old 09-19-2014, 09:11 PM   #2
Glorfindel
Wizard
Glorfindel ought to be getting tired of karma fortunes by now.Glorfindel ought to be getting tired of karma fortunes by now.Glorfindel ought to be getting tired of karma fortunes by now.Glorfindel ought to be getting tired of karma fortunes by now.Glorfindel ought to be getting tired of karma fortunes by now.Glorfindel ought to be getting tired of karma fortunes by now.Glorfindel ought to be getting tired of karma fortunes by now.Glorfindel ought to be getting tired of karma fortunes by now.Glorfindel ought to be getting tired of karma fortunes by now.Glorfindel ought to be getting tired of karma fortunes by now.Glorfindel ought to be getting tired of karma fortunes by now.
 
Glorfindel's Avatar
 
Posts: 2,610
Karma: 4057578
Join Date: Feb 2014
Location: Valinor
Device: Kindle 4 w/SO
I think you will get more help/interest in the Kindle Developer's Corner
Glorfindel is offline   Reply With Quote
Old 09-19-2014, 11:09 PM   #3
finitelife
Member
finitelife will become famous soon enoughfinitelife will become famous soon enoughfinitelife will become famous soon enoughfinitelife will become famous soon enoughfinitelife will become famous soon enoughfinitelife will become famous soon enough
 
Posts: 13
Karma: 504
Join Date: Sep 2014
Device: PaperWhite
oh shoot, can a mod move this please?
finitelife is offline   Reply With Quote
Old 09-20-2014, 02:42 AM   #4
thomass
Wizard
thomass ought to be getting tired of karma fortunes by now.thomass ought to be getting tired of karma fortunes by now.thomass ought to be getting tired of karma fortunes by now.thomass ought to be getting tired of karma fortunes by now.thomass ought to be getting tired of karma fortunes by now.thomass ought to be getting tired of karma fortunes by now.thomass ought to be getting tired of karma fortunes by now.thomass ought to be getting tired of karma fortunes by now.thomass ought to be getting tired of karma fortunes by now.thomass ought to be getting tired of karma fortunes by now.thomass ought to be getting tired of karma fortunes by now.
 
Posts: 1,642
Karma: 1928001
Join Date: Mar 2011
Location: Türkiye
Device: Kindle 5.3.7
Quote:
Originally Posted by finitelife View Post
oh shoot, can a mod move this please?
You can use the report button on the first post () to reach a mod.
thomass is offline   Reply With Quote
Old 09-20-2014, 08:38 AM   #5
NiLuJe
BLAM!
NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.
 
NiLuJe's Avatar
 
Posts: 4,965
Karma: 4501011
Join Date: Jun 2010
Location: Paris, France
Device: Kindle 2i, 3g, 4, 5w, PW & PW2
For a PW1, probably yoshime or yoshime3 (yoshi is the Touch).

(cf. KindleTool).
NiLuJe is offline   Reply With Quote
Old 09-20-2014, 11:20 AM   #6
knc1
Embedded Cheerleader
knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.
 
knc1's Avatar
 
Posts: 6,664
Karma: 5850002
Join Date: Feb 2012
Device: Too many.
Quote:
Originally Posted by finitelife View Post
e?
  • Is there a preferred way to load the kernel+modules on my Kindle so as to not brick it repeatedly?
Yes.

Try to load them from the network (net-boot) the device rather than writing them to flash, un-tested.
OR
Do the same, manually, from the U-Boot -> Bist menu entry.
I.E: Load the experimental code to RAM and then execute it.

Tread carefully, the Paperwhite devices are difficult to de-brick.

- - - -
Whee - 6,500 - I gotta get a life.
knc1 is offline   Reply With Quote
Old 09-20-2014, 06:42 PM   #7
finitelife
Member
finitelife will become famous soon enoughfinitelife will become famous soon enoughfinitelife will become famous soon enoughfinitelife will become famous soon enoughfinitelife will become famous soon enoughfinitelife will become famous soon enough
 
Posts: 13
Karma: 504
Join Date: Sep 2014
Device: PaperWhite
Quote:
Tread carefully, the Paperwhite devices are difficult to de-brick.
Indeed. I've decided to leave mine open with the serial port attached as I've bricked a good 10 times over the past 3 days.
finitelife is offline   Reply With Quote
Old 09-22-2014, 10:20 AM   #8
bulsa
Member
bulsa began at the beginning.
 
Posts: 24
Karma: 13
Join Date: Apr 2014
Device: Kindle PW
Quote:
Originally Posted by finitelife View Post
[*]Anyone have 'linux/lab126_hall.h'?[*]Anyone have 'mach/yoshime_fl_int.h'?
IMHO we should be able to get those from Amazon under the GPL, who wants to write the letter?

Quote:
Originally Posted by finitelife View Post
[*]Any ideas on the FB_MXC_EINK_PANEL problem?
What kind of toolchain are you using and what kind of error are you getting?
I just tried a buildroot with glibc and gcc-4.7 and got:
Quote:
drivers/mxc/pmic/mc13892/pmic_battery.c: In function ‘pmic_battery_probe’:
drivers/mxc/pmic/mc13892/pmic_battery.c:540:3: error: implicit declaration of function ‘machine_is_mx50_yoshime’ [-Werror=implicit-function-declaration]
cc1: some warnings being treated as errors
scripts/Makefile.build:228: recipe for target 'drivers/mxc/pmic/mc13892/pmic_battery.o' failed
make[6]: *** [drivers/mxc/pmic/mc13892/pmic_battery.o] Error 1
scripts/Makefile.build:363: recipe for target 'drivers/mxc/pmic/mc13892' failed
make[5]: *** [drivers/mxc/pmic/mc13892] Error 2
scripts/Makefile.build:363: recipe for target 'drivers/mxc/pmic' failed
make[4]: *** [drivers/mxc/pmic] Error 2
scripts/Makefile.build:363: recipe for target 'drivers/mxc' failed
make[3]: *** [drivers/mxc] Error 2
Quote:
Originally Posted by finitelife View Post
[*]Does the PaperWhite 1 (i.MX508?) support OTG host mode?
Theoretically the i.MX508 supports OTG on one of its two USB ports, however I suspect that that one is used to drive the 3G-modem...

Quote:
Originally Posted by finitelife View Post
[*]Is there a preferred way to load the kernel+modules on my Kindle so as to not brick it repeatedly?
There are basically two options, netboot (as mentioned by knc1) and kexec. Although kexec is not built into the kernel, so one would have to modify it so it works as a module (I think this was possible at some point, but the kernel devs disabled it on purpose).

@knc1: Is it somehow possible to do netboot without serial access? I do not wnat to tear my kindle apart.
bulsa is offline   Reply With Quote
Old 09-22-2014, 10:47 AM   #9
knc1
Embedded Cheerleader
knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.
 
knc1's Avatar
 
Posts: 6,664
Karma: 5850002
Join Date: Feb 2012
Device: Too many.
Quote:
Originally Posted by bulsa View Post
- - - -
@knc1: Is it somehow possible to do netboot without serial access?
I do not wnat to tear my kindle apart.
That would be really nice, wouldn't it?
I don't think so, but have not done exhaustive trials.

The SoC has a (hardware) start-up sequence that can detect a netboot set-up, BUT I don't think Amazon has let us have access to it.

Which means changing the u-boot env. variables, which means serial port access.

- - - -

What version of Buildroot?
2014.08 was recently released, if not using that, try again with that version (I do not think it will change your problem).

Then, next step, report the problem on the BR mailing list at:
buildroot@buildroot.org
(You probably will have to sign up for the mailing list to post.)

You should get an almost immediate response - that project crew is very responsive.

- - - -

There is (was?) a custom build of an Amazon kernel that supported kexec on an earlier model device (K5 I think) - -
Sorry, I don't have the link(s) to the posts here about it.
Perhaps someone else has those bookmarked.
knc1 is offline   Reply With Quote
Old 09-22-2014, 10:52 AM   #10
bulsa
Member
bulsa began at the beginning.
 
Posts: 24
Karma: 13
Join Date: Apr 2014
Device: Kindle PW
Builroot was from git ae69eadaa7b98fb73cbc5dcf8454e54a5189dd9b, but the error message does not sound like a toolchain problem to me.
bulsa is offline   Reply With Quote
Old 09-22-2014, 11:09 AM   #11
bulsa
Member
bulsa began at the beginning.
 
Posts: 24
Karma: 13
Join Date: Apr 2014
Device: Kindle PW
Ok, I have found that my problem was that I trusted 'make clean' to do the right thing, but it actually deletes include/asm-arm/mach-types.h, where machine_is_mx50_yoshime is defined.
After working with fresh sources it all builds for me, what exactly is the problem with FB_MXC_EINK_PANEL?
bulsa is offline   Reply With Quote
Old 09-22-2014, 11:15 AM   #12
bulsa
Member
bulsa began at the beginning.
 
Posts: 24
Karma: 13
Join Date: Apr 2014
Device: Kindle PW
Ok... my fault again, I did not build the modules, only the kernel. Now it does sound like a toolchain problen, but not sure:

Quote:
In file included from ***/buildroot/output/host/usr/lib/gcc/arm-buildroot-linux-gnueabi/4.9.1/include/arm_neon.h:38:0,
from drivers/video/mxc/mxc_epdc_fb.c:25:
***/buildroot/output/host/usr/lib/gcc/arm-buildroot-linux-gnueabi/4.9.1/include/stdint.h:9:26: error: no include path in which to search for stdint.h
# include_next <stdint.h>
[...]
bulsa is offline   Reply With Quote
Old 09-22-2014, 11:57 AM   #13
knc1
Embedded Cheerleader
knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.
 
knc1's Avatar
 
Posts: 6,664
Karma: 5850002
Join Date: Feb 2012
Device: Too many.
Quote:
Originally Posted by bulsa View Post
Ok... my fault again, I did not build the modules, only the kernel. Now it does sound like a toolchain problen, but not sure:
Agreed on that one.

And I think the behavior you found about "make clean" is a BR error also.

Please report both on the BR mailing list.
There are a lot of people on that list that know the innards of BR a lot better than I do.
knc1 is offline   Reply With Quote
Old 09-22-2014, 12:00 PM   #14
bulsa
Member
bulsa began at the beginning.
 
Posts: 24
Karma: 13
Join Date: Apr 2014
Device: Kindle PW
How should buildroot influence which files get deleted by "make clean" in the kernel? Just to be clear: I did not build the kernel with buildroot, just the toolchain.
bulsa is offline   Reply With Quote
Old 09-22-2014, 02:06 PM   #15
knc1
Embedded Cheerleader
knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.
 
knc1's Avatar
 
Posts: 6,664
Karma: 5850002
Join Date: Feb 2012
Device: Too many.
Quote:
Originally Posted by bulsa View Post
How should buildroot influence which files get deleted by "make clean" in the kernel? Just to be clear: I did not build the kernel with buildroot, just the toolchain.
Sorry, my crystal ball is off-line.
I have to go by what is written.

I did think that you where/are building your kernel with buildroot.
(Buildroot also has a 'make clean' command).
knc1 is offline   Reply With Quote
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Kobo Aura HD - Linux Walkthrough - Registration bypass linux.kobo.user Kobo Reader 10 09-23-2013 06:59 PM
Conversion walkthrough needed bigbro69 Conversion 5 03-29-2013 10:46 PM
PRS-T1 How-to: Compiling the kernel and kernel modules altruizine Sony Reader Dev Corner 9 09-03-2012 09:12 PM
How to root your Nook -- easiest step by step walkthrough with pictures RockdaMan Nook Developer's Corner 2 12-29-2010 12:42 PM
iPhone Great iOS4 Walkthrough kjk Apple Devices 5 06-19-2010 04:48 PM


All times are GMT -4. The time now is 05:38 AM.


MobileRead.com is a privately owned, operated and funded community.