Установка Ubuntu Jaunty на Nokia N800/N810

Дмитрий Халин любезно предоставил нам руководство по установке Ubuntu Jaunty на Nokia N800/N810.
Вступление
Предлагаю вашему вниманию перевод этой инструкции по установке Ubuntu Jaunty на Nokia N800/N810.
Что работает:
- Dsme
- Hal (частично)
- Screen diming
- Xserver-xorg
- Простые эффекты Compiz
- Управление питанием
- Usbnet emergency talend
- Powersave
- Bluetooth
- Right click
- Беспроводная сеть
- keymapping (аппаратные клавиши и виртуальная клавиатура)
Подробности под катом.
Что не работает:
- Usplash (не запускается, возможно наше ядро его не поддерживает?)
- Звук (закрытый исходный код)
Установочный процесс потребует наличия следующего:
- easyroot / rootsh / becomeroot
- debootstrap
- базовые знания командной строки
- e2fsprogs
- 2-4Гб карта mmc — 4 Гб+ если вы планируете установить ubuntu-desktop.
- Bootmenu form deblet
- binutils
Шаг первый: подготовка карты памяти
Для этого выполним следующее в терминале под root’ом (Я использую 4GB mmc с 356мб fat16 разделом и 3.6гб для linux83 — нашим корневым разделом)
umount /dev/mmcblk0p1 sfdisk -uM /dev/mmcblk0 356,6 ,,L ,, ,,
Шаг второй: форматирование разделов
umount /dev/mmcblk0p1 mkdosfs /dev/mmcblk0p1 mkfs.ext3 /dev/mmcblk0p2
Шаг третий: переход в свежеустанавливаемую систему
Создадим директорию, куда будем устанавливать систему:
mkdir -p /mnt/jaunty
Далее скачаем скрипт bootstrap-script.tar.gz, уберем симлинк
rm -f /usr/share/debootstrap/scripts/jaunty
и распакуем наш скрипт в /usr/share/debootstrap/scripts
под пользователем root.
Далее мы должны добавить md5sum в наш /bin каталог для правильной работы debootstrap. Скачаем md5sum и распакуем в /bin под пользователем root.
Далее смонтируем наш ubuntu раздел в /mnt/jaunty и начнём установку(это может занять много времени):
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
И, наконец, chroot’имся в установленную систему и создаём устройства консоли:
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
Шаг четвертый: подготовка базовой системы к загрузке
Примонтируем нужные каталоги:
mount /dev /mnt/jaunty/dev mount /dev/pts /mnt/jaunty/dev/pts mount /tmp /mnt/jaunty/tmp chroot /mnt/jaunty export LC_ALL=C
Добавим пароль пользователя root:
passwd root
Настроим репозиторий, изменив файл /etc/apt/sorces.lst:
#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
Далее настроим apt-get:
touch /etc/apt/preferences
Добавим следующее в /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
Установим базовую систему:
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
Установим файл boottime.kmap.gz для работы клавиатуры:
cp /path/to/boottime.kmap.gz /mnt/jaunty/etc/
Далее отредактируем ряд файлов:
/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
В файле /etc/init.d/hwclock.sh HWCLOCKPARS=
изменим на HWCLOCKPARS="--directisa"
и добавим это в /etc/default/rcS:
echo 'HWCLOCKPARS=--directisa' << /etc/default/rcS
Уменьшим время загрузки:
apt-get install insserv echo 'CONCURRENCY=shell' << /etc/default/rcS
Если вы не заинтересованы в установке ubuntu-desktop то можете выполнить следующее и сразу перейти к шагу 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
Шаг пятый: установка ubuntu-desktop
Выполните следующее в терминале, это может занять несколько часов:
apt-get install ubuntu-desktop matchbox-keyboard apt-get clean
Поправим файл /etc/gdm/gdm.conf-costom для автоматического логина:
[daemon] # Automatic login, if true the first attached screen will automatically logged # in as user as set with AutomaticLogin key. AutomaticLoginEnable=true AutomaticLogin=user
Шаг шестой: активация файла подкачки
Выполним следующее в терминале:
mkswap /dev/mmcblk1p3
Добавим в /etc/fstab следующую строку:
/dev/mmcblk1p3 swap swap defaults 0 0
Шаг седьмой: создание меню загрузки
Создайте файл /etc/bootmenu.d/ubuntu.item и добавьте туда следующее(в случае раздела Ubuntu в /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"
И выполните следующую команду в терминале:
refresh_bootmenu.d
Всё, теперь у вас есть установленная система Ubuntu Jaunty!
Скриншоты можно посмотреть здесь.
Оригинал статьи находится здесь.
Еще интересные посты о программировании для мобильных устройств:
- Пишем для Palm WebOS “на коленке”, создаем проект руками
- Собираем собственный дистрибутив Embedded Linux на базе OpenEmbedded
- Hewlett-Packard выпускает собственную версию Ubuntu Linux для нетбуков
- Вышел Maemo 5 alpha SDK
- Подключение статической библиотеки в iPhone приложения
No Comments
Make A CommentNo comments yet.
Comments RSS Feed TrackBack URL