From time to time the Debian packages may be broken, which will cause the install.sh script to fail. Since waiting for the packages to be fixed can take quite a lot of patience, here is an alternative method of getting Debian installed on the FreeRunner.

Ускорение загрузки

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.

Засыпание

Note: As of Sep. 15 2008, suspend works 'out-of-the-box'; installing apm and the idle clock configuration changes do not seem to be necessary any more. Press the power button for two seconds (in zhone) or run 'apm -s' to 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. Wuth 05:31, 7 September 2008 (UTC): Worked fine on second install. Perhaps this is no longer a problem.

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.

To wake up successfully, the idle-clock of the SD card needs to be enabled right before suspend. It can be disabled again right after resume (this reduces GPS interference). Write into /etc/apm/suspend.d/00sd_idleclk

Finally, if you want attempts to access the internet to default to eth0 (and not usb0), then comment out this line under usb0 adapter configuration:

gateway 192.168.0.200

For some reason, I had to reboot for the id_str settings to take effect. However, you should now be able to use "ifup eth0" to associate with the access point and "wpa_action eth0 stop" to down the wifi adapter.

Further reading

To use all the possibilities of wpasupplicant like roaming and automatic connection to different networks,
you should read /usr/share/doc/wpasupplicant/README.Debian.gz

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 ohci-hcd

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

Звук

How to replace the default kernel with a recent openmoko kernel

If you would like to update to a new kernel, here is a short summary of what to do to update the kernel to an actual 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.

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.

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.

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.

Run a depmod -a.

Do a chown -R root.root /lib/modules/2.6.24 because the owner from the tar.gz is something else.

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.

Actually suspend/resume doesn't work anymore on the Neo Freerunner with the FSO3 kernel starting from september 16th. It does work with the Om2008.8 kernel from september 3rd.

Программы

You can install dselect(~2.2MB) or aptitude(~12MB) to visually inspect the available debian packages using the desktop's console.
Also the gtk-based package-manager synaptic(~15.7MB) is probably working.
Finally, on constrained systems, just issue the command:

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

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 &

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

From time to time the Debian packages may be broken, which will cause the install.sh script to fail. Since waiting for the packages to be fixed can take quite a lot of patience, here is an alternative method of getting Debian installed on the FreeRunner.

Ускорение загрузки

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.

Засыпание

Note: As of Sep. 15 2008, suspend works 'out-of-the-box'; installing apm and the idle clock configuration changes do not seem to be necessary any more. Press the power button for two seconds (in zhone) or run 'apm -s' to 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. Wuth 05:31, 7 September 2008 (UTC): Worked fine on second install. Perhaps this is no longer a problem.

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.

To wake up successfully, the idle-clock of the SD card needs to be enabled right before suspend. It can be disabled again right after resume (this reduces GPS interference). Write into /etc/apm/suspend.d/00sd_idleclk

Finally, if you want attempts to access the internet to default to eth0 (and not usb0), then comment out this line under usb0 adapter configuration:

gateway 192.168.0.200

For some reason, I had to reboot for the id_str settings to take effect. However, you should now be able to use "ifup eth0" to associate with the access point and "wpa_action eth0 stop" to down the wifi adapter.

Further reading

To use all the possibilities of wpasupplicant like roaming and automatic connection to different networks,
you should read /usr/share/doc/wpasupplicant/README.Debian.gz

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 ohci-hcd

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

Звук

How to replace the default kernel with a recent openmoko kernel

If you would like to update to a new kernel, here is a short summary of what to do to update the kernel to an actual 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.

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.

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.

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.

Run a depmod -a.

Do a chown -R root.root /lib/modules/2.6.24 because the owner from the tar.gz is something else.

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.

Actually suspend/resume doesn't work anymore on the Neo Freerunner with the FSO3 kernel starting from september 16th. It does work with the Om2008.8 kernel from september 3rd.

Программы

You can install dselect(~2.2MB) or aptitude(~12MB) to visually inspect the available debian packages using the desktop's console.
Also the gtk-based package-manager synaptic(~15.7MB) is probably working.
Finally, on constrained systems, just issue the command:

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

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 &

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