Debian/cs

From Openmoko

Revision as of 12:26, 9 February 2009 by Black DS (Talk | contribs)

Jump to: navigation, search


Debian je používán na mnoha embedded zařízeních. Použití Debianu na FreeRunneru zpřístupňuje spoustu balíčků se softwarem z repozitářů Debianu, již zkompilovaných pro procesory ARM. Navíc, každý si může sestavit vlastní programy, aniž by se musel učit jak na to s pomocí OpenEmbedded. Například nativní kompilace je v Debianu otázkou pouhého apt-get gcc&libc-dev.

Dříve bylo nutné, aby si každý nainstaloval Debian ručně. Nyní je již k dispozici instalační skript. "Oficiální" instrukce jak nainstalovat Debian na FreeRunner nebo Debian na Neo1973 jsou umístěny na Debian wiki. Tato stránka je o poinstalačních nastaveních, a tipech speciálně pro FreeRunner. Pro podporu nebo hlášení chyb si prosím přečtěte sekci podpora.

Contents

Konfigurace základního systému

Heslo

Přednastavené heslo pro uživatele root je prázdné. Měli byste jej změnit co nejdříve

# passwd

Suspend

Pro uspání (suspend) stiskněte tlačítko power, nebo spusťte 'apm -s'- Ke změnění času pro ztmavení nebo vypnutí displeje, editujte

 /usr/share/python-support/fso-frameworkd/framework/subsystems/odeviced/idlenotifier.py

