📜 ⬆️ ⬇️

Installing Ubuntu Jaunty on the Nokia N800 / N810

image

Introduction


I bring to your attention the translation of this installation guide for Ubuntu Jaunty on the Nokia N800 / N810.
What works:

Details under the cut.

What does not work:

The installation process will require the following:

Step One: Preparing a Memory Card


To do this, perform the following in the terminal as root (I use 4GB mmc with 356mb fat16 partition and 3.6gb for linux83 - our root partition)

umount /dev/mmcblk0p1
sfdisk -uM /dev/mmcblk0
356,6
,,L
,,
,,


Step Two: Formatting Partitions


umount /dev/mmcblk0p1
mkdosfs /dev/mmcblk0p1
mkfs.ext3 /dev/mmcblk0p2

Step Three: Transition to a Newly Installed System


Create a directory where we will install the system:
')
mkdir -p /mnt/jaunty

Next, download the bootstrap-script.tar.gz script , remove the rm -f /usr/share/debootstrap/scripts/jaunty symlink, and unpack our script into /usr/share/debootstrap/scripts as root.

Next, we need to add md5sum to our / bin directory for debootstrap to work properly. Download md5sum and unpack it in / bin as root.

Next, we mount our ubuntu partition in / mnt / jaunty and start the installation (this can take a long time):

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 ports.ubuntu.com /usr/share/debootstrap/scripts/jaunty


And finally, chroot to the installed system and create console devices:

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 Four: Preparing the Base System for Booting


We mount the necessary directories:

mount /dev /mnt/jaunty/dev
mount /dev/pts /mnt/jaunty/dev/pts
mount /tmp /mnt/jaunty/tmp
chroot /mnt/jaunty
export LC_ALL=C


Add the root password:

passwd root

Set up the repository by changing the /etc/apt/sorces.lst file:

#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


Next, configure apt-get:

touch /etc/apt/preferences

Add the following to / etc / apt / preferences:

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

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

Package: *
Pin: release a=sid
Pin-Priority: 300


Install the base system:

wget http://packages.tspre.org/repo.key
apt-key add repo.key
apt-get update
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 remove xserver-xorg-input-all xserver-xorg-input-synaptics


Install the boottime.kmap.gz file for the keyboard:

cp /path/to/boottime.kmap.gz /mnt/jaunty/etc/

Next, edit a number of files:

/etc/X11/xorg.conf

# 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


/etc/rc.local

#!/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


/ etc / fstab

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


/ etc / X11 / Xwrapper.config

# 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


In the /etc/init.d/hwclock.sh file, HWCLOCKPARS= change to HWCLOCKPARS="--directisa" and add this to / etc / default / rcS :

echo 'HWCLOCKPARS=--directisa' >> /etc/default/rcS

Reduce load time:

apt-get install insserv
echo 'CONCURRENCY=shell' >> /etc/default/rcS


If you are not interested in installing ubuntu-desktop, then you can do the following and go directly to step 7.

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 Five: Install ubuntu-desktop


Do the following in a terminal, it may take several hours:

apt-get install ubuntu-desktop matchbox-keyboard
apt-get clean


Correct the /etc/gdm/gdm.conf-costom file for an automatic login:

[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 Six: Activate the paging file


Perform the following in the terminal:

mkswap /dev/mmcblk1p3

Add the following line to / etc / fstab :

/dev/mmcblk1p3 swap swap defaults 0 0

Step Seven: Creating the boot menu



Create the file /etc/bootmenu.d/ubuntu.item and add the following (in the case of the Ubuntu section in / dev / mmcblk0p2):

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 run the following command in the terminal:

refresh_bootmenu.d

That's it, now you have installed Ubuntu Jaunty!
Screenshots can be viewed here .

Source: https://habr.com/ru/post/54487/


All Articles