Notices


Reply
Thread Tools
b-man's Avatar
Posts: 549 | Thanked: 502 times | Joined on Feb 2008 @ Bowling Green Ohio (united states)
#1
Ubuntu 9.04 (Jaunty) for the Nokia Internet Tablets


Ubuntu-N8X0 screenshot gallery; http://www.bman.maemobox.org/project...s/gallery.html



NOTICE:
I am not responsible for what you do to your tablet, following theas insrtructions incorrectly might cause you to have to reflash your tablet. Also, keep in mind that it is recommended that you use swap if you chose to install ubuntu-desktop



First, i would like to thank the following people in helping with making this work.

Johnx: for providing helpful advice in making the xserver and gdm for the ubuntu-desktop function properly.

Stskeeps: for also providing helpful advice and for allowing me to use his mer/deblet packages for a sane bootable ubuntu install.

neatojones: for the awsome E17 port and for getting wireless working - link to the instructions for e17 and wireless are provided for below.

------------------------------------------------


UPDATE: ver 2.1

Installing Ubuntu from a rootstrap image;

(special thanks to Andrewfblack on #maemo for providing a host server for this )

I have made a pre-built rootfs for a fast, easy installation of ubuntu jaunty. This version includes a basic bootable system with xserver-xorg, deblet-rescue-menu, aptitude, synaptic and deselect. Just simply extract it to a partition, install a desktop env, and create a bootmenu item. (information provided in the second post)

What's Fixed:
* Image now uses deblet-rescue-menu (mer's version would not start)
* No more xserver-xorg crashes
* Xsessions is now fonctioning properly


You can obtain the rootstrap from here

Also, the default password for root is root and the default user password is user, eather of witch can be changed using passwd root or passwd user and it is highly recommended that you remove xserver-xorg-input-all and xserver-xorg-input-synaptics using apt mainly because there has ben some reported problems with xserver-xorg-input-synaptics overriding xserver-xorg-input-tslib's functionality causing the touch screen to stop working. And last, it is suggested that you add a newline to /etc/X11/xorg.conf, you can do this by pressing the enter buttun at the bottom of the file when you edit it - sorry


------------------------------------------------


New: E17 (enlightenment) v2


updated Instructions for installing E17 by neatojones are provided here


------------------------------------------------


Updated: wireless


Instructions for setting up wireless are provided here -The next version of tablet-network-setup will include thease changes


------------------------------------------------



Ubuntu-rescue-menu, ubuntu-n8x0-repository, and nit-bootmenu-compat;

This is a beta1 release of the new Ubuntu-rescue-menu, nit-bootmenu-compat, and Splash.

Screenshots:







To upgrade to ubuntu-omap-fb-splash, nit-bootmenu-compat 1.6ubuntu1, and ubuntu-rescue-menu, add the following to /etc/apt/sorces.list

Code:
deb http://www.bman.maemobox.org/repository alpha contrib main non-free
deb-src http://www.bman.maemobox.org/repository alpha contrib main non-free
And run the following in a terminal;

Code:
apt-get update

apt-get remove deblet-rescue-menu; apt-get remove deblet-omap-fb-splash

apt-get install ubuntu-omap-fb-splash ubuntu-rescue-menu

apt-get upgrade nit-bootmenu-compat

apt-get clean

To run the rescue menu simply press home+power for 5-7 seconds when booting.

------------------------------------------------





What works:

*Dsme
*Hal (partly)
*Screen diming
*Xserver-xorg
*Simple compiz visual effects (in ubuntu-desktop)
*Power management
*Usbnet emergency talend
*Powersave
*Bluetooth
*Right click
*Wierless
*keymapping (hw keys and virtual keyboard)



What needs work:

*Usplash (fails to start, perhaps our kernel doesn't support it?)
*Sound (closed sorce components )


This installation prosess requires that you have the following installed on your system:

*easyroot / rootsh / becomeroot
*debootstrap
*basic knowledge with the command prompt
*e2fsprogs
*2-4GB mmc - 4 GB+ if you are planning to install the ubuntu-desktop.
*Bootmenu form deblet
*binutils



Step 1 ~ partitioning the memory card with sfdisk

To do this we are going to type in the following in a terminal as root (i''m using a 4GB internal mmc with a 356mb fat16 partition and a 3.6GB for linux83 - our rootfs partition)

Code:
umount /dev/mmcblk0p1

sfdisk -uM /dev/mmcblk0
356,6
,,L
,,
,,
And then reboot.


Step 2 ~ Formatting your newly created partitions

As root, run the following in a terminal. This will format your first partition in vfat and your second partition in ext3 for Ubuntu.
Code:
umount /dev/mmcblk0p1
mkdosfs /dev/mmcblk0p1
mkfs.ext3 /dev/mmcblk0p2

Step 3 ~ Bootstraping the basic Ubuntu jaunty system

First, we will create a target directory to bootstrap Ubuntu jaunty by doing the following as root:

Code:
mkdir -p /mnt/jaunty

Next, we will copy over a bootstrap script witch will allow us to properly bootstrap Ubuntu Jaunty. Download the bootstrap-script.tar.gz file, remove a symlink using rm -f /usr/share/debootstrap/scripts/jaunty, and extract your new script to your /usr/share/debootstrap/scripts directory as root.

Then, we need to add md5sum to our /bin directory so debootstrap functions properly. Download the md5sum file and extract it to /bin as root.

Next, we will mount our ubuntu partition to /mnt/jaunty and start the Ubuntu jaunty bootstrap prosess. (Keep in mind that this will likely take a while, so go watch some tv )
Code:
insmod /mnt/initfs/lib/modules/`uname -r`/mbcache.ko
insmod /mnt/initfs/lib/modules/`uname -r`/ext2.ko
insmod /mnt/initfs/lib/modules/`uname -r`/jbd.ko
insmod /mnt/initfs/lib/modules/`uname -r`/ext3.ko
mount /dev/mmcblk0p2 /mnt/jaunty -o noatime

debootstrap --include="language-pack-en,language-pack-en-base,dmsetup,cryptsetup,hashalot,nano,sudo" --components=main,multiverse,universe,restricted --verbose --arch=armel jaunty /mnt/jaunty http://ports.ubuntu.com/ /usr/share/debootstrap/scripts/jaunty
Last, we need to chroot into our base system, create the nessasary devices for the console, and exit for the next step:
Code:
mount /proc /mnt/jaunty/proc
mount /sys /mnt/jaunty/sys
chroot /mnt/jaunty
cd /dev; /sbin/MAKEDEV fb0 fb1 fb2 fb3 fb4 fb5 fb6 fb7
exit
Step 4 ~ Preping the base system for booting

First, we will need to give our base system the nessesary sorces so dpkg installs packages properly. You can do this by typing the following as root in a terminal;

Code:
mount /dev /mnt/jaunty/dev
mount /dev/pts /mnt/jaunty/dev/pts
mount /tmp /mnt/jaunty/tmp
Attached Files
File Type: gz bootstrap-script.tar.gz (1.9 KB, 2825 views)
File Type: gz md5sum.tar.gz (4.3 KB, 1875 views)

Last edited by b-man; 2009-03-02 at 12:17. Reason: added link for wireless instructions
 

The Following 33 Users Say Thank You to b-man For This Useful Post:
b-man's Avatar
Posts: 549 | Thanked: 502 times | Joined on Feb 2008 @ Bowling Green Ohio (united states)
#2
(updated - ver.3.3)

Then, we will export LC_ALL=C so locales doesn't complain when we eventually start installing our base packages.
Type the following in a terminal:

Code:
chroot /mnt/jaunty
export LC_ALL=C
Next, we will add a root password so we have proper permissions while configuring the base system, type the following in a terminal;

Code:
passwd root
Then, we will need to update our /etc/apt/sorrces.lst to featch packages properly for our base system, you can do this by editing your /etc/apt/sorces.lst to look like this:
Code:
#Ubuntu jaunty alpha
deb http://ports.ubuntu.com jaunty main restricted universe multiverse
deb-src http://ports.ubuntu.com jaunty main restricted universe multiverse

#Mer alpha
deb http://repository.mer.tspre.org/ alpha contrib main non-free
deb-src http://repository.mer.tspre.org/ alpha contrib main non-free

#Deblet sid
deb http://packages.tspre.org/ sid main contrib non-free
deb-src http://packages.tspre.org/ sid main contrib non-free

#Ubuntu N8x0
deb http://www.bman.maemobox.org/repository alpha contrib main non-free
deb-src http://www.bman.maemobox.org/repository alpha contrib main non-free
Then, we will enable apt-pinning, witch will allow us to eventually properly install our base system packages using apt-get, add the following file by typing the following in a terminal:

Code:
touch /etc/apt/preferences
And then add the following to /etc/apt/preferences.

Code:
Package: *
Pin: release a=jaunty
Pin-Priority: 900

Package: *
Pin: release a=alpha
Pin-Priority: 340

Package: *
Pin: release a=sid
Pin-Priority: 300
Next, we need to add the deblet repo key so our system can properly update it's application list. type the following in a terminal;

Code:
wget http://packages.tspre.org/repo.key
apt-key add repo.key
And then run the following to apply the changes;

Code:
apt-get update
Next, we will install all of the nessasary packages to allow Ubuntu to boot and run properly on our tablet, type the following in a terminal;

Code:
apt-get -t alpha install cx3110x-module cx3110x-umac-module ke-recv-l10n-public kernel-diablo-modules-fbcon kernel-diablo mce-dummy nokia-n8x0-firmware nokia-tablets-pointercal omap-fb-console omap-fb-tools usbnet-emergency-telnetd utelnetd xresponse-visualize tablet-wireless xserver-xorg-video-omapfb synaptic aptitude console-tools

apt-get install ubuntu-rescue-menu ubuntu-omap-fb-splash nit-bootmenu-compat

apt-get install xserver-xorg-input-tslib=0.0.5-1mer7

apt-get -t sid install tablet-backlight tablet-gksudo tablet-network-setup dsme-tools nokia-xkb-data xsession-gtkstylus tablet-user
Then, we need to remove a couple of packages that xserver-xorg-video-omapfb pulls in; this is nessasary mainly because xserver-xorg-input-synaptics overrides the fonctionality of xserver-xorg-input-tslib witch would cause our touch screen to stop working in ubuntu, do the following in a terminal;
Code:
apt-get remove xserver-xorg-input-all xserver-xorg-input-synaptics
Next, we need to add a file called boottime.kmap.gz to /etc so our hw keys, keyboard, and virtual keyboard function properly with upstart. You can download boottime.kmap.gz from the bottom of this post.

Do the following in a terminal as root (assuming you've downloaded it to /home/user/MyDocs)
Code:
cp /home/user/MyDocs/boottime.kmap.gz /mnt/jaunty/etc/
Then, we will edit a series of files nessesary for the system to boot properly and allow xserver-xorg ot run properly with our video drivers.

Edit your /etc/X11/xorg.conf file to look like the following;
Code:
# xorg.conf (X.Org X Window System server configuration file)
#
# This file was generated by dexconf, the Debian X Configuration tool, using
# values from the debconf database.
#
# Edit this file with caution, and see the xorg.conf manual page.
# (Type "man xorg.conf" at the shell prompt.)
#
# This file is automatically updated on xserver-xorg package upgrades *only*
# if it has not been modified since the last upgrade of the xserver-xorg
# package.
#
# If you have edited this file but would like it to be automatically updated
# again, run the following command:
#   sudo dpkg-reconfigure -phigh xserver-xorg

Section "InputDevice"
	Identifier	"Generic Keyboard"
	Driver		"kbd"
	Option		"XkbRules"	"xorg"
	Option		"XkbModel"	"pc104"
	Option		"XkbLayout"	"us"
EndSection

Section "InputDevice"
	Identifier "tslib"
	Driver "tslib"
	Option "ScreenNumber"	"0"
	Option "Width"		"800"
	Option "Height"		"480"
	Option "Rotate"		"NONE"
	Option "TslibDevice"	"/dev/input/event3"
	Option "CorePointer"
EndSection


Section "Device"
	Identifier	"Configured Video Device"
#	Option		"UseFBDev"		"true"
	Driver		"omapfb"
	Option		"fb" "/dev/fb0"
EndSection

Section "Monitor"
	Identifier	"Configured Monitor"
EndSection

Section "Screen"
	Identifier	"Default Screen"
	Monitor		"Configured Monitor"
EndSection
Next, we will edit /etc/rc.local so xorg will have a framebuffer to use;

Code:
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
/sbin/fb_update_mode auto
exit 0

Next, we will edit /etc/fstab for Ubuntu to properly boot. This example is based on my fstab setup, witch mounts my swap partition, mounts my internal flash to /mnt/rootfs, and mounts my external mmc to /media/mmc1 for extra user space. for now, the first line is only nessesary.

Code:
rootfs  /       rootfs  defaults,errors=remount-ro,noatime,nodiratime   0	1
proc    /proc   proc    defaults        0       0
/dev/mtdblock4  /mnt/rootfs     jffs2 defaults  0       0
/dev/mmcblk0p1  swap  swap	defaults	0	0
/dev/mmcblk1p1 /media/mmc1	vfat defaults	0	0

Then, we will need to edit /etc/X11/Xwrapper.config so we have proper permissions for the console if the system needs repair. Edit it to look like the following:

Code:
# Xwrapper.config (Debian X Window System server wrapper configuration file)
#
# This file was generated by the post-installation script of the x11-common
# package using values from the debconf database.
#
# See the Xwrapper.config(5) manual page for more information.
#
# This file is automatically updated on upgrades of the x11-common package
# *only* if it has not been modified since the last upgrade of that package.
#
# If you have edited this file but would like it to be automatically updated
# again, run the following command as root:
#   dpkg-reconfigure x11-common
allowed_users=anybody
nice_value=-1

Next, we will get the hardware clock working by adding the following vareables to /etc/init.d/hwclock.sh by doing the following;

edit
Code:
HWCLOCKPARS=
to
Code:
HWCLOCKPARS="--directisa"
and add the following to /etc/default/rcS
Code:
echo 'HWCLOCKPARS=--directisa' >> /etc/default/rcS
Last, we will install insserv to cut down on boot time by making all of the init scripts comply to LSB and enable parallel booting. Run the following in a terminal.

Code:
apt-get install insserv
echo 'CONCURRENCY=shell' >> /etc/default/rcS
If you are not interested in continueing with installing ubuntu-desktop, you can unmount your system with the following and skip to step 7.

Code:
exit
exit
umount /mnt/jaunty/dev/pts
umount /mnt/jaunty/dev
umount /mnt/jaunty/proc
umount /mnt/jaunty/sys
umount /mnt/jaunty/tmp
fuser -m /mnt/jaunty -k
umount /mnt/jaunty

Step 5 ~ Installing the ubuntu desktop (optional)

Congratulations!! You shuld now have a bootable, fairly functional, and productive Ubuntu Jaunty base system!

This phase is pritty much optional, however if you like gnome as much as i do and have a mmc that has 4GB+ in free space and plenty more for swap, follow theas instructions.

run the following in a terminal; keep in mind that this will take 2-3 hours depending on your connection.

Code:
apt-get install ubuntu-desktop matchbox-keyboard
apt-get clean
Next, we need to edit the /etc/gdm/gdm.conf-costom file for automatic login. Add the following to gdm.conf-costom;

Code:
[daemon]
# Automatic login, if true the first attached screen will automatically logged
# in as user as set with AutomaticLogin key.
AutomaticLoginEnable=true
AutomaticLogin=user

Step 6 ~ activating swap (recomended for ubuntu-desktop)

This is assental for ubuntu-desktop to run smothly/sainly.
Do the following in a terminal as root; (assuming your swap partition is /dev/mmcblk1p3)
Code:
mkswap /dev/mmcblk1p3
Next, we need to add the following to /etc/fstab so swap gets automaticly activated during boot time;
Code:
/dev/mmcblk1p3  swap  swap	defaults	0	0

Step 7 ~ creating a proper bootmenu item for Ubuntu.

Making shure you have bootmenu installed, create a file called ubuntu.item in your /etc/bootmenu.d directory and apply the following information to the file; (assuming your ubuntu partition is /dev/mmcblk0p2)

Code:
ITEM_NAME="Ubuntu on mmcblk0p2"
ITEM_ID="Ubuntu on mmcblk0p2"
ITEM_DEVICE="mmcblk0p2"
ITEM_MODULES="mbcache jbd ext3"
ITEM_FSTYPE="ext3"
ITEM_FSOPTIONS="noatime,ro"
ITEM_LINUXRC="linuxrc"
and then run the following in a terminal:

Code:
refresh_bootmenu.d
You shuld now have a bootable full-fleged Ubuntu Jaunty install - enjoy!!

Btw, if anyone has questions or suggestions, fell free to tell me. I would really like some feedback

Attached Files
File Type: gz boottime.kmap.gz (645 Bytes, 1688 views)
__________________
I'm an advanced user and a bit of a modder.
----------------------------------------------
I am involved with Mer, Deblet, and NITdroid.
My ports/creations/hacks: GNOME (for Deblet), Cdeb2», Ubuntu, playable flash games in the "Get Started" app, DBS, ect...


enhanced fedora port has been canceled in favor of NITDebian (TBA)

Last edited by b-man; 2009-02-25 at 03:30. Reason: added new screenshot
 

The Following 19 Users Say Thank You to b-man For This Useful Post:
Posts: 607 | Thanked: 296 times | Joined on Jun 2008 @ Finland
#3
i can confirm that Bluetooth works, but are you serious about compiz? does it really work?

Is the nm-applet working with gnome in jaunty? it did not work in hildon..
__________________
Touch Book .. do not waste you money on it.
 

The Following 2 Users Say Thank You to meizirkki For This Useful Post:
b-man's Avatar
Posts: 549 | Thanked: 502 times | Joined on Feb 2008 @ Bowling Green Ohio (united states)
#4
Yes, compiz does have (some) functionality, allthough they arn't true 3d effects, just little things like phase in/out and buttons expanding/fading.

as for the nm-applet, i haven't confermed that yet.
__________________
I'm an advanced user and a bit of a modder.
----------------------------------------------
I am involved with Mer, Deblet, and NITdroid.
My ports/creations/hacks: GNOME (for Deblet), Cdeb2», Ubuntu, playable flash games in the "Get Started" app, DBS, ect...


enhanced fedora port has been canceled in favor of NITDebian (TBA)
 

The Following 2 Users Say Thank You to b-man For This Useful Post:
b-man's Avatar
Posts: 549 | Thanked: 502 times | Joined on Feb 2008 @ Bowling Green Ohio (united states)
#5
added bootstrap-script.tar.gz to the second post
__________________
I'm an advanced user and a bit of a modder.
----------------------------------------------
I am involved with Mer, Deblet, and NITdroid.
My ports/creations/hacks: GNOME (for Deblet), Cdeb2», Ubuntu, playable flash games in the "Get Started" app, DBS, ect...


enhanced fedora port has been canceled in favor of NITDebian (TBA)
 

The Following 2 Users Say Thank You to b-man For This Useful Post:
Posts: 356 | Thanked: 38 times | Joined on Nov 2005 @ Finland
#6
any way one could get this in 770?
__________________
N900 as day to day phone
N770 for childrens music
 

The Following User Says Thank You to mrp For This Useful Post:
Posts: 3,428 | Thanked: 2,854 times | Joined on Jul 2008
#7
I got sound working using the same steps we did for deblet.

It's just scratchy. Like having too much crap running when listening to music.
__________________
If I've helped you or you use any of my packages feel free to help me out.
-----------------------------------------------------------------------------------
Maintaining:
pyRadio - Pandora Radio on your N900, N810 or N800!
 

The Following User Says Thank You to fatalsaint For This Useful Post:
b-man's Avatar
Posts: 549 | Thanked: 502 times | Joined on Feb 2008 @ Bowling Green Ohio (united states)
#8
Originally Posted by fatalsaint View Post
I got sound working using the same steps we did for deblet.

It's just scratchy. Like having too much crap running when listening to music.
Were you able to make eny progress with the keyboard issue by eny chance? i'm still trying to figure out what causes the virtual keyboard to crash the desktop in Mer and Ubuntu.
__________________
I'm an advanced user and a bit of a modder.
----------------------------------------------
I am involved with Mer, Deblet, and NITdroid.
My ports/creations/hacks: GNOME (for Deblet), Cdeb2», Ubuntu, playable flash games in the "Get Started" app, DBS, ect...


enhanced fedora port has been canceled in favor of NITDebian (TBA)
 

The Following User Says Thank You to b-man For This Useful Post:
b-man's Avatar
Posts: 549 | Thanked: 502 times | Joined on Feb 2008 @ Bowling Green Ohio (united states)
#9
Originally Posted by mrp View Post
any way one could get this in 770?
It shuld work if you install kernel-modules-770 and grab some of the hw-support packages from the deblet repo. - it might be a little slow though.
__________________
I'm an advanced user and a bit of a modder.
----------------------------------------------
I am involved with Mer, Deblet, and NITdroid.
My ports/creations/hacks: GNOME (for Deblet), Cdeb2», Ubuntu, playable flash games in the "Get Started" app, DBS, ect...


enhanced fedora port has been canceled in favor of NITDebian (TBA)
 

The Following User Says Thank You to b-man For This Useful Post:
Posts: 607 | Thanked: 296 times | Joined on Jun 2008 @ Finland
#10
hmm, my suggestion for this how to:

Add both Mer and deblet repos to sources.list, then just install needed packages with apt. Is there a good reason to not add these repos?
__________________
Touch Book .. do not waste you money on it.
 

The Following User Says Thank You to meizirkki For This Useful Post:
Reply

Tags
nokia n8x0, ubuntu

Thread Tools

 
Forum Jump


All times are GMT. The time now is 14:35.