sekci

       self.timeouts = { \
                       "idle": 10,
                       "idle_dim": 20,
                       "idle_prelock": 12,
                       "lock": 2,
                       "suspend": 20, \

idle_dim je čas v sekundách ke ztmavení displeje (přičítá se k "idle" času), idle_prelock je čas, po kterém se displej vypne. Poté spusťte:

 mv /var/lib/python-support/python2.5/framework/subsystems/odeviced/idlenotifier.pyc /var/lib/python-support/python2.5/framework/subsystems/odeviced/idlenotifier.pyc.old

Uspávání (suspend) můžete kompletně vypnout zakomentováním celé sekce "Idleness Brightness Handling" v souboru

 /etc/freesmartphone/oevents/rules.yaml

Čas

Přednastavená časová zóna je UTC. Přenastavte ji spuštěním

# dpkg-reconfigure tzdata

Pro ruční nastavení času použijte něco jako

# date -s 00:33

Nebo pokud máte připojení k internetu, třeba takto

# apt-get install ntpdate
# ntpdate-debian

Pokud si přejete synchronizovat hodiny s GPS časem, můžete použít takovýto skript

#!/usr/bin/env python
#
# Set the gps time
# Be sure your GPS is active before to launch this script

import dbus
import subprocess
import time

proxy = dbus.SystemBus().get_object('org.freesmartphone.frameworkd', '/org/freedesktop/Gypsy') # bus name, object name
interface = dbus.Interface(proxy, 'org.freedesktop.Gypsy.Time');
subprocess.call(['date',time.strftime( '%m%d%H%M%Y.%S', time.localtime(interface.GetTime()))])

Wifi

Použití GUI

Pokud se nechcete otravovat s konfiguračními soubory, a hledáte jednoduché GUI pro konfiguraci wifi, pak wifi-radar nebo wicd je právě to, co hledáte.

apt-get install wifi-radar
wifi-radar

nebo

apt-get install wicd
wicd-client -n

Pokud chcete víc, čtěte dále...

Použití /etc/network/interfaces (jednoduchý mód)

Ujistěte se, že máte nainstalovány následující balíčky:

apt-get install wireless-tools wpasupplicant dhcp3-client

Za předpokladu, že váš bezdrátový router používá WPA a DHCP, editujte /etc/network/interfaces a vložte sekci podobnou této:

auto eth0
iface eth0 inet dhcp
wpa-driver wext
wpa-ssid "MyWirelessName"
wpa-psk "MyWirelessPassword"

Kde pochopitelně místo MyWirelessName a MyWirelessPassword použijete název a heslo vlastní wifi sítě.

Můžete to otestovat pomocí

# ifup eth0

Můžete určit svou IP adresu pomocí

# ifconfig eth0

Problémy:

  • funguje pouze v přítomnosti bezdrátové sítě při bootu, nebo když se ručně spustí ifup eth0
  • bootování mimo dosah bezdrátové sítě je pomalejší, protože systém čeká na IP adresu z DHCP až po time out
  • neobnoví spojení, když opustíte oblast dosahu vaší wifi sítě a následně se vrátíte
  • nepodporuje vícenásobné wifi sítě nebo otevřené hotspoty, mezi kterými můžete cestovat

Jakmile wpa_supplicant jednou začal řídit vaše wifi rozhraní, měli byste psát "wpa_action eth0 stop" namísto "ifdown eth0".

Použití wpa-supplicant (roaming mód)

K nakonfigurování WPA k "potulování se" mezi bezdrátovými sítěmi, budete potřebovat vytvořit následující soubor:

/etc/wpa_supplicant/wpa_supplicant.conf

vzorový soubor (a více dokumentace) je dostupný v:

/usr/share/doc/wpasupplicant/examples/wpa-roam.conf

Nyní potřebujete do tohoto souboru přidat bezdrátové sítě. Například:

  • WEP:
network={
       ssid="MySSID"
       key_mgmt=NONE
       wep_key0="abcdefghijklm"
#      wep_key0=6162636465  # <- bez uvozovek, takže hex číslo
       wep_tx_keyidx=0
       id_str="MySSID"
}
  • Bez klíče:
network={
       ssid="SomeNetwork"
       key_mgmt=NONE
}
  • WPA:
       network={
       ssid="Example WPA Network"
       psk="mysecretpassphrase"
       id_str="home"
}

Dále budete potřebovat upravit /etc/network/interfaces. To vám umožní nakonfigurovat wifi, aby používala dhcp, nebo jiné odpovídající nastavení:

auto eth0
iface eth0 inet manual
wpa-driver wext
wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf

# MySSID comes from an id_str above.
iface MySSID inet dhcp

# default is what's used if there is no id_str setting.
# so the 'SomeNetwork' network will use DHCP.
iface default inet dhcp

iface home inet static
# static interface settings, or whatever...

Nakonec, pokud chcete zkusit výchozí přístup na internet přes eth0 (a ne usb0), pak zakomentujte tento řádek v konfiguraci usb0 adaptéru:

gateway 192.168.0.200


  • Přebíhání mezi sítěmi není automatické. Místo toho musíte ručně spustit "wpa_action eth0 stop; ifup eth0" k přepnutí na jinou síť.

Z nějakého důvodu jsem musel restartovat, aby se projevilo nastavené id_str. Avšak, měli byste nyní být schopni použít "ifup eth0" k asociaci s přípojným bodem wifi sítě a "wpa_action eth0 stop" k vypnutí wifi adaptéru.

TODO: Which of the issues that single network configurations suffer from are addressed by WPA roaming mode? Would ifplugd / guessnet help, or just make things more complicated? (See: To-Do List)

Dále si přečtěte

K využití všech možností wpasupplicant jako roaming a automatické připojování na různé sítě byste si měli přečíst /usr/share/doc/wpasupplicant/README.Debian.gz

Bluetooth

FreeRunner používá standardní Linuxový bluez stack, nainstalovaný pomocí

# apt-get install bluez-utils

V němž je i chybějící modul z /etc/modules, který je nutný pro rozpoznání zařízení. (kudos to johnsu01 on irc.freenode.net:#openmoko-debian for the find)

# echo ohci-hcd >> /etc/modules

The first time you try this, you can also

# modprobe ohci-hcd

Jediná atypická část používání bluetooth na FreeRunnerovi je jeho zapnutí, které se provádí následovně

# mdbus -s org.freesmartphone.frameworkd  /org/freesmartphone/Device/PowerControl/Bluetooth SetPower 1

Nyní by zařízení mělo být vidět

# hcitool dev
TODO: A co dále? (See: To-Do List)

Správce balíčků

Můžete nainstalovaet dselect(~2.2MB) nebo aptitude(~12MB) pro vizuální prohlížení dostupných balíčků pomocí desktopové konzole.
Na GTK postavený správce balíčků synaptic(~15.7MB) po instalaci lsb-release a hicolor-icon-theme také funguje, ale je velmi pomalý.
Nakonec, na omezeném systému, prostě použijte příkaz:

grep -e Package: -e Description /var/lib/dpkg/available|more

Xglamo acceleration

Ve výchozím nastavení debian používá fbdev, ale můžete použít Xglamo pro lepší výkon:

apt-get install xserver-xglamo

poté upravte soubor /etc/X11/xorg.conf a změňte řádek

Driver          "fbdev"

na:

Driver          "Xglamo"

a v případě spouštění X serveru normálním uživatelem:

chmod u+s /usr/bin/Xglamo
Pro stejné písmo jako s fbdev je nutné vnutit X serveru 96dpi. Přidejte "-dpi 96" do proměnné X_OPTIONS v /etc/init.d/nodm:
X_OPTIONS="vt4 -nolisten tcp -dpi 96"

s tímto:

  • můžete používat xrandr
  • nemáte chybu s kalibrací obrazovky v otočeném módu (rotated mode)
  • máte lepší výkon

Při používání xglamo si musíte pamatovat, že:

  • Nemůžete v xorg.conf použít "Option Rotate" pro otáčení obrazovky
  • Nemůžete použít tslib patch pro simulaci pravého tlačítka

Running X as normal user

1. Vytvořte nového uživatele

# useradd -m -G audio,dialout,floppy,video,staff username
# passwd username

2. Editujte /etc/init.d/nodm a změňte v něm USER=root na USER=username. Then to make sure changes are not lost on upgrade, run

dpkg-divert --add /etc/init.d/nodm

This will make new versions of /etc/init.d/nodm be written to /etc/init.d/nodm.distrib

3. Edit /etc/X11/Xwrapper.config and change allowed_users=console to allowed_users=anybody (Or use dpkg-reconfigure x11-common)

4. Copy /root/.xsession into ~username/

5. Note that, if you ran zhone as root first, you may have to change ownership or remove /tmp/zhone.log, as a normal user is not able to write to a file owned by root.

6. If you have already configured to use Xglamo as a driver, chmod u+s /usr/bin/Xglamo (as can be read below)

Using dbus as a normal user

If you want to make calls or interact with the gps daemon through a dbus interface, you user will have to have the rights to do that. One way of adding these rights is as follows:

  • copy /etc/dbus-1/system.d/frameworkd.conf to /etc/dbus-1/system.d/my-frameworkd.conf
  • open /etc/dbus-1/system.d/my-frameworkd.conf and replace all instances of 'user="root"' with 'user="youruser"'

Alternatively, replace all instances of 'user="root"' with 'group="messagebus"' and add your user to the messagebus group.

Zvuk

Musíte přidat vašeho uživatele do skupiny audio ("adduser <username> audio").

Pokud stále nemáte žádný zvuk, vyzkoušejte tyto stavové soubory: Talk:Manual_Debian#Sound

Klávesnice a jiné metody vstupu

Jako výchozí klávesnice je nainstalován Matchbox, který můžete použít pro vkládání znaků do vašeho nea. Jako alternativu můžete nainstalovat CellWriter. Má také plně vyvinutou klávesnici na obrazovce.

Instalace:

apt-get install cellwriter

Více informací najdete zde homepage.

Kernel

Debian way

When Debian is installed, the kernel is provided by the package linux-image-2.6.24-openmoko-gta02. This package can be installed only in POSIX compliant filesystems, so it can not be used if your boot partition is a vfat one. Your kernel will be keep updated like the other packages of the system. You should use this way if you are unsure and you need an (almost) stable system.

Openmoko way

Otherwise you can choose to manual install an OM kernel. But only do this if you know what you are doing. At the moment there is a little problem in the question which kernel to use. Hopefully it will be solved in the near future.

The original openmoko kernel works fine inclusive suspending and supports different really nice usb gadgets (not all working at the moment). :)
download stable: http://downloads.openmoko.org/releases/Om2008.9/
download testing: http://downloads.openmoko.org/daily/

The new FSO4 kernel works fine and suspend/resume is also possible. But this kernel still has no loadable usb gadget modules (10-Nov-2008). :/
download testing: http://downloads.freesmartphone.org/fso-testing/images/
download unstable: http://downloads.freesmartphone.org/fso-unstable/images/

  1. Download a recent kernel and rootfs (tar.gz) from one of the above mentioned sources. It's your decision if you want suspend or usb gadget modules at the moment.
  2. Backup your running kernel like mv /boot/uImage.bin /boot/uImage.bin.old, then
    copy the downloaded uImage file to the freerunner as /boot/uImage.bin.
  3. Backup your actual modules like mv /lib/modules/2.6.24 /lib/modules/2.6.24.old, then
    extract the downloaded rootfs tar.gz to a temporary directory and copy lib/modules/2.6.24 from the temp directory to /lib/modules/2.6.24 on the FreeRunner.
  4. Do a chown -R root.root /lib/modules/2.6.24 because the owner from the tar.gz is something else (for me).
  5. Run a depmod -a.
  6. This step is only needed for the OM kernel but it doesn't harm the FSO kernel setup. Add "g_ether" Module to /etc/modules like echo g_ether >> /etc/modules. I read in an email, that the module "ohci-hcd" is also needed for some bluetooth functions, but i don't know this for real. I inserted it to my modules file to be on the safe side.
  7. Reboot and hope everything works as expected. :)

Desktop environments

Matchbox with fbpanel

It is not really a Desktop environment, but using fbpanel with Matchbox you can have a fast, lightweight, gtk2 desktop panel.

Debian with fbpanel, matchbox-window-manager and Zhone running
  1. Install fbpanel:
    sudo apt-get install fbpanel
  2. Customize the X startup process:
    ~/.xsession
    #!/bin/sh
    export GTK_MODULES=libgtkstylus.so
    zhone &
    xsetroot -solid black
    matchbox-keyboard-toggle &
    matchbox-window-manager -use_titlebar yes &
    # -use_titlebar yes to minimize & toggle between apps
    # fbpanel's taskbar does not work with matchbox-window-manager
    #~/bin/auxlaunch &
    while true;
    do
    fbpanel;
    sleep 1;
    done;
    
  3. Read http://fbpanel.sourceforge.net/docs.html#config
    ~/.fbpanel/default
    mkdir ~/.fbpanel
    cp /etc/fbpanel/default ~/.fbpanel/default
    nano ~/.fbpanel/default
    

    Remove section with 'taskbar' plugin - it's useless with matchbox-window-manager. You may add plugin 'cpu'

    Plugin {
    type = cpu
    }

    Also, plugin 'genmon' is useful:

    Plugin {
    type = genmon
    config {
    Command = echo -e $(grep "MemFree" /proc/meminfo | awk '{printf "%0.2f", $2 / 1024}') "|"\
    $(cat /proc/loadavg | awk '{print $3}') "|" $(apm | awk '{print $5}')
    PollingTime = 60
    TextSize = small
    TextColor = darkblue
    }
    }
    After 'killall fbpanel' it will show: free mem in megabytes | loadavg | battery % left.
  4. Default theme is ugly. You can change it and / or make font's bigger:
    ~/.gtkrc-2.0
    sudo apt-cache search gtk2-engines
    sudo apt-get install gtk2-engines gtk-theme-switch
    DISPLAY=:0 gtk-theme-switch2
    Now choose your theme, font and save it. To see changes do 'killall fbpanel'.

In order to use killall, install the psmisc package:

apt-get install psmisc

Some of the icons rely on the hicolor-icon-theme:

apt-get install hicolor-icon-theme

XFCE

The debian installation script installs by default the matchbox window manager. It doesn't feature a desktop environment. xfce is a small and lightweight desktop environment and so is quite fast for the FreeRunner.

apt-get install xfce4

Edit your .xsession to launch xfce4 at X startup :

#!/bin/sh
xfce4-session

Edit section [Failsafe Session] of /etc/xdg/xfce4-session/xfce4-session.rc (or ~/.config/xfce4-session/xfce4-session.rc) to handle the auto-started apps. For example:

[Failsafe Session]
Count=3
Client0_Command=xfce4-panel
Client0_PerScreen=False
Client1_Command=xfdesktop
Client1_PerScreen=False
Client2_Command=zhone
Client2_PerScreen=True

Start XFCE !

/etc/init.d/nodm restart

The desktop takes a while to start but once up was snappy as can be expected. I've not yet looked at the reason for the seemingly too slow start for the desktop.

zhone is available from the "Office" menu in xfce. The matchbox keyboard is available in "Accessories".

If you want to display the screen on the long side (ie rotated, 4:3 aspect), add the following to the /etc/X11/xorg.conf in both the Device and InputDevice sections :

Option          "Rotate"                "CCW"

and then (re)start xfce.

If you want to be able to shutdown/restart the device, add the following line to /etc/sudoers (don't forget to replace username with your actual username):

username localhost = NOPASSWD: /usr/sbin/xfsm-shutdown-helper

Using matchbox-window-manager with XFCE

XFCE's window manager is poorly configured for use with the FreeRunner. Fortunately, matchbox's window manager is compatible with xfce. To use the matchbox window manager, modify ~/.xsession as follows:

#!/bin/sh
exec matchbox-window-manager -use_titlebar no -use_cursor no &
xfce4-session

LXDE

I you want a really nice desktop enviroment but you think XFCE is too fat, you can try to install LXDE. It give to you the GTK comfort, but use only a fraction of the ram needed by XFCE.

To install it:

apt-get install lxde

to launch it create a /etc/init.d/lxde script in the same way descripted for xfce4, replacing startxfce4 accorence with startlxde.

Additional Software

Web Browser

Arne Anka suggested trying the light-weight webkit-based midori browser:

apt-get install midori

Another light-weight browser is Dillo. It can be easily installed with:

apt-get install dillo

If you think the previous options are quite slow on Freerunner try Links2.

apt-get install links2

Run as:

xlinks2

GPS

Openmoko Freerunner has integrated a good AGPS chip that can be used to know in every moment the phone position. The most known free applications to use gps with graphical maps are:

Main article: TangoGPS


Main article: Navit
(Attention: Navit is not yet present on Debian repository)

E-Book reader

To read an E-Book you have diffent possibilities:

  • FBReader a good reader that can display txt, fb2, html and various other formats.
  • Epdfview a simple and lightweight PDF viewer, it can be installed from Debian repository.
  • Evince the official Gnome viewer, it can display pdf, djvu, cbz, and other formats.

There is also an hack to convert drm protected adobe ebooks to .cbz files readable as mentioned on the mailing list.

Miscellaneous

Making the cursor invisible

Using matchbox

Matchbox has an option, use_cursor, that can be used to control whether to show the cursor. For the default setup, edit /usr/bin/zhone-session and change the matchbox command to matchbox-window-manager -use_titlebar no -use_cursor no

Using unclutter

Unclutter is a program that hides the cursor after a period of inactivity. To use unclutter, install it

  1. apt-get install unclutter

and choose Yes to the question Start unclutter automatically?. To change settings edit /etc/default/unclutter.

Changing the cursor

To make the cursor invisible create a file called empty.cursor with this content:

#define empty.cursor_width 16
#define empty.cursor_height 16
static unsigned char empty.cursor_bits[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};

Now you can execute: xsetroot -cursor empty.cursor empty.cursor and the cursor will be invisible. To make this permanent you have to invent something ;) It must be executed after zhone has finished starting up.

Running X applications on your desktop in nested X server

