Active Topics

 


Reply
Thread Tools
Posts: 62 | Thanked: 35 times | Joined on Mar 2008 @ Fort Gratiot, Michigan
#1
NEWS: I've written a script that does everything!

NOTE: THIS GUIDE IS FOR THE N800.

Alright guys, I know quite a few people are having trouble getting Solca's NITdroid port to work, so here's a nice guide I decided to put together.

Also, before you start, BACKUP YOUR DATA! You need to backup the data on your tablet and your internal SD card.

PREREQUISITES:
  • Nokia N800 Internet Tablet
  • A computer running Ubuntu Linux (other distros may work)
  • An internet connection
  • An SD card (512MB or greater)

Now, assuming you have all of those, we can proceed.
For this tutorial, we'll use the example of a 2GB SD card.

Step 1: Acquire the files.
Note: Download all files into the same directory. For the purpose of this tutorial, we'll use '/home/paul/Desktop/'.

Go to guug.org/nit/nitdroid/ and download the following:to your desktop.

Now, go to http://tablets-dev.nokia.com/d3.php and download 'flasher-3.0-static' to the same directory.

NEW: I've written a quick script for downloading all of the files. You'll need to go in and make it executable with:
Code:
chmod a+x
and then run:
Code:
./nitdroid_downloader.sh
Download it here.

Step 2: Create a filesystem.
First, remove your external SD card. Then, turn on the tablet and then plug the usb cable into it. Once the computer detects and registers the tablet, open a terminal and type:
Code:
dmesg
You should get something like this:
Code:
[  813.234547] scsi 5:0:0:1: Direct-Access     Nokia    N800              031 PQ: 0 ANSI: 2
[  813.255419] sd 5:0:0:0: [sdc] 3981312 512-byte hardware sectors (2038 MB)
[  813.258428] sd 5:0:0:0: [sdc] Write Protect is off
[  813.258445] sd 5:0:0:0: [sdc] Mode Sense: 0f 00 00 00
[  813.258453] sd 5:0:0:0: [sdc] Assuming drive cache: write through
[  813.267416] sd 5:0:0:0: [sdc] 3981312 512-byte hardware sectors (2038 MB)
[  813.270419] sd 5:0:0:0: [sdc] Write Protect is off
[  813.270435] sd 5:0:0:0: [sdc] Mode Sense: 0f 00 00 00
[  813.270442] sd 5:0:0:0: [sdc] Assuming drive cache: write through
[  813.270464]  sdc: sdc1
[  813.281546] sd 5:0:0:0: [sdc] Attached SCSI removable disk
[  813.281842] sd 5:0:0:0: Attached scsi generic sg2 type 0
[  813.292614] sd 5:0:0:1: [sdd] Attached SCSI removable disk
[  813.292747] sd 5:0:0:1: Attached scsi generic sg3 type 0
Look closely at the dmesg, and you'll see this:
Code:
[  813.270464]  sdc: sdc1
This is the partition of your SD card.

Before you create a filesystem, go to the terminal and check where the drive is mounted:
Code:
mount
That will display all the mounted folders and drives on your system. If you look at the bottom of the list, there should be something like:
Code:
/dev/sdc1 on /media/disk-1
That is the mountpoint of your drive.

Next, to unmount the card, run:
Code:
sudo umount /dev/sdc1
That should work in most distros.
To double check, type:
Code:
mount
Look at the bottom of the list again, and the mountpoint of the card shouldn't be there anymore.

Now, to partiton, enter the following.
Code:
sudo sfdisk -uM /dev/sdc
,1024,C
,1,L
,,
,,
Then, when it asks whether or not to proceed, simply enter:
Code:
y
It will create partitons-- 3 of them.
Your OS will likely automatically remount them, so once they are created, you'll run these commands:
Code:
sudo umount /dev/sdc1
sudo umount /dev/sdc3
sudo mkfs.ext3 /dev/sdc3
sudo mkfs.msdos /dev/sdc1
These will unmount the partitions, create a FAT32 filesystem that is 1GB, and create an ext3 filesystem that is 1GB (or so).

Step 3: Extracting the filesystem.

To actually create the filesystem, you'll do this:
Code:
sudo mount -t ext3 /dev/sdc3 /mnt
That will mount that partition on /mnt in your root directory as an ext3 filesystem. Now, run this command:
Code:
cd /mnt
And you will be magically transported to the directory you just mounted.

