View Single 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, 1853 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: