Go Back   maemo.org - Talk > OS / Platform > Alternatives > Android
 
Register FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools
  #1  
Old 2008-12-22, 02:14
jakemaheu jakemaheu is offline
 
Join Date: Mar 2008
Location: Fort Gratiot, Michigan
Posts: 62
Thanks!: 30
Thanked 35 Times in 8 Posts
Default [Android] Guide to getting NITdroid to run.

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!
Reply With Quote
The Following 25 Users Say Thank You to jakemaheu For This Useful Post:
  #2  
Old 2008-12-22, 12:27
Rebski Rebski is offline
 
Join Date: Jun 2007
Location: London UK
Posts: 874
Thanks!: 344
Thanked 316 Times in 169 Posts
Default Re: Guide to getting NITdroid to run.

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.
Reply With Quote
  #3  
Old 2008-12-22, 12:41
anidel's Avatar
anidel anidel is offline
 
Join Date: Jul 2006
Location: Twickenham, UK
Posts: 1,743
Thanks!: 665
Thanked 1,231 Times in 479 Posts
Send a message via ICQ to anidel Send a message via AIM to anidel Send a message via MSN to anidel Send a message via Yahoo to anidel Send a message via Skype™ to anidel
Default Re: Guide to getting NITdroid to run.

To unzip and use the ADB, these are the commands:

Quote:
bunzip2 adb.bz2
followed by:

Quote:
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.
Reply With Quote
The Following 3 Users Say Thank You to anidel For This Useful Post:
  #4  
Old 2008-12-22, 13:10
Jaffa's Avatar
Jaffa Jaffa is offline
 
Join Date: Mar 2008
Location: UK
Posts: 2,535
Thanks!: 3,635
Thanked 6,681 Times in 1,632 Posts
Send a message via MSN to Jaffa
Default Re: Guide to getting NITdroid to run.

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
Reply With Quote
  #5  
Old 2008-12-22, 15:40
BoxOfSnoo BoxOfSnoo is offline
 
Join Date: Dec 2007
Location: Halifax, NS
Posts: 259
Thanks!: 77
Thanked 72 Times in 45 Posts
Default Re: Guide to getting NITdroid to run.

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.
Reply With Quote
  #6  
Old 2008-12-22, 18:50
jakemaheu jakemaheu is offline
 
Join Date: Mar 2008
Location: Fort Gratiot, Michigan
Posts: 62
Thanks!: 30
Thanked 35 Times in 8 Posts
Default Re: Guide to getting NITdroid to run.

Quote:
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.
Reply With Quote
The Following User Says Thank You to jakemaheu For This Useful Post:
  #7  
Old 2008-12-22, 18:52
jakemaheu jakemaheu is offline
 
Join Date: Mar 2008
Location: Fort Gratiot, Michigan
Posts: 62
Thanks!: 30
Thanked 35 Times in 8 Posts
Default Re: Guide to getting NITdroid to run.

Quote:
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.)
Reply With Quote
  #8  
Old 2008-12-22, 18:53
jakemaheu jakemaheu is offline
 
Join Date: Mar 2008
Location: Fort Gratiot, Michigan
Posts: 62
Thanks!: 30
Thanked 35 Times in 8 Posts
Default Re: Guide to getting NITdroid to run.

Quote:
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.
Reply With Quote
  #9  
Old 2008-12-22, 19:34
Jaffa's Avatar
Jaffa Jaffa is offline
 
Join Date: Mar 2008
Location: UK
Posts: 2,535
Thanks!: 3,635
Thanked 6,681 Times in 1,632 Posts
Send a message via MSN to Jaffa
Default Re: Guide to getting NITdroid to run.

Quote:
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.

Quote:
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
Reply With Quote
  #10  
Old 2008-12-22, 20:06
jakemaheu jakemaheu is offline
 
Join Date: Mar 2008
Location: Fort Gratiot, Michigan
Posts: 62
Thanks!: 30
Thanked 35 Times in 8 Posts
Default Re: Guide to getting NITdroid to run.

Quote:
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 With Quote
Reply

Tags
android, nitdroid


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

Forum Jump


All times are GMT. The time now is 19:22.