To extract the rootfs onto the partition, enter:
Code:
sudo tar -xjpvf /home/paul/Desktop/rootfs-nitdroid.tar.bz2
Then wait. Once it finishes, enter:
Code:
ls -a
And just check to make sure it extracted.

Next, run these commands:
Code:
cd ..
sudo umount /mnt
Those commands put you in the root directory, and then unmount your SD card from /mnt.

Step 4: Flash the kernel.
Finally, you're almost done!
Now, use this:
Code:
cd /home/paul/Desktop/
To return to your desktop directory.

To flash the kernel, use the following command:
Code:
 ./flasher-3.0-static -f -k zImage-nitdroid-n8x0 --enable-rd-mode -R
Execute this command, then AFTER you have run it, plug in the USB cable and hold the power and home keys to put it into flashing mode.

This flashes the NITdroid kernel and activates R&D mode, then restarts the tablet.

After it completes, unplug the USB cable and wait. You will see the Nokia logo screen with a little tablet beneath it. Next, the screen will turn black and then to the NITdroid logo. After this, it will flash black again and turn into a pulsating NITdroid logo. It will stay here for a few minutes, and then boot into Android.

EDIT: I have written my second script. This will automatically flash the kernel when run. You will need to make it executable, as with the downloader. It is now downloaded when you use the downloader script. To invoke it, run:
Code:
./nitdroid_flasher
And follow the directions.
It will be located in the 'nitdroid' directory on your Desktop.

Now, to get ADB working.

To extract it, you use:
Code:
bunzip2 adb.bz2
Then, to make it executable, use:
Code:
chmod a+x adb
Once you have, you'll need to use it by executng:
Code:
sudo ./adb command
Where command is your command of choice.

The hardware keys won't work, so to make them work, use the following commands.
Code:
sudo ./adb push Internal_keypad.kl /system/usr/keylayout
This will push a new keypad layout to your tablet, and should give a result something like this:
Code:
paul@paul-laptop:~/Desktop/android$ sudo ./adb push Internal_keypad.kl /system/usr/keylayout
* daemon not running. starting it now *
* daemon started successfully *
8 KB/s (409 bytes in 0.047s)
paul@paul-laptop:~/Desktop/android$
Shutdown your tablet by holding the power button and selecting power off, and then turn it back on. Your keypad should now work.

DISCLAIMER: I TAKE NO RESPONSIBILITY FOR THE CONSEQUENCES OF HUMAN ERROR. DOING THIS INCORRECTLY MAY CAUSE YOUR TABLET TO IMPLODE, A HOBO TO SODOMIZE YOUR DOG AND GRANDMOTHER, OR LCUK TO BURN HIS HAND MAKING BACON AGAIN.

Credit goes to:
  • Solca, for making NITdroid and creating the keypad layout.
  • Everyone else for whatever help they provided.
  • Nokia, for making the Internet Tablets
  • Anidel, for the bunzip2 command

EDIT: I am in the process of writing a few scripts to automate this process.

EDIT 2: Downloader script done! You can download it at the top of this post.

EDIT 3: Flasher script done! When you use the downloader script, it is automatically downloaded.

Last edited by jakemaheu; 2009-01-10 at 03:12. Reason: credits, bunzip2, better instructions, DOH!
 

The Following 25 Users Say Thank You to jakemaheu For This Useful Post:
Posts: 874 | Thanked: 316 times | Joined on Jun 2007 @ London UK
#2
Thanks for posting the Guide, it is what I have been hoping for.

I am well placed, having a few spare SD cards and a partition running Ubuntu, so I shall give it a try shortly when I can pluck up the courage and necessary focus.

In the meantime, user contributions posted here about their experiences will help fortify my resolve and save me from the embarrassment of asking dumb questions.

I really want this to work.
 
anidel's Avatar
Posts: 1,743 | Thanked: 1,231 times | Joined on Jul 2006 @ Twickenham, UK
#3
To unzip and use the ADB, these are the commands:

bunzip2 adb.bz2
followed by:

chmod a+x adb
Then you can run it.

Besides, why you specified this works only for N800 ?
These are the very same steps needed for the N810, right?

Last edited by anidel; 2008-12-22 at 12:52.
 

The Following 3 Users Say Thank You to anidel For This Useful Post:
Jaffa's Avatar
Posts: 2,535 | Thanked: 6,681 times | Joined on Mar 2008 @ UK
#4
So, is anyone working on a nice simple GUI wizard for this? Or is NITdroid not at the point yet where this high(ish) barrier to entry is a Bad Thing?
__________________
Andrew Flegg -- mailto:andrew@bleb.org | http://www.bleb.org
 
