Debian

From Openmoko

(Difference between revisions)
Jump to: navigation, search
(Software)
(XFCE)
Line 98: Line 98:
  
 
  apt-get install xfce4
 
  apt-get install xfce4
 +
cp /etc/init.d/zhone-session /etc/init.d/xfce
  
Then you may hack /etc/init.d/zhone-session making
+
Then you may hack /etc/init.d/xfce making
  
 
  PROG_FSO=/usr/bin/startxfce4
 
  PROG_FSO=/usr/bin/startxfce4
  
..reboot and check it out...  The desktop took awhile to start but once up was snappy as can be expected.
+
Customize the boot process :
 +
 
 +
update-rc.d -f zhone-session remove
 +
update-rc.d -f xfce defaults
 +
 
 +
edit your /etc/hosts to have :
 +
 
 +
127.0.0.1 localhost debian-gta02
 +
 
 +
Start XFCE !
 +
 
 +
  /etc/init.d/zhone-session stop
 +
/etc/init.d/xfce start
 +
 
 +
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.
 
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.
 
zhone is available from the "Office" menu in xfce.
 
The matchbox keyboard is available in "Accessories".
 
The matchbox keyboard is available in "Accessories".
 
You could create a different init.d start script for xfce instead of hacking...
 
  
 
= Miscellaneous =
 
= Miscellaneous =

Revision as of 18:28, 22 August 2008

Contents

Installation

There are official instructions on how to install Debian on http://wiki.debian.org/DebianOnFreeRunner, and the announcement.

Previous, partly now outdated information on how to install Debian manually has been moved to Manual Debian.

System

Password

The default root password is blank. You should change that as soon as you can.

Speeding up booting

What's good for every linux booting is also good for our debian on the freerunner: booting in quiet mode. To do so by default just boot your Neo Freerunner in NOR-Flash and execute this configure-script: configure-uboot.sh.

It changes default booting to quiet-mode and adds another boot-option to boot without quiet-mode for debugging purpose.

Suspend

To make suspend available you have to install apmd:

apt-get install apmd

After that you can suspend your phone with:

apm -s

and make it wake up again with pressing the power button.


Issues:

  • Wuth 06:28, 17 August 2008 (UTC): I found that apmd was already installed by using the official debian installation procedure, but that the kernel didn't support apm. I haven't yet resolved this issue.
  • Phyce 21:33, 20 August 2008 (UTC) installed apm without problems; apm -s shutdowns the freerunner but I couldn't wake it up with power button... I had to remove the battery to boot again. suspend/resume was working quite reliably with latest kernels on ASU.

Time

The default time zone is UTC. Reconfigure it by running

# dpkg-reconfigure tzdata

Set the clock manual using, e.g.

# date -s 00:33


Issues:

WLAN

You can set up the wireless connection to your home router. Assuming your wireless router uses WPA security and DHCP:

# apt-get install wireless-tools wpasupplicant dhcp3-client

Edit /etc/network/interfaces to include a section like this:

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

Where, of course, you're using the name of your wireless network and it's password instead of MyWirelessName and MyWirelessPassword.

You can test by running

# ifup eth0

You can determine your IP address by running

# ifconfig eth0


Issues:

  • only works if in presence of wireless network on boot, or when manually running ifup eth0
  • booting away from wireless network is slower because waits for DHCP to time out
  • does not reestablish connection when leaving wireless area and then returning
  • does not support multiple wireless networks or open hotspots that you may travel between

Bluetooth

The Freerunner uses the standard Linux bluez stack, installed with

# apt-get install bluez-utils