Sometimes it is helpful to have a big screen, keyboard and mouse. You can run X applications in a nested X server window. On your desktop install the nested X server application Xephyr (better that Xnest) apt-get install xserver-xephyr Run a nested X server as display=:1 Xephyr :1 -ac -br -screen 480x640 -reset -terminate & Now you are able to run apps on your Neo which will display on your desktop PC. Make sure to set the display, for example if "mydesktop" is your desktop hostname DISPLAY=mydesktop:1 xfce4-session &

Simulating right click with stylus

With fbdev driver from xserver-xorg

To have the right click with stylus an easy way is to use the Sebastian Ohl's tslib patch: you can find it here until it will not enter in the official Debian package.

You can install it with:

wget http://www.ohli.de/download/xserver-xorg-input-tslib_0.0.5-1+fso1_armel.deb
dpkg --install xserver-xorg-input-tslib

This patch makes it necessary to add a new line to your xorg.conf.

Option          "EmulateRightButton"    "1"

Just add it to you InputDevice section. Without this line the old behavior of the tslib driver is restored -> this means no right click.


Warning: this patch is external to Debian repository and is not (yet) supported by Debian comunity.

In this way, to get a right click you can simply tap and hold the stylus and after a while a right click will occurs.

Warning: tslib patch is incompatible with xserver-xglamo. Use libgtkstylus instead (see below).

With Xglamo driver from xserver-xglamo

  1. apt-get install libgtkstylus
  2. Insert this line at the beginning of ~/.xsession:
    export GTK_MODULES=libgtkstylus.so &

Using the mouse and keyboard from your desktop on the OM device

Method 1: xsession export (works with a linux host)

If you are running Linux (or a similar xorg capable operating system) on your Desktop, you can export your xsession to the openmoko device and use your mouse and keyboard on the Neo screen. A little program called x2x makes it even possible to do this simultaneously on the fly. When activated you just move your mouse to the edge of your monitor and then the mouse cursor continues on the screen of your openmoko device. If you select a window on the OM, the input of your keyboard is automatically entered in that window. You can even use the clipboard to copy data from tour desktop to OM and in the reverse direction.

Configure your desktop computer to export your xsession: On your desktop (with root permissions): Make sure that sshd is installed and in /etc/ssh/sshd_config you have set X11Forwarding yes

In K/Ubuntu sshd is in the package openssh-server.

On your OM device install x2x (with root permissions) apt-get install xauth x2x Now open a new X terminal on your desktop computer. You MUST be the same user that is running the xsession on your desktop (i.e. do not su to root or another user in your x terminal!). Use the same username that is running an xsession on your OM device. Assuming that you have a usb networking connection to OM (with standard configuration) on the user prompt of your desktop type: user@desktop:~$ ssh -X openmoko@192.168.0.202 "/usr/bin/x2x -east -to :0.0" Hit return and enter your password. The xterm window will be unresponsive after that, but keep it open until you disconnect your OM device.

Now move your mouse cursor across the right edge of your monitor. It should enter the screen of your OM device from the left. Of course you can also use -west, -north or -south, depending on your preference where you place your OM.

If computer says: sh: /usr/X11R6/bin/xauth: No such file or directory X11 connection rejected because of wrong authentication. x2x - error: can not open display localhost:11.0

It means you haven't installed xauth on your OM. So on your OM (with root permissions) apt-get install xauth

Method 2: synergy (works with a windows/linux host)

With this method you can have the following functionality:

  • Mouse moves from screen edge to the next screen
  • Keyboard types on the focused window
  • Clipboard is transferred as well
  • Connect as many computers and screens you wish
  • Connect windows computers too

All devices/computers in question should be able to install synergy. Windows computers can use an installer exe. Debian devices have a package ready to be used.

apt-get install synergy quicksynergy

quick synergy will appear in your XFCE programs menu (Accessories->QuickSynergy). Run it, switch to the "Use" tab, enter the IP address of the computer with the mouse and keyboard you wish to use, and press Execute.

In the windows host, (or linux) run the synergy after installation, and configure it to share its keyboard and mouse(server), configuration is fairly simple, you add all the hostnames of the devices/computers that ever would be joined to the "screens" list, and create 2 links for each connection.

If your desktop's hostname is homepc, and the device's is debian_gta02, and i place the device to the left of the desktop, the links would look like this:

homepc is right of debian_gta02
debian_gta02 is left of homepc

Now move back to the main screen, and press Start.

That should be it, in windows you should have an icon with a yellow lightning in it when synergy is connected and working. Synergy supports connection of more then one screen so one could set up a full lab with only one keyboard and mouse :)

See also

Support

To have more information about Debian go to Debian homepage.

If you have some problems, you can find support in smartphone mailing list. Report your discovered bugs to this list but remember to put Joachim Breitner in CC.

If you'd like to help the packaging activities, you can join the fso mainteiner list.

Consider a swap partition [1] [2].

Známé problémy

Problém při použití install.sh

Pokud vytváření tabulky oddílů hlásí chybu, použijte následující patch:

--- install.sh	2009-01-19 17:36:26.000000000 +0300
+++ install_good.sh	2009-01-19 17:44:51.000000000 +0300
@@ -405,9 +405,9 @@
 
 echo " * Waiting for partitions to appear"
 SLEEP_SECONDS=3
-while ! ([ "$SINGLE_PART" = "true" ] && test -e ${SD_DEVICE}p1) ||\
-	test -e ${SD_DEVICE}p1 -a -e ${SD_DEVICE}p2; do
-	if [ "$SLEEP_SECONDS" = 15 ]; then
+while ! (([ "$SINGLE_PART" = "true" ] && test -e ${SD_DEVICE}p1) ||\
+	test -e ${SD_DEVICE}p1 -a -e ${SD_DEVICE}p2); do
+	if [ "$SLEEP_SECONDS" = 30 ]; then
 		echo "E: Partitioning has failed, partitions have not been created"
 		exit 1
 	fi
@@ -598,7 +598,7 @@
 rootfs	/		auto	defaults,errors=remount-ro,noatime	0 1
 __END__
 
-if ![ "$SINGLE_PART" = "true" ]; then
+if [ "$SINGLE_PART" != "true" ]; then
 cat >> $INST_DIR/etc/fstab <<__END__
 /dev/mmcblk0p1	/boot	auto	defaults,noatime			0 2
 __END__