Posts: 259 | Thanked: 72 times | Joined on Dec 2007 @ Halifax, NS
#5
I was just going to ask for a completely new thread like this!

Is there also a pros and cons of NITDroid somewhere?

e.g.
Cons: no onscreen keyboard (is this true?), no Maemo access without taking drastic steps, RD mode (downsides?), no SSU

Pros: A next-gen environment, Java, more apps, etc.

Will this result in an actual first- or second-tier Android platform? Or would it be foolish to, for example, buy things from the Android market?

Thanks again.
 
Posts: 62 | Thanked: 35 times | Joined on Mar 2008 @ Fort Gratiot, Michigan
#6
I was just going to ask for a completely new thread like this!

Is there also a pros and cons of NITDroid somewhere?

e.g.
Cons: no onscreen keyboard (is this true?), no Maemo access without taking drastic steps, RD mode (downsides?), no SSU

Pros: A next-gen environment, Java, more apps, etc.

Will this result in an actual first- or second-tier Android platform? Or would it be foolish to, for example, buy things from the Android market?

Thanks again.
I'll make a list when I get a chance.
 

The Following User Says Thank You to jakemaheu For This Useful Post:
Posts: 62 | Thanked: 35 times | Joined on Mar 2008 @ Fort Gratiot, Michigan
#7
Originally Posted by Jaffa View Post
So, is anyone working on a nice simple GUI wizard for this? Or is NITdroid not at the point yet where this high(ish) barrier to entry is a Bad Thing?
There's not much point in making a wizard, because it changes so often. I'd have to say this is for more advanced users-- this isn't something you do if you don't know what you're doing. (Also, you need a computer with linux.)
 
Posts: 62 | Thanked: 35 times | Joined on Mar 2008 @ Fort Gratiot, Michigan
#8
Originally Posted by anidel View Post
Besides, why you specified this works only for N800 ?
These are the very same steps needed for the N810, right?
I don't have an N810, so I don't know how partitioning would work on that.
 
Jaffa's Avatar
Posts: 2,535 | Thanked: 6,681 times | Joined on Mar 2008 @ UK
#9
Originally Posted by jakemaheu View Post
There's not much point in making a wizard, because it changes so often.
Surely the steps remain the same, even if the kernel etc. are changing? Then it's just a matter of wgetting the appropriate parts before unpacking them etc.

I'd have to say this is for more advanced users-- this isn't something you do if you don't know what you're doing. (Also, you need a computer with linux.)
If NITdroid's not ready for the masses yet, I won't bother investigating the installation wizard (or hell, even a script).

The advantage of a script - even on a Linux computer - is there's less chance of error and it makes support easier as you know how people have installed things. Certainly, if a user isn't paying attention in the steps above - and they use a SCSI or SATA drive - they could end up repartitioning one of their existing disks, rather than the SD card.

Similarly, it could detect the sizes and suggest partioning schemes etc.
__________________
Andrew Flegg -- mailto:andrew@bleb.org | http://www.bleb.org
 
Posts: 62 | Thanked: 35 times | Joined on Mar 2008 @ Fort Gratiot, Michigan
#10
Originally Posted by Jaffa View Post
Surely the steps remain the same, even if the kernel etc. are changing? Then it's just a matter of wgetting the appropriate parts before unpacking them etc.



If NITdroid's not ready for the masses yet, I won't bother investigating the installation wizard (or hell, even a script).

The advantage of a script - even on a Linux computer - is there's less chance of error and it makes support easier as you know how people have installed things. Certainly, if a user isn't paying attention in the steps above - and they use a SCSI or SATA drive - they could end up repartitioning one of their existing disks, rather than the SD card.

Similarly, it could detect the sizes and suggest partioning schemes etc.
The steps should remain the same, but a script would be quite easy to write. The only problem, as you said, is if they use a SCSI or SATA drive. The script would have to account for that. That's actually why I added the dmesg step, because the latest drive would show up at the bottom. Good ideas, though-- I like it.

EDIT: It's not that it isn't ready for the masses-- it runs quite well (with a couple exceptions), but you need to be careful when flashing and such.

Last edited by jakemaheu; 2008-12-22 at 20:10.
 
Reply

Tags
android, nitdroid


 
Forum Jump


All times are GMT. The time now is 13:49.