There is also a module missing from /etc/modules, which is critical to getting your device recognized. (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 ochi-hcd

The only atypical part of using bluetooth on the Freerunner is turning it on, which can be done with

# echo 1 > /sys/bus/platform/devices/neo1973-pm-bt.0/power_on
# echo 0 > /sys/bus/platform/devices/neo1973-pm-bt.0/reset

Then the device should be visible using

# hcitool dev

Software

TangoGPS

Main article: TangoGPS


XFCE

xfce is small and lightweight and so quite fast for the Freerunner.

apt-get install xfce4
cp /etc/init.d/zhone-session /etc/init.d/xfce

Then you may hack /etc/init.d/xfce making

PROG_FSO=/usr/bin/startxfce4

Customize the boot process :

update-rc.d -f zhone-session remove
update-rc.d -f xfce defaults

edit your /etc/hosts to have :

127.0.0.1 localhost debian-gta02

Start XFCE !

/etc/init.d/zhone-session stop
/etc/init.d/xfce start

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".

Miscellaneous

Making the cursor invisible

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.

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

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 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!). On your OM device you should be running an xsession as the user openmoko. 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.

Personal tools

Installation

There are official instructions on how to install Debian on http://wiki.debian.org/DebianOnFreeRunner, and the announcement.

Previous, partly now outdated information on how to install Debian manually has been moved to Manual Debian.

System

Password

The default root password is blank. You should change that as soon as you can.

Speeding up booting

What's good for every linux booting is also good for our debian on the freerunner: booting in quiet mode. To do so by default just boot your Neo Freerunner in NOR-Flash and execute this configure-script: configure-uboot.sh.

It changes default booting to quiet-mode and adds another boot-option to boot without quiet-mode for debugging purpose.

Suspend

To make suspend available you have to install apmd:

apt-get install apmd

After that you can suspend your phone with:

apm -s

and make it wake up again with pressing the power button.


Issues:

  • Wuth 06:28, 17 August 2008 (UTC): I found that apmd was already installed by using the official debian installation procedure, but that the kernel didn't support apm. I haven't yet resolved this issue.
  • Phyce 21:33, 20 August 2008 (UTC) installed apm without problems; apm -s shutdowns the freerunner but I couldn't wake it up with power button... I had to remove the battery to boot again. suspend/resume was working quite reliably with latest kernels on ASU.

Time

The default time zone is UTC. Reconfigure it by running

# dpkg-reconfigure tzdata

Set the clock manual using, e.g.

# date -s 00:33


Issues:

WLAN

You can set up the wireless connection to your home router. Assuming your wireless router uses WPA security and DHCP:

# apt-get install wireless-tools wpasupplicant dhcp3-client

Edit /etc/network/interfaces to include a section like this:

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

Where, of course, you're using the name of your wireless network and it's password instead of MyWirelessName and MyWirelessPassword.

You can test by running

# ifup eth0

You can determine your IP address by running

# ifconfig eth0


Issues:

  • only works if in presence of wireless network on boot, or when manually running ifup eth0
  • booting away from wireless network is slower because waits for DHCP to time out
  • does not reestablish connection when leaving wireless area and then returning
  • does not support multiple wireless networks or open hotspots that you may travel between

Bluetooth

The Freerunner uses the standard Linux bluez stack, installed with

# apt-get install bluez-utils

There is also a module missing from /etc/modules, which is critical to getting your device recognized. (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 ochi-hcd

The only atypical part of using bluetooth on the Freerunner is turning it on, which can be done with

# echo 1 > /sys/bus/platform/devices/neo1973-pm-bt.0/power_on
# echo 0 > /sys/bus/platform/devices/neo1973-pm-bt.0/reset

Then the device should be visible using

# hcitool dev

Software

TangoGPS

Main article: TangoGPS


XFCE

xfce is small and lightweight and so quite fast for the Freerunner.

apt-get install xfce4
cp /etc/init.d/zhone-session /etc/init.d/xfce

Then you may hack /etc/init.d/xfce making

PROG_FSO=/usr/bin/startxfce4

Customize the boot process :

update-rc.d -f zhone-session remove
update-rc.d -f xfce defaults

edit your /etc/hosts to have :

127.0.0.1 localhost debian-gta02

Start XFCE !

/etc/init.d/zhone-session stop
/etc/init.d/xfce start

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".

Miscellaneous

Making the cursor invisible

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.

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

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 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!). On your OM device you should be running an xsession as the user openmoko. 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.