apt-get segmentation fault Kdykoli dostanete segmentation fault při používání apt-get nebo aptitude, vyčistěte databázi, a ta bude znova sestavena

 rm /var/cache/apt/*.bin

Pokud nechce Zhone nastartovat je to nejpravděpodobněji kvůli chybě v balíčku python-evas [3] (fixed in new install). Nainstalujte balíček:

 wget http://www.ginguppin.de/files/python-evas_0.2.1-2_armel.deb
 dpkg -i python-evas_0.2.1-2_armel.deb
Personal tools


Debian je používán na mnoha embedded zařízeních. Použití Debianu na FreeRunneru zpřístupňuje spoustu balíčků se softwarem z repozitářů Debianu, již zkompilovaných pro procesory ARM. Navíc, každý si může sestavit vlastní programy, aniž by se musel učit jak na to s pomocí OpenEmbedded. Například nativní kompilace je v Debianu otázkou pouhého apt-get gcc&libc-dev.

Dříve bylo nutné, aby si každý nainstaloval Debian ručně. Nyní je již k dispozici instalační skript. "Oficiální" instrukce jak nainstalovat Debian na FreeRunner nebo Debian na Neo1973 jsou umístěny na Debian wiki. Tato stránka je o poinstalačních nastaveních, a tipech speciálně pro FreeRunner. Pro podporu nebo hlášení chyb si prosím přečtěte sekci podpora.

Konfigurace základního systému

Heslo

Přednastavené heslo pro uživatele root je prázdné. Měli byste jej změnit co nejdříve

# passwd

Suspend

Pro uspání (suspend) stiskněte tlačítko power, nebo spusťte 'apm -s'- Ke změnění času pro ztmavení nebo vypnutí displeje, editujte

 /usr/share/python-support/fso-frameworkd/framework/subsystems/odeviced/idlenotifier.py

sekci

       self.timeouts = { \
                       "idle": 10,
                       "idle_dim": 20,
                       "idle_prelock": 12,
                       "lock": 2,
                       "suspend": 20, \

idle_dim je čas v sekundách ke ztmavení displeje (přičítá se k "idle" času), idle_prelock je čas, po kterém se displej vypne. Poté spusťte:

 mv /var/lib/python-support/python2.5/framework/subsystems/odeviced/idlenotifier.pyc /var/lib/python-support/python2.5/framework/subsystems/odeviced/idlenotifier.pyc.old

Uspávání (suspend) můžete kompletně vypnout zakomentováním celé sekce "Idleness Brightness Handling" v souboru

 /etc/freesmartphone/oevents/rules.yaml

Čas

Přednastavená časová zóna je UTC. Přenastavte ji spuštěním

# dpkg-reconfigure tzdata

Pro ruční nastavení času použijte něco jako

# date -s 00:33

Nebo pokud máte připojení k internetu, třeba takto

# apt-get install ntpdate
# ntpdate-debian

Pokud si přejete synchronizovat hodiny s GPS časem, můžete použít takovýto skript

#!/usr/bin/env python
#
# Set the gps time
# Be sure your GPS is active before to launch this script

import dbus
import subprocess
import time

proxy = dbus.SystemBus().get_object('org.freesmartphone.frameworkd', '/org/freedesktop/Gypsy') # bus name, object name
interface = dbus.Interface(proxy, 'org.freedesktop.Gypsy.Time');
subprocess.call(['date',time.strftime( '%m%d%H%M%Y.%S', time.localtime(interface.GetTime()))])

Wifi

Použití GUI

Pokud se nechcete otravovat s konfiguračními soubory, a hledáte jednoduché GUI pro konfiguraci wifi, pak wifi-radar nebo wicd je právě to, co hledáte.

apt-get install wifi-radar
wifi-radar

nebo

apt-get install wicd
wicd-client -n

Pokud chcete víc, čtěte dále...

Použití /etc/network/interfaces (jednoduchý mód)

Ujistěte se, že máte nainstalovány následující balíčky:

apt-get install wireless-tools wpasupplicant dhcp3-client

Za předpokladu, že váš bezdrátový router používá WPA a DHCP, editujte /etc/network/interfaces a vložte sekci podobnou této:

auto eth0
iface eth0 inet dhcp
wpa-driver wext
wpa-ssid "MyWirelessName"
wpa-psk "MyWirelessPassword"

Kde pochopitelně místo MyWirelessName a MyWirelessPassword použijete název a heslo vlastní wifi sítě.

Můžete to otestovat pomocí

# ifup eth0

Můžete určit svou IP adresu pomocí

# ifconfig eth0

Problémy:

  • funguje pouze v přítomnosti bezdrátové sítě při bootu, nebo když se ručně spustí ifup eth0
  • bootování mimo dosah bezdrátové sítě je pomalejší, protože systém čeká na IP adresu z DHCP až po time out
  • neobnoví spojení, když opustíte oblast dosahu vaší wifi sítě a následně se vrátíte
  • nepodporuje vícenásobné wifi sítě nebo otevřené hotspoty, mezi kterými můžete cestovat

Jakmile wpa_supplicant jednou začal řídit vaše wifi rozhraní, měli byste psát "wpa_action eth0 stop" namísto "ifdown eth0".

Použití wpa-supplicant (roaming mód)

K nakonfigurování WPA k "potulování se" mezi bezdrátovými sítěmi, budete potřebovat vytvořit následující soubor:

/etc/wpa_supplicant/wpa_supplicant.conf

vzorový soubor (a více dokumentace) je dostupný v:

/usr/share/doc/wpasupplicant/examples/wpa-roam.conf

Nyní potřebujete do tohoto souboru přidat bezdrátové sítě. Například:

  • WEP:
network={
       ssid="MySSID"
       key_mgmt=NONE
       wep_key0="abcdefghijklm"
#      wep_key0=6162636465  # <- bez uvozovek, takže hex číslo
       wep_tx_keyidx=0
       id_str="MySSID"
}
  • Bez klíče:
network={
       ssid="SomeNetwork"
       key_mgmt=NONE
}
  • WPA:
       network={
       ssid="Example WPA Network"
       psk="mysecretpassphrase"
       id_str="home"
}

Dále budete potřebovat upravit /etc/network/interfaces. To vám umožní nakonfigurovat wifi, aby používala dhcp, nebo jiné odpovídající nastavení:

auto eth0
iface eth0 inet manual
wpa-driver wext
wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf

# MySSID comes from an id_str above.
iface MySSID inet dhcp

# default is what's used if there is no id_str setting.
# so the 'SomeNetwork' network will use DHCP.
iface default inet dhcp

iface home inet static
# static interface settings, or whatever...

Nakonec, pokud chcete zkusit výchozí přístup na internet přes eth0 (a ne usb0), pak zakomentujte tento řádek v konfiguraci usb0 adaptéru:

gateway 192.168.0.200


  • Přebíhání mezi sítěmi není automatické. Místo toho musíte ručně spustit "wpa_action eth0 stop; ifup eth0" k přepnutí na jinou síť.

Z nějakého důvodu jsem musel restartovat, aby se projevilo nastavené id_str. Avšak, měli byste nyní být schopni použít "ifup eth0" k asociaci s přípojným bodem wifi sítě a "wpa_action eth0 stop" k vypnutí wifi adaptéru.

TODO: Which of the issues that single network configurations suffer from are addressed by WPA roaming mode? Would ifplugd / guessnet help, or just make things more complicated? (See: To-Do List)

Dále si přečtěte

K využití všech možností wpasupplicant jako roaming a automatické připojování na různé sítě byste si měli přečíst /usr/share/doc/wpasupplicant/README.Debian.gz

Bluetooth

FreeRunner používá standardní Linuxový bluez stack, nainstalovaný pomocí

# apt-get install bluez-utils

V němž je i chybějící modul z /etc/modules, který je nutný pro rozpoznání zařízení. (kudos to johnsu01 on irc.freenode.net:#openmoko-debian for the find)

# echo ohci-hcd >> /etc/modules

The first time you try this, you can also

# modprobe ohci-hcd

Jediná atypická část používání bluetooth na FreeRunnerovi je jeho zapnutí, které se provádí následovně

# mdbus -s org.freesmartphone.frameworkd  /org/freesmartphone/Device/PowerControl/Bluetooth SetPower 1

Nyní by zařízení mělo být vidět

# hcitool dev
TODO: A co dále? (See: To-Do List)

Správce balíčků

Můžete nainstalovaet dselect(~2.2MB) nebo aptitude(~12MB) pro vizuální prohlížení dostupných balíčků pomocí desktopové konzole.
Na GTK postavený správce balíčků synaptic(~15.7MB) po instalaci lsb-release a hicolor-icon-theme také funguje, ale je velmi pomalý.
Nakonec, na omezeném systému, prostě použijte příkaz:

grep -e Package: -e Description /var/lib/dpkg/available|more

Xglamo acceleration

Ve výchozím nastavení debian používá fbdev, ale můžete použít Xglamo pro lepší výkon:

apt-get install xserver-xglamo

poté upravte soubor /etc/X11/xorg.conf a změňte řádek

Driver          "fbdev"

na:

Driver          "Xglamo"

a v případě spouštění X serveru normálním uživatelem:

chmod u+s /usr/bin/Xglamo
Pro stejné písmo jako s fbdev je nutné vnutit X serveru 96dpi. Přidejte "-dpi 96" do proměnné X_OPTIONS v /etc/init.d/nodm:
X_OPTIONS="vt4 -nolisten tcp -dpi 96"

s tímto:

  • můžete používat xrandr
  • nemáte chybu s kalibrací obrazovky v otočeném módu (rotated mode)
  • máte lepší výkon

Při používání xglamo si musíte pamatovat, že:

  • Nemůžete v xorg.conf použít "Option Rotate" pro otáčení obrazovky
  • Nemůžete použít tslib patch pro simulaci pravého tlačítka

Running X as normal user

1. Vytvořte nového uživatele

# useradd -m -G audio,dialout,floppy,video,staff username
# passwd username

2. Editujte /etc/init.d/nodm a změňte v něm USER=root na USER=username. Then to make sure changes are not lost on upgrade, run

dpkg-divert --add /etc/init.d/nodm

This will make new versions of /etc/init.d/nodm be written to /etc/init.d/nodm.distrib

3. Edit /etc/X11/Xwrapper.config and change allowed_users=console to allowed_users=anybody (Or use dpkg-reconfigure x11-common)

4. Copy /root/.xsession into ~username/

5. Note that, if you ran zhone as root first, you may have to change ownership or remove /tmp/zhone.log, as a normal user is not able to write to a file owned by root.

6. If you have already configured to use Xglamo as a driver, chmod u+s /usr/bin/Xglamo (as can be read below)

Using dbus as a normal user

If you want to make calls or interact with the gps daemon through a dbus interface, you user will have to have the rights to do that. One way of adding these rights is as follows:

  • copy /etc/dbus-1/system.d/frameworkd.conf to /etc/dbus-1/system.d/my-frameworkd.conf
  • open /etc/dbus-1/system.d/my-frameworkd.conf and replace all instances of 'user="root"' with 'user="youruser"'

Alternatively, replace all instances of 'user="root"' with 'group="messagebus"' and add your user to the messagebus group.

Zvuk

Musíte přidat vašeho uživatele do skupiny audio ("adduser <username> audio").

Pokud stále nemáte žádný zvuk, vyzkoušejte tyto stavové soubory: Talk:Manual_Debian#Sound

Klávesnice a jiné metody vstupu

Jako výchozí klávesnice je nainstalován Matchbox, který můžete použít pro vkládání znaků do vašeho nea. Jako alternativu můžete nainstalovat CellWriter. Má také plně vyvinutou klávesnici na obrazovce.

Instalace:

apt-get install cellwriter

Více informací najdete zde homepage.

Kernel

Debian way

When Debian is installed, the kernel is provided by the package linux-image-2.6.24-openmoko-gta02. This package can be installed only in POSIX compliant filesystems, so it can not be used if your boot partition is a vfat one. Your kernel will be keep updated like the other packages of the system. You should use this way if you are unsure and you need an (almost) stable system.

Openmoko way

Otherwise you can choose to manual install an OM kernel. But only do this if you know what you are doing. At the moment there is a little problem in the question which kernel to use. Hopefully it will be solved in the near future.

The original openmoko kernel works fine inclusive suspending and supports different really nice usb gadgets (not all working at the moment). :)
download stable: http://downloads.openmoko.org/releases/Om2008.9/
download testing: http://downloads.openmoko.org/daily/

The new FSO4 kernel works fine and suspend/resume is also possible. But this kernel still has no loadable usb gadget modules (10-Nov-2008). :/
download testing: http://downloads.freesmartphone.org/fso-testing/images/
download unstable: http://downloads.freesmartphone.org/fso-unstable/images/

  1. Download a recent kernel and rootfs (tar.gz) from one of the above mentioned sources. It's your decision if you want suspend or usb gadget modules at the moment.
  2. Backup your running kernel like mv /boot/uImage.bin /boot/uImage.bin.old, then
    copy the downloaded uImage file to the freerunner as /boot/uImage.bin.
  3. Backup your actual modules like mv /lib/modules/2.6.24 /lib/modules/2.6.24.old, then
    extract the downloaded rootfs tar.gz to a temporary directory and copy lib/modules/2.6.24 from the temp directory to /lib/modules/2.6.24 on the FreeRunner.
  4. Do a chown -R root.root /lib/modules/2.6.24 because the owner from the tar.gz is something else (for me).
  5. Run a depmod -a.
  6. This step is only needed for the OM kernel but it doesn't harm the FSO kernel setup. Add "g_ether" Module to /etc/modules like echo g_ether >> /etc/modules. I read in an email, that the module "ohci-hcd" is also needed for some bluetooth functions, but i don't know this for real. I inserted it to my modules file to be on the safe side.
  7. Reboot and hope everything works as expected. :)

Desktop environments

Matchbox with fbpanel

It is not really a Desktop environment, but using fbpanel with Matchbox you can have a fast, lightweight, gtk2 desktop panel.

Debian with fbpanel, matchbox-window-manager and Zhone running
  1. Install fbpanel:
    sudo apt-get install fbpanel
  2. Customize the X startup process:
    ~/.xsession
    #!/bin/sh
    export GTK_MODULES=libgtkstylus.so
    zhone &
    xsetroot -solid black
    matchbox-keyboard-toggle &
    matchbox-window-manager -use_titlebar yes &
    # -use_titlebar yes to minimize & toggle between apps
    # fbpanel's taskbar does not work with matchbox-window-manager
    #~/bin/auxlaunch &
    while true;
    do
    fbpanel;
    sleep 1;
    done;
    
  3. Read http://fbpanel.sourceforge.net/docs.html#config
    ~/.fbpanel/default
    mkdir ~/.fbpanel
    cp /etc/fbpanel/default ~/.fbpanel/default
    nano ~/.fbpanel/default
    

    Remove section with 'taskbar' plugin - it's useless with matchbox-window-manager. You may add plugin 'cpu'

    Plugin {
    type = cpu
    }

    Also, plugin 'genmon' is useful:

    Plugin {
    type = genmon
    config {
    Command = echo -e $(grep "MemFree" /proc/meminfo | awk '{printf "%0.2f", $2 / 1024}') "|"\
    $(cat /proc/loadavg | awk '{print $3}') "|" $(apm | awk '{print $5}')
    PollingTime = 60
    TextSize = small
    TextColor = darkblue
    }
    }
    After 'killall fbpanel' it will show: free mem in megabytes | loadavg | battery % left.
  4. Default theme is ugly. You can change it and / or make font's bigger:
    ~/.gtkrc-2.0
    sudo apt-cache search gtk2-engines
    sudo apt-get install gtk2-engines gtk-theme-switch
    DISPLAY=:0 gtk-theme-switch2
    Now choose your theme, font and save it. To see changes do 'killall fbpanel'.

In order to use killall, install the psmisc package:

apt-get install psmisc

Some of the icons rely on the hicolor-icon-theme:

apt-get install hicolor-icon-theme

XFCE

The debian installation script installs by default the matchbox window manager. It doesn't feature a desktop environment. xfce is a small and lightweight desktop environment and so is quite fast for the FreeRunner.

apt-get install xfce4

Edit your .xsession to launch xfce4 at X startup :

#!/bin/sh
xfce4-session

Edit section [Failsafe Session] of /etc/xdg/xfce4-session/xfce4-session.rc (or ~/.config/xfce4-session/xfce4-session.rc) to handle the auto-started apps. For example:

[Failsafe Session]
Count=3
Client0_Command=xfce4-panel
Client0_PerScreen=False
Client1_Command=xfdesktop
Client1_PerScreen=False
Client2_Command=zhone
Client2_PerScreen=True

Start XFCE !

/etc/init.d/nodm restart

The desktop takes a while to start but once up was snappy as can be expected. I've not yet looked at the reason for the seemingly too slow start for the desktop.

zhone is available from the "Office" menu in xfce. The matchbox keyboard is available in "Accessories".

If you want to display the screen on the long side (ie rotated, 4:3 aspect), add the following to the /etc/X11/xorg.conf in both the Device and InputDevice sections :

Option          "Rotate"                "CCW"

and then (re)start xfce.

If you want to be able to shutdown/restart the device, add the following line to /etc/sudoers (don't forget to replace username with your actual username):

username localhost = NOPASSWD: /usr/sbin/xfsm-shutdown-helper

Using matchbox-window-manager with XFCE

XFCE's window manager is poorly configured for use with the FreeRunner. Fortunately, matchbox's window manager is compatible with xfce. To use the matchbox window manager, modify ~/.xsession as follows:

#!/bin/sh
exec matchbox-window-manager -use_titlebar no -use_cursor no &
xfce4-session

LXDE

I you want a really nice desktop enviroment but you think XFCE is too fat, you can try to install LXDE. It give to you the GTK comfort, but use only a fraction of the ram needed by XFCE.

To install it:

apt-get install lxde

to launch it create a /etc/init.d/lxde script in the same way descripted for xfce4, replacing startxfce4 accorence with startlxde.

Additional Software

Web Browser

Arne Anka suggested trying the light-weight webkit-based midori browser:

apt-get install midori

Another light-weight browser is Dillo. It can be easily installed with:

apt-get install dillo

If you think the previous options are quite slow on Freerunner try Links2.

apt-get install links2

Run as:

xlinks2

GPS

Openmoko Freerunner has integrated a good AGPS chip that can be used to know in every moment the phone position. The most known free applications to use gps with graphical maps are:

    Main article: TangoGPS


      Main article: Navit
      (Attention: Navit is not yet present on Debian repository)
      

      E-Book reader

      To read an E-Book you have diffent possibilities:

      • FBReader a good reader that can display txt, fb2, html and various other formats.
      • Epdfview a simple and lightweight PDF viewer, it can be installed from Debian repository.
      • Evince the official Gnome viewer, it can display pdf, djvu, cbz, and other formats.

      There is also an hack to convert drm protected adobe ebooks to .cbz files readable as mentioned on the mailing list.

      Miscellaneous

      Making the cursor invisible

      Using matchbox

      Matchbox has an option, use_cursor, that can be used to control whether to show the cursor. For the default setup, edit /usr/bin/zhone-session and change the matchbox command to matchbox-window-manager -use_titlebar no -use_cursor no

      Using unclutter

      Unclutter is a program that hides the cursor after a period of inactivity. To use unclutter, install it

      1. apt-get install unclutter

      and choose Yes to the question Start unclutter automatically?. To change settings edit /etc/default/unclutter.

      Changing the cursor

      To make the cursor invisible create a file called empty.cursor with this content:

      #define empty.cursor_width 16
      #define empty.cursor_height 16
      static unsigned char empty.cursor_bits[] = {
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
      

      Now you can execute: xsetroot -cursor empty.cursor empty.cursor and the cursor will be invisible. To make this permanent you have to invent something ;) It must be executed after zhone has finished starting up.

      Running X applications on your desktop in nested X server

      Sometimes it is helpful to have a big screen, keyboard and mouse. You can run X applications in a nested X server window. On your desktop install the nested X server application Xephyr (better that Xnest) apt-get install xserver-xephyr Run a nested X server as display=:1 Xephyr :1 -ac -br -screen 480x640 -reset -terminate & Now you are able to run apps on your Neo which will display on your desktop PC. Make sure to set the display, for example if "mydesktop" is your desktop hostname DISPLAY=mydesktop:1 xfce4-session &

      Simulating right click with stylus

      With fbdev driver from xserver-xorg

      To have the right click with stylus an easy way is to use the Sebastian Ohl's tslib patch: you can find it here until it will not enter in the official Debian package.

      You can install it with:

      wget http://www.ohli.de/download/xserver-xorg-input-tslib_0.0.5-1+fso1_armel.deb
      dpkg --install xserver-xorg-input-tslib
      

      This patch makes it necessary to add a new line to your xorg.conf.

      Option          "EmulateRightButton"    "1"
      

      Just add it to you InputDevice section. Without this line the old behavior of the tslib driver is restored -> this means no right click.


      Warning: this patch is external to Debian repository and is not (yet) supported by Debian comunity.

      In this way, to get a right click you can simply tap and hold the stylus and after a while a right click will occurs.

      Warning: tslib patch is incompatible with xserver-xglamo. Use libgtkstylus instead (see below).

      With Xglamo driver from xserver-xglamo

      1. apt-get install libgtkstylus
      2. Insert this line at the beginning of ~/.xsession:
        export GTK_MODULES=libgtkstylus.so &

      Using the mouse and keyboard from your desktop on the OM device

      Method 1: xsession export (works with a linux host)

      If you are running Linux (or a similar xorg capable operating system) on your Desktop, you can export your xsession to the openmoko device and use your mouse and keyboard on the Neo screen. A little program called x2x makes it even possible to do this simultaneously on the fly. When activated you just move your mouse to the edge of your monitor and then the mouse cursor continues on the screen of your openmoko device. If you select a window on the OM, the input of your keyboard is automatically entered in that window. You can even use the clipboard to copy data from tour desktop to OM and in the reverse direction.

      Configure your desktop computer to export your xsession: On your desktop (with root permissions): Make sure that sshd is installed and in /etc/ssh/sshd_config you have set X11Forwarding yes

      In K/Ubuntu sshd is in the package openssh-server.

      On your OM device install x2x (with root permissions) apt-get install xauth x2x Now open a new X terminal on your desktop computer. You MUST be the same user that is running the xsession on your desktop (i.e. do not su to root or another user in your x terminal!). Use the same username that is running an xsession on your OM device. Assuming that you have a usb networking connection to OM (with standard configuration) on the user prompt of your desktop type: user@desktop:~$ ssh -X openmoko@192.168.0.202 "/usr/bin/x2x -east -to :0.0" Hit return and enter your password. The xterm window will be unresponsive after that, but keep it open until you disconnect your OM device.

      Now move your mouse cursor across the right edge of your monitor. It should enter the screen of your OM device from the left. Of course you can also use -west, -north or -south, depending on your preference where you place your OM.

      If computer says: sh: /usr/X11R6/bin/xauth: No such file or directory X11 connection rejected because of wrong authentication. x2x - error: can not open display localhost:11.0

      It means you haven't installed xauth on your OM. So on your OM (with root permissions) apt-get install xauth

      Method 2: synergy (works with a windows/linux host)

      With this method you can have the following functionality:

      • Mouse moves from screen edge to the next screen
      • Keyboard types on the focused window
      • Clipboard is transferred as well
      • Connect as many computers and screens you wish
      • Connect windows computers too

      All devices/computers in question should be able to install synergy. Windows computers can use an installer exe. Debian devices have a package ready to be used.

      apt-get install synergy quicksynergy
      

      quick synergy will appear in your XFCE programs menu (Accessories->QuickSynergy). Run it, switch to the "Use" tab, enter the IP address of the computer with the mouse and keyboard you wish to use, and press Execute.

      In the windows host, (or linux) run the synergy after installation, and configure it to share its keyboard and mouse(server), configuration is fairly simple, you add all the hostnames of the devices/computers that ever would be joined to the "screens" list, and create 2 links for each connection.

      If your desktop's hostname is homepc, and the device's is debian_gta02, and i place the device to the left of the desktop, the links would look like this:

      homepc is right of debian_gta02
      debian_gta02 is left of homepc
      

      Now move back to the main screen, and press Start.

      That should be it, in windows you should have an icon with a yellow lightning in it when synergy is connected and working. Synergy supports connection of more then one screen so one could set up a full lab with only one keyboard and mouse :)

      See also

      Support

      To have more information about Debian go to Debian homepage.

      If you have some problems, you can find support in smartphone mailing list. Report your discovered bugs to this list but remember to put Joachim Breitner in CC.

      If you'd like to help the packaging activities, you can join the fso mainteiner list.

      Consider a swap partition [1] [2].

      Známé problémy

      Problém při použití install.sh

      Pokud vytváření tabulky oddílů hlásí chybu, použijte následující patch:

      --- install.sh	2009-01-19 17:36:26.000000000 +0300
      +++ install_good.sh	2009-01-19 17:44:51.000000000 +0300
      @@ -405,9 +405,9 @@
       
       echo " * Waiting for partitions to appear"
       SLEEP_SECONDS=3
      -while ! ([ "$SINGLE_PART" = "true" ] && test -e ${SD_DEVICE}p1) ||\
      -	test -e ${SD_DEVICE}p1 -a -e ${SD_DEVICE}p2; do
      -	if [ "$SLEEP_SECONDS" = 15 ]; then
      +while ! (([ "$SINGLE_PART" = "true" ] && test -e ${SD_DEVICE}p1) ||\
      +	test -e ${SD_DEVICE}p1 -a -e ${SD_DEVICE}p2); do
      +	if [ "$SLEEP_SECONDS" = 30 ]; then
       		echo "E: Partitioning has failed, partitions have not been created"
       		exit 1
       	fi
      @@ -598,7 +598,7 @@
       rootfs	/		auto	defaults,errors=remount-ro,noatime	0 1
       __END__
       
      -if ![ "$SINGLE_PART" = "true" ]; then
      +if [ "$SINGLE_PART" != "true" ]; then
       cat >> $INST_DIR/etc/fstab <<__END__
       /dev/mmcblk0p1	/boot	auto	defaults,noatime			0 2
       __END__
      

      apt-get segmentation fault Kdykoli dostanete segmentation fault při používání apt-get nebo aptitude, vyčistěte databázi, a ta bude znova sestavena

       rm /var/cache/apt/*.bin
      

      Pokud nechce Zhone nastartovat je to nejpravděpodobněji kvůli chybě v balíčku python-evas [3] (fixed in new install). Nainstalujte balíček:

       wget http://www.ginguppin.de/files/python-evas_0.2.1-2_armel.deb
       dpkg -i python-evas_0.2.1-2_armel.deb