Editing Easy Debian

Warning: You are not logged in. Your IP address will be recorded in this page's edit history.

Warning: This page is 37 kilobytes long; some browsers may have problems editing pages approaching or longer than 32kb. Please consider breaking the page into smaller sections.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision Your text
Line 10: Line 10:
== Install instructions ==
== Install instructions ==
-
* Install the [http://maemo.org/packages/view/easy-deb-chroot/ easy-deb-chroot package]. It can be found in the [[Extras]] repository. There may be a newer version in the [[Extras-devel]] repository. (Enabling Extras-devel is a dangerous area and you should disable it as soon as you are done installing Easy Debian, but Easy Debian is rather safe and it is optified). Once installed several new shortcut icons will be available on the applications menu.
+
* You need to install the [http://maemo.org/packages/view/easy-deb-chroot/ easy-deb-chroot package]. It can be found in the [[Extras]] repository. There may be a newer version in the [[Extras-devel]] repository. (Enabling Extras-devel is a dangerous area and you should disable it as soon as you are done installing Easy Debian, but Easy Debian is rather safe and it is optified.)
-
 
+
* Once installed several new shortcut icons will be available on the applications menu. You will need to first run the one called "Debian Image Installer". A terminal program will open and ask you where to place the image file (after decompression it will be a 2 GB file), either on the [[Nokia N900|N900's]] built in storage (under MyDocs), or on an external MicroSD card (if available). That will start the download of the compressed image (about 300 MB) and eventual extraction of the image file. It may take more than 15 minutes to download if you have fast Internet connection, and another 30 minutes  or more to extract it on your tablet. Make sure that there are no other processes running and that the extraction is not interrupted.
-
* Go to application menu and run the application called "Debian Image Installer". A terminal program will open and guide you through several steps of pre-configuration:
+
-
** '''First screen''' will give you '''a warning''' which you should acknowledge by clicking OK.
+
-
** '''Second screen''' will ask you to '''Choose an image to download''' and give you 3 image options. For the sake of this tutorial, I choose the first option, '''image v3e'''.
+
-
** '''Third screen''' will ask you to '''Choose Memory Card''' where to place the image file to either MyDocs (which in our case, is the internal memory of the phone) or MicroSD (assuming you have a microSD installed in your phone) (after decompression it will be a 2 GB file), either on the [[Nokia N900|N900's]] built in storage (under MyDocs), or on an external MicroSD card (if available). That will start the download of the compressed image (about 300 MB) and eventual extraction of the image file. It may take more than 15 minutes to download if you have fast Internet connection, and another 30 minutes  or more to extract it on your tablet. Make sure that there are no other processes running and that the extraction is not interrupted.
+
** You can check for a successful download and extraction by typing<pre>ls -l /home/user/MyDocs/debian*</pre> in [[terminal|XTerminal]]. The compressed image name has the ending .img.ext2.lzma; when decompressed the file name ends in .img.ext2 and it should have a file size of exactly 2147483648 bytes.
** You can check for a successful download and extraction by typing<pre>ls -l /home/user/MyDocs/debian*</pre> in [[terminal|XTerminal]]. The compressed image name has the ending .img.ext2.lzma; when decompressed the file name ends in .img.ext2 and it should have a file size of exactly 2147483648 bytes.
-
* This step is an alternate way to do the previous step: You can manually download the image file from [http://qole.org/files//debian-m5-v3e.img.ext2.lzma here]. Afterward you will have to copy it into <code>/home/user/MyDocs/</code> or into <code>/media/mmc1/</code> depending on whether you want it installed on the internal storage or on a removable storage.  Then, when you run "Debian Image Installer" it will detect that you already have the file and proceed to extract it and set it up for you. For detection of your already placed debian* file stated above, the Debian Image Installer still need to connect to the internet for file checking purpose. If you have a faster computer with [http://www.7-zip.org/ programs] to unpack [[:wikipedia:Lempel%E2%80%93Ziv%E2%80%93Markov_chain_algorithm|lzma]]-compressed files, you may also skip the Debian Image Installer by copying the uncompressed file by USB to the <code>/home/user/MyDocs/</code> folder.
+
* This step is an alternate way to do the previous step: You can manually download the image file from [http://qole.org/files//debian-m5-v3d.img.ext2.lzma here]. Afterward you will have to copy it into <code>/home/user/MyDocs/</code> or into <code>/media/mmc1/</code> depending on whether you want it installed on the internal storage or on a removable storage.  Then, when you run "Debian Image Installer" it will detect that you already have the file and proceed to extract it and set it up for you. For detection of your already placed debian* file stated above, the Debian Image Installer still need to connect to the internet for file checking purpose. If you have a faster computer with [http://www.7-zip.org/ programs] to unpack [[:wikipedia:Lempel%E2%80%93Ziv%E2%80%93Markov_chain_algorithm|lzma]]-compressed files, you may also skip the Debian Image Installer by copying the uncompressed file by USB to the <code>/home/user/MyDocs/</code> folder.
-
 
+
* If you have more than one image file, you should edit <code>/home/user/.chroot</code> to select the one you want to load. Default is first in <code>/home/user/MyDocs/debian*.img*</code>, <code>/media/mmc1/debian*.img*</code>
* If you have more than one image file, you should edit <code>/home/user/.chroot</code> to select the one you want to load. Default is first in <code>/home/user/MyDocs/debian*.img*</code>, <code>/media/mmc1/debian*.img*</code>
* When you get the "Congratulations!" message from the installer (or immediately if you have placed an uncompressed image file into /home/user/MyDocs/ yourself), you can launch Easy Debian by one of the Debian application icons or by typing "debbie" in XTerminal.
* When you get the "Congratulations!" message from the installer (or immediately if you have placed an uncompressed image file into /home/user/MyDocs/ yourself), you can launch Easy Debian by one of the Debian application icons or by typing "debbie" in XTerminal.
Line 29: Line 24:
; Close Debian : for unmounting the Debian image and shutting down all running Debian processes
; Close Debian : for unmounting the Debian image and shutting down all running Debian processes
-
; Deb Img Install : for the initial download and extraction of the Debian image. For installing a new version of the Debian image from [http://qole.org/files http://qole.org/files], delete the old image (or move/rename it appropriately) and rerun Deb Img Install.
+
; Deb Img Install : for the initial download and extraction of the Debian image. For installing a new version of the Debian image from http:qole.org/files, delete the old image (or move/rename it appropriately) and rerun Deb Img Install.
; Debian chroot : this runs "sudo debian" in XTerminal, which gives root access to the Debian image. This can be used for modifying the Debian image and installing further applications from the command line. The root file system of Maemo is not visible from within Debian chroot, except /home and /home/user/MyDocs, so you cannot ruin the Maemo firmware from here.
; Debian chroot : this runs "sudo debian" in XTerminal, which gives root access to the Debian image. This can be used for modifying the Debian image and installing further applications from the command line. The root file system of Maemo is not visible from within Debian chroot, except /home and /home/user/MyDocs, so you cannot ruin the Maemo firmware from here.
Line 49: Line 44:
== Using the LXDE Environment: ==
== Using the LXDE Environment: ==
-
* To launch a session of LXDE (a light weight desktop environment) with several applications already installed in it, including OpenOffice.org, simply click on the "Debian LXDE" icon shortcut on the application menu.
+
* To launch a session of LXDE (a light weight desktop environment) whith several applications already installed in it, including OpenOffice.org, simply click on the "Debian LXDE" icon shortcut on the application menu.
* LXDE's application menu is found at the top left corner of the screen.
* LXDE's application menu is found at the top left corner of the screen.
* To momentarily go back into the Maemo environment, simply press Ctrl Backspace. To return to LXDE, click on the "Fix LXDE kbd" icon in the Maemo menu, since just going back from the Task Manager you would only be able to use the stylus thereafter.
* To momentarily go back into the Maemo environment, simply press Ctrl Backspace. To return to LXDE, click on the "Fix LXDE kbd" icon in the Maemo menu, since just going back from the Task Manager you would only be able to use the stylus thereafter.
Line 63: Line 58:
If you upgrade Easy Debian and your LXDE top menu disappears, you can do one of two things:
If you upgrade Easy Debian and your LXDE top menu disappears, you can do one of two things:
-
* Install the newest version (m5-v3e): Close Easy Debian (use the icon with the red arrow and box), delete the old image (use the File Manager to do this), and then use the "Deb Img Install" icon to download and extract the new image.
+
* Install the newest version (m5-v3d): Close Easy Debian (use the icon with the red arrow and box), delete the old image (use the File Manager to do this), and then use the "Deb Img Install" icon to download and extract the new image.
* Keep your old image, and fix the top menu manually. Start LXDE. Tap and hold on a blank area of the left-side bar. Choose "Create New Panel". Choose "Top" and "OK". Tap and hold on new top panel. In the ''General'' tab, set the following things: Alignment: Left, Width: 25, Height: 32, Properties: Uncheck "Reserve Space..." In the ''Panel Applets'' tab, Add "Menu", "Digital Clock", "System Tray" (check "Stretch" column), "Net status monitor" (use edit button and change eth0 to wlan0, then tap on icon and set to wlan0 there too), and "CPU Usage Monitor".
* Keep your old image, and fix the top menu manually. Start LXDE. Tap and hold on a blank area of the left-side bar. Choose "Create New Panel". Choose "Top" and "OK". Tap and hold on new top panel. In the ''General'' tab, set the following things: Alignment: Left, Width: 25, Height: 32, Properties: Uncheck "Reserve Space..." In the ''Panel Applets'' tab, Add "Menu", "Digital Clock", "System Tray" (check "Stretch" column), "Net status monitor" (use edit button and change eth0 to wlan0, then tap on icon and set to wlan0 there too), and "CPU Usage Monitor".
Line 74: Line 69:
=== Keyboard issues and tips ===
=== Keyboard issues and tips ===
-
Keyboard focus loss issues in LXDE are fixed in the new version of easy-deb-chroot, 0.9.54-1fremantle1, which is now in Extras. <b>Note that upgrading easy-deb-chroot does not require reinstalling the image file!</b>
+
It may happen that the hardware keyboard stops working in LXDE. It can be restored <s>by <em>hitting the power button and then tapping outside the menu</em> or</s> by using the "Fix LXDE keyboard" application icon.
-
For the record, in the older versions of easy-deb-chroot keyboard issues can be [http://talk.maemo.org/showpost.php?p=706413&postcount=1451 solved] by the following modification of the script /usr/bin/xephwm5 in the Debian image. Edit this file in the Debian chroot terminal and change the lines containing qobi-wmhint-fix and set-focus (close to the end) so that they read
+
==== PR 1.2 ====
 +
 
 +
The new firmware [[Maemo 5/PR1.2|PR 1.2]] breaks both ways of restoring a lost keyboard focus. (Pressing the power button and tapping outside its menu one even loses the keyboard completely now, even with Ctrl+Backspace disabled, so that one can only shutdown through the LXDE menu. So avoid the power butten when in LXDE. When you are really stuck in Easy Debian, opening the camera lens and closing the camera app again should bring you to the Task Manager.)
 +
 
 +
The new version of easy-deb-chroot, 0.9.50-1fremantle1, has a new LXDE application script with the double function of launching LXDE in the first place, and of restoring the keyboard on an already running LXDE session. (The "Fix LXDE keyboard" app is still provided but no longer needed. It is therefore sufficient to have only the "Debian LXDE" icon as a shortcut on the desktop.) <b>Upgrading of the Easy Debian package can be done regardless of the Debian image that is already installed. You don't have to re-install the Debian image!</b>
 +
 
 +
<u>UPDATE</u>: All problems with keyboard focus loss can be [http://talk.maemo.org/showpost.php?p=706413&postcount=1451 solved] by the following modification of the script /usr/bin/xephwm5 in the Debian image. Edit this file in the Debian chroot terminal and change the lines containing qobi-wmhint-fix and set-focus (close to the end) so that they read
  sudo /sbin/qobi-wmhint-fix $PARWIN
  sudo /sbin/qobi-wmhint-fix $PARWIN
  #/usr/bin/set-focus $PARWIN
  #/usr/bin/set-focus $PARWIN
-
 
+
A new version of easy-deb-chroot, which is currently in Extras-devel, implements the same through Maemo-side scripts.
-
The new version of easy-deb-chroot implements the same through Maemo-side scripts.
+
==== Localization ====
==== Localization ====
Line 99: Line 99:
and selecting from the list that is then displayed the UTF variant of the desired language, for example for German, de_DE.UTF-8.  
and selecting from the list that is then displayed the UTF variant of the desired language, for example for German, de_DE.UTF-8.  
 +
 +
==== Fixing the keyboard focus script ====
 +
 +
This is only needed for the Easy Debian versions up to and including 0.9.46-1fremantle1.
 +
 +
In languages other than da, de, en, fr, and sv, the script that retrieves lost keyboard focus and (in older images) also the one that starts LXDE need to be fixed. To fix that, open the Debian chroot terminal and edit the file <u>/usr/bin/xephfocus</u> (and in older images also /usr/bin/xephwm5) such that the "zenity" line therein reads
 +
zenity --display=:0 --info --title="Information" --text="Welcome to Easy Debian LXDE. This window is needed to gain keyboard focus in LXDE. Click OK." &
 +
 +
Starting from version 0.9.48-1fremantle1 of Easy Debian, the xephfocus script is no longer needed. With version 0.9.50-1fremantle1, the "Fix LXDE kbd" app is actually now superfluous. A lost keyboard is regained by simply hitting the "Debian LXDE" icon again. Note that upgrading to this Easy Debian version does <em>not</em> require a re-installation of the Debian image!
==== Set Deb HW Keys app and xbindkeys ====
==== Set Deb HW Keys app and xbindkeys ====
Line 148: Line 157:
  #xkbset sticky -twokey latchlock
  #xkbset sticky -twokey latchlock
-
In the newest image (v3e), the sticky keys hack is not enabled by default. To enable it, remove the #'s.
+
In the newest image (v3d), the sticky keys hack is not enabled by default. To enable it, remove the #'s.
==== xvkbd ====
==== xvkbd ====
Line 209: Line 218:
=== Keyboard focus issues in debbie ===
=== Keyboard focus issues in debbie ===
-
Some applications (e.g. calibre, eric, PuTTY) don't get keyboard focus when started outside of LXDE. This can be repaired with the [http://talk.maemo.org/showpost.php?p=818545&postcount=1769 simple .kbdactive script] that is included in the new version of easy-deb-chroot.
+
Some applications (e.g. calibre, eric, PuTTY) don't get keyboard focus when started outside of LXDE. This can be repaired with the [http://talk.maemo.org/showpost.php?p=818545&postcount=1769 simple .kbdactive script] that is included in the new version of easy-deb-chroot in extras-devel (and mapped to Fn+Return in xbindkeys).
-
With xbindkeys running (launched by the "Set Deb HW Keys" icon) keyboard focus is gained by pressing <u>Fn+Return</u>.
+
== Startup scripts ==
== Startup scripts ==
Line 223: Line 231:
; $CHROOT/var/run/onchroot.rc : This script will run commands as root in the chroot every time you run a chroot command.
; $CHROOT/var/run/onchroot.rc : This script will run commands as root in the chroot every time you run a chroot command.
-
 
-
; $CHROOT/var/run/onclosechroot.rc : This script will run commands as root in the chroot before closing the chroot.
 
Here $CHROOT is the mount point of the Debian system (to be omitted when aleady in chroot).
Here $CHROOT is the mount point of the Debian system (to be omitted when aleady in chroot).
In order to run a command in one of these scripts as "user", preface the command with ''su user -c''
In order to run a command in one of these scripts as "user", preface the command with ''su user -c''
 +
 +
== Installing Applications ==
== Installing Applications ==
Line 236: Line 244:
Note that the image cannot be expected to have an up-to-date package list. It is important that you perform "apt-get update" or use Edit -> Reload Package Information within Synaptic before installing new packages. After such installs you can invoke "apt-get clean" to free your disk space from downloaded package files.
Note that the image cannot be expected to have an up-to-date package list. It is important that you perform "apt-get update" or use Edit -> Reload Package Information within Synaptic before installing new packages. After such installs you can invoke "apt-get clean" to free your disk space from downloaded package files.
-
In image v3d, only the stable Debian Lenny repository was activated, although the Easy Debian image also involves a number of packages from the newer Debian Squeeze (testing) repository. As a result, some additional packages can only be installed with Squeeze activated (indicated by "unmet dependencies" errors when attempting to install with Lenny alone). If you need to or want to install additional packages specifically from Squeeze or even from Sid (unstable), you should uncomment the corresponding line in /etc/apt/sources.list by launching an editor in the Debian chroot terminal (app with red swirl icon), i.e., remove "#" in the beginning of the lines
+
In the current image (v3d), only the stable Debian Lenny repository is activated, although the Easy Debian image also involves a number of packages from the newer Debian Squeeze (testing) repository. As a result, some additional packages can only be installed with Squeeze activated (indicated by "unmet dependencies" errors when attempting to install with Lenny alone). If you need to or want to install additional packages specifically from Squeeze or even from Sid (unstable), you should uncomment the corresponding line in /etc/apt/sources.list by launching an editor in the Debian chroot terminal (app with red swirl icon), i.e., remove "#" in the beginning of the lines
  #deb http://http.us.debian.org/debian squeeze main contrib non-free
  #deb http://http.us.debian.org/debian squeeze main contrib non-free
Line 253: Line 261:
However, you can hardly do real harm by experimenting with your Debian installation. You can always start over by re-installing the original Debian image. Since user files are usually not stored in the Debian image, you won't lose much by doing so. But if you have enough space, it may be a good idea to make a copy of your Debian image so that you don't have to download and extract the original Debian image again, in particular if you are planning some more extensive and untested upgrades.
However, you can hardly do real harm by experimenting with your Debian installation. You can always start over by re-installing the original Debian image. Since user files are usually not stored in the Debian image, you won't lose much by doing so. But if you have enough space, it may be a good idea to make a copy of your Debian image so that you don't have to download and extract the original Debian image again, in particular if you are planning some more extensive and untested upgrades.
-
When using apt-get install to install applications, remember to always use the --no-install-recommends command-line option. This will keep extra, unneeded packages from being installed or upgraded. So you would install cups like so:
 
-
 
-
  apt-get install --no-install-recommends cups
 
=== CUPS Installation Instructions ===
=== CUPS Installation Instructions ===
Line 286: Line 291:
=== Other useful applications to install in addition ===
=== Other useful applications to install in addition ===
-
The following packages are also not part of the current image (v3e) but may be of wider interest:
+
The following packages are also not part of the current image (v3d) but may be of wider interest:
-
 
+
-
; KeepassX : Password manager, cross platform and GNU General Public License.
+
; vpnc : The VPN client for accessing Cisco concentrators works well when started under Debian, while under Maemo vpnc is not yet available as a stable application. Install by "apt-get install vpnc" and configure through /etc/vpnc.conf .
; vpnc : The VPN client for accessing Cisco concentrators works well when started under Debian, while under Maemo vpnc is not yet available as a stable application. Install by "apt-get install vpnc" and configure through /etc/vpnc.conf .
:This works particularly well in WLAN connections. There even microB connects via vpn. With GPRS connections, however, a browser in Debian has to be used.
:This works particularly well in WLAN connections. There even microB connects via vpn. With GPRS connections, however, a browser in Debian has to be used.
-
; openssh-client (now included in image v3e) : To access the Debian system by ssh, one can of course use the ssh server under Maemo (which presumably every power user will have installed), for a login followed by "debian" or "debian su user". To initiate ssh connection from within the Debian system, installation of openssh-client is sufficient and does not conflict with ssh installations in Maemo.
+
; openssh-client : To access the Debian system by ssh, one can of course use the ssh server under Maemo (which presumably every power user will have installed), for a login followed by "debian" or "debian su user". To initiate ssh connection from within the Debian system, installation of openssh-client is sufficient and does not conflict with ssh installations in Maemo.
; gftp : X/GTK+ FTP client. Works well when started outside of LXDE by "debbie gftp".
; gftp : X/GTK+ FTP client. Works well when started outside of LXDE by "debbie gftp".
Line 338: Line 341:
=== Upgrading OpenOffice ===
=== Upgrading OpenOffice ===
-
The new image v3e includes OpenOffice 3.2.1.
+
The current images (up to v3d) includes an OpenOffice version (3.1.1) for which support for the armel architecture was later withdrawn. This problem has been fixed with version 3.2 which is now available in the Debian Squeeze distribution. The version therein (1:3.2.1-5) installs fine. You need to activate Squeeze in /etc/apt/sources.list for upgrading. To install all openoffice.org packages do
-
 
+
-
Previous images (up to v3d) included an OpenOffice version (3.1.1) for which support for the armel architecture was later withdrawn. This problem has been fixed with version 3.2 which is available in the Debian Squeeze distribution. If you want to install OpenOffice in images prior to version v3e, or if you want to update or extend your OpenOffice version in v3e, you need to activate Squeeze in /etc/apt/sources.list for upgrading. To install all openoffice.org packages do
+
  apt-get update
  apt-get update
  apt-get install openoffice.org
  apt-get install openoffice.org
Line 354: Line 355:
== Sound ==
== Sound ==
-
=== Initializing sound ===
+
Although Easy Debian has setup and mount the host pulseaudio (/var/run/pulse) into the chroot (done by qchroot in the easy-chroot package), pulseaudio is not set as the default ALSA device. To do so, edit /etc/asound.conf in the chroot, and comment out (or remove) the default alsa_dsp plugin, and add a pulse plugin. For example:
-
 
+
-
In order to initialize sound on a fresh installation of Easy Debian, open XTerminal and do:
+
-
debbie
+
-
xmms2d -o pulse
+
-
Leave that running, open a second XTerminal session and do:
+
-
debbie lxmusic
+
-
 
+
-
=== ALSA device setup ===
+
-
 
+
-
Although Easy Debian has setup and mount the host pulseaudio (/var/run/pulse) into the chroot (done by qchroot in the easy-chroot package), pulseaudio was not set as the default ALSA device in images before version 3ve. To do so, edit /etc/asound.conf in the chroot, and comment out (or remove) the default alsa_dsp plugin, and add a pulse plugin. For example:
+
  #pcm.!default {
  #pcm.!default {
  #  type alsa_dsp
  #  type alsa_dsp
Line 375: Line 366:
  }
  }
-
== complete dist-upgrade to Squeeze ==
 
-
 
-
Easy Debian is a mix of the Debian releases Lenny and Squeeze which leads to some problems like some silently broken packages and troubles when trying to install new software. Therefore a dist-upgrade to a pure Squeeze system might be useful. Usually this is no problem in Debian but since Easy Debian is restricted by the underlying Maemo in some ways there are some things to take care of.
 
-
 
-
One thing that has to be taken care of before doing the dist-upgrade is the special keyboard that we use. Debian's standard keyboard definition (which will be installed during the dist-upgrade) won't work properly so we'll have to make sure we will use the one we have already. All we have to do for that is to copy Easy Debian's folder '''/usr/share/X11/xkb''' somewhere else:
 
-
 
-
cp -r /usr/share/X11/xkb /home/user
 
-
 
-
The (one) usual way for a dist-upgrade in Debian is to change all the entries in /etc/apt/sources.list to the new release and then run as root (or preceded by sudo):
 
-
 
-
apt-get update
 
-
apt-get dist-upgrade
 
-
 
-
So basically your sources.list should contain these lines or some mirrors (everything else should be deactivated with a leading '''#''' ):
 
-
 
-
deb http://ftp.debian.org/debian squeeze main contrib non-free
 
-
#deb http://www.debian-multimedia.org squeeze main
 
-
 
-
[EDIT: By july 2013, the debian-multimedia.org domain was not anymore owned by the third-party supporters who owned it before! For security reasons it is not recommended to use it. Nevertheless, the official repository has improved its support over several mulimedia formats making third-party repositories unncecessary]
 
-
 
-
Easy Debian has only a limited amount of disk space, so we'll temporarily create a new place to store the downloaded new packages in MyDocs:
 
-
 
-
mkdir -p /home/user/MyDocs/archives/partial
 
-
sudo mount --bind /home/user/MyDocs/archives /var/cache/apt/archives
 
-
 
-
Then we'll do the dist-upgrade. Unfortunately Maemo has a very snappish watchdog that reboots your phone if it thinks it hangs due to a runaway process. This is almost certainly triggered when doing mayor package installations with normal process priority. So we'll do the dist-upgrade wit the lowest priority using the '''nice''' command:
 
-
 
-
nice -n 19 sudo apt-get update
 
-
nice -n 19 sudo apt-get dist-upgrade
 
-
 
-
This will take very long. So you should make sure the following conditions are fulfilled:
 
-
# You have a running internet connection.
 
-
# Your N900 is plugged to the power pack
 
-
# You have plenty of time where you don't need the phone (doing it in the late evening just before you go to bed would be a good time).
 
-
 
-
 
-
After all that is done we'll clean some things up. Close Easy Debian (use the Icon in Maemo just to be sure) and delete the archives folder in MyDocs.
 
-
 
-
Now you'll notice six regressions:
 
-
#The shutdown and reboot options in the LXDE logout dialogue are gone. It doesn't matter, just use '''logout''' instead. Since we're in a chroot and not on a real machine there's no real difference.
 
-
#All the blue keyboard buttons won't work anymore and the blue arrow key will behave strangely. This is because during the dist-upgrade the quite special Maemo keyboard layout used by Easy Debian was overwritten with a generic layout. This is why we made a backup of our keyboard folder right at the beginning. Now it's time to restore it - from within Easy Debian chroot, do (remember about prefixing with 'sudo', if You're executing it from within LXDE instead!):<pre>sudo mv /home/user/xkb /usr/share/X11</pre>Then close Easy Debian and after restarting it the keyboard should work fine.
 
-
#After changing to another application via Ctrl + Backspace and returning to Easy Debian your mouse and keyboard will behave very odd. Lots of click events might not be recognized and your keyboard won't write but instead execute shortcut options. The reason is that for some reason Easy Debian doesn't catch the Ctrl release event anymore when leaving it. Pressing Ctrl once after returning to Easy Debian will solve that. Unfortunately you'll have to do that every time you return to Easy Debian. The reason for this behavior isn't absolutely clear but it seems like this doesn't happen in all cases. It might be related to the xserver-xephyr package in Squeeze. See below!
 
-
#Loading the Easy Debian desktop will take very long and a pcmanfm (file manager) will pop up automatically. This is because pcmanfm is also used for some desktop management in LXDE but as a demon. The syntax of the demon switch has changed between the LXDE versions in Lenny and Squeeze. In the file '''/etc/xdg/lxsession/LXDE/autostart''' change the line '''@pcmanfm -d''' to '''@pcmanfm -desktop''' to take care for that change.
 
-
#Some programs (e.g. iceweasel) that are started via debbie from Maemo will throw a dbus-related warning but seem to work fine. So it should be safe to ignore that warning. If you want to get rid of the popup uninstall the package that causes these popups.
 
-
#Sound in Easy Debian won't work anymore. This is because there were some changes in pulseaudio between version 0.9.15 and 0.9.16 which lead to incompatibilities. Maemo uses 0.9.15 so Lenny's 0.9.10 works while Squeeze's 0.9.21 does not. Installing the latest working version 0.9.15 (or any prior to that) would normally break Squeeze's package system so we'll have to fool it so that it actually uses 0.9.15 but thinks it has 0.9.21. To do that there are some modified packages available at qole's server:
 
-
::http://qole.org/files/pulseaudio_easydebian_squeeze.tar.gz (please note: These modified packages are a pretty evil hack and neither Debian nor pulseaudio can be held responsible for any incompatibilities caused by them.)
 
-
 
-
::The easiest way to install them is to create a new folder, change to it, unpack the archive and install them via dpkg. But since these packages are technically from the Lenny era we'll need two further dependencies which are not available in Squeeze anymore. So let's start:
 
-
mkdir pulse
 
-
cd pulse
 
-
wget http://qole.org/files/pulseaudio_easydebian_squeeze.tar.gz
 
-
tar -zxf pulseaudio_easydebian_squeeze.tar.gz
 
-
wget http://ftp.debian.org/debian/pool/main/p/policykit/libpolkit2_0.9-2_armel.deb
 
-
wget http://ftp.debian.org/debian/pool/main/p/policykit/libpolkit-dbus2_0.9-2_armel.deb
 
-
nice -n 19 sudo dpkg -i *.deb
 
-
::When this is done sound should work again. Now we have to make sure that these changed packages won't be overwritten by regular Debian updates. So we'll set them on "hold":
 
-
sudo echo libpulse0 "hold" | dpkg --set-selections
 
-
sudo echo libpulse-browse0 "hold" | dpkg --set-selections
 
-
sudo echo libpulse-mainloop-glib0 "hold" | dpkg --set-selections
 
-
sudo echo pulseaudio "hold" | dpkg --set-selections
 
-
sudo echo pulseaudio-esound-compat "hold" | dpkg --set-selections
 
-
sudo echo pulseaudio-module-gconf "hold" | dpkg --set-selections
 
-
sudo echo pulseaudio-module-x11 "hold" | dpkg --set-selections
 
-
sudo echo pulseaudio-utils "hold" | dpkg --set-selections
 
-
 
-
=== portrait mode ===
 
-
(If you use one of Estel's images based on Debian Squeeze you already have all the prequisites, so this only applies if you dist-upgraded from one of the older mixed Lenny/Squeeze images by qole.)
 
-
 
-
You might have tried to switch Easy Debian to portrait mode using a command like this:
 
-
xrandr --output default --rotate left
 
-
In this case you will have noticed that although the display output was rotated but that the mouse cursor will still behave as if the desktop was running in landscape mode. This is due to a bug in xserver-xephyr which fortunately has a fix:
 
-
https://bugs.freedesktop.org/show_bug.cgi?id=37331
 
-
 
-
However, that fix didn't make it into the Debian Squeeze package but the package from the backports is reasonably up to date that the fix could be easily applied to it.
 
-
 
-
If you want to use the fixed package you first need to do a complete dist-upgrade to Squeeze, then activate the squeeze-backports repository, install xsever-xephyr from it and after that install this patched backports package:
 
-
http://lorienart.pl/cover/xserver-xephyr_1.10.4-1~bpo60+99_armel.deb
 
== FAQ ==
== FAQ ==
'''Q:''' I have started Openoffice (evince, ...) from the desktop, entered a certain mode (presentation, navigator, formatting, full screen, ...) and cannot get out of that again.<br>
'''Q:''' I have started Openoffice (evince, ...) from the desktop, entered a certain mode (presentation, navigator, formatting, full screen, ...) and cannot get out of that again.<br>
-
'''A:''' See [[#Set Deb HW Keys app and xbindkeys|the section on setting keybindings]]
+
'''A:''' See [[Easy_Debian#Set_Deb_HW_Keys_app_and_xbindkeys]]
'''Q:''' I chose Iceweasel, but nothing happened!<br>
'''Q:''' I chose Iceweasel, but nothing happened!<br>
Line 482: Line 396:
:Choose your language(s).
:Choose your language(s).
-
:DIABLO/N8x0: Note that you should choose the language with no period between the language and the iso code (eg. "<code>en_CA ISO-8859-1</code>"), and optionally, the utf-8 version, too (eg. "<code>en_CA.UTF-8</code>").
+
:DIABLO/N8x0: Note that you should choose the language with no period between the language and the iso code (eg. "en_CA ISO-8859-1"), and optionally, the utf-8 version, too (eg. "en_CA.UTF-8").
:FREMANTLE/N900:  Choose the UTF-8 version.
:FREMANTLE/N900:  Choose the UTF-8 version.
Line 510: Line 424:
  apt-get install localepurge; localepurge
  apt-get install localepurge; localepurge
-
:This will get you at least 80 MB back. You should probably do this first, before starting to install. Running out of space during an install in Debian is ugly.
+
:This will get you at least 80MB back. You should probably do this first, before starting to install. Running out of space during an install in Debian is ugly.
-
:Also, when downloading packages, remember to frequently use "<code>apt-get clean</code>" to clear out old downloaded packages. That will help with free space.
+
:Also, when downloading packages, remember to frequently use "apt-get clean" to clear out old downloaded packages. That will help with free space.
-
:If you're comfortable with the command line, you can use the technique listed in [http://talk.maemo.org/showthread.php?p=233305#post233305 this post] to double your install space.
+
:If you're comfortable with the command line, you can use the technique listed in this post to double your install space.
:Even with all of these tricks, you'll still run out of room fairly quickly. You'll probably have to uninstall packages in order to add new ones.
:Even with all of these tricks, you'll still run out of room fairly quickly. You'll probably have to uninstall packages in order to add new ones.
-
:More advanced users can put a minimal system into an empty image and build a custom set of apps using [http://talk.maemo.org/showthread.php?p=233515#post233515 this post]. The most advanced and best way: partition your SD card and put your Debian fs there.
+
:More advanced users can put a minimal system into an empty image and build a custom set of apps using this post. The most advanced and best way: partition your SD card and put your Debian fs there.
'''Q:''' What's this "Iceweasel"?<br>
'''Q:''' What's this "Iceweasel"?<br>
'''A:''' Iceweasel is the Debian name for Firefox. It's a long story, but in short, Mozilla and Debian had a philosophical disagreement that ended in Debian renaming Firefox to Iceweasel.<br>
'''A:''' Iceweasel is the Debian name for Firefox. It's a long story, but in short, Mozilla and Debian had a philosophical disagreement that ended in Debian renaming Firefox to Iceweasel.<br>
-
'''Q:''' I would like to have a separate <code>/home/user</code> directory under Debian than under Maemo. Is that possible?<br>
+
'''Q:''' I would like to have a separate /home/user directory under Debian than under Maemo. Is that possible?<br>
-
'''A:''' <code>/sbin/qchroot</code> script does mountings; one option is to not mount /home/user at all by commenting out the corresponding line in that script, which is
+
'''A:''' /sbin/qchroot script does mountings; one option is to not mount /home/user at all by commenting out the corresponding line in that script, which is
  mount /dev/mmcblk0p2 "$CHROOT/home"
  mount /dev/mmcblk0p2 "$CHROOT/home"
-
for FREMANTLE/N900. Then <code>/home/user/MyDocs</code> will still get mounted, but you can keep a Debian home directory separately, in the chroot.
+
for FREMANTLE/N900. Then /home/user/MyDocs will still get mounted, but you can keep a Debian home directory separately, in the chroot.
'''Q:''' How is this different than the [http://trac.tspre.org/projects/nit-debian Deblet project]?<br>
'''Q:''' How is this different than the [http://trac.tspre.org/projects/nit-debian Deblet project]?<br>
Line 532: Line 446:
'''Q:''' I already have Debian in a partition, or I'm running Deblet. How can I use your package with my Debian?<br>
'''Q:''' I already have Debian in a partition, or I'm running Deblet. How can I use your package with my Debian?<br>
-
'''A:''' Edit the <code>/home/user/.chroot</code> file to point to your Debian partition or image file. Easy Debian will do the rest.
+
'''A:''' Edit the /home/user/.chroot file to point to your Debian partition or image file. Easy Debian will do the rest.
-
'''NOTE:''' If you are using Deblet, delete the <code>/home/user/.synchroot</code> file before running Easy Debian for the first time, so your Deblet config files don't get overwritten. Remember that you'll need to make a user called "user" in Deblet (with the proper ID) for things to work correctly. Also note that your maemo home directory will be used by default. This can also be changed in the .chroot file.
+
'''NOTE:''' If you are using Deblet, delete the /home/user/.synchroot file before running Easy Debian for the first time, so your Deblet config files don't get overwritten. Remember that you'll need to make a user called "user" in Deblet (with the proper ID) for things to work correctly. Also note that your maemo home directory will be used by default. This can also be changed in the .chroot file.
-
 
+
-
== Debian "wheezy" images ==
+
-
 
+
-
A number of experimental images using Debian Wheezy (testing) are now available (August 2012) from [http://talk.maemo.org/showpost.php?p=1251091&postcount=2821 this post on TMO], courtesy of Roberto Colistete.
+
-
 
+
-
=== Installing experimental images ===
+
-
 
+
-
Experimental images are not known to the Debian Image Installer, nor are they (yet) hosted by qole, so you will need to download the desired image file into the desired location (using wget or similar) and decompress it with "lzma -d <filename>". From there, you should be able to launch it as normal; the Deb Chroot and Debian LXDE icons work as expected.
+
-
 
+
-
=== Known issues ===
+
-
 
+
-
==== Chromium web browser ====
+
-
 
+
-
Chromium is broken for arm in Debian wheezy. Estel [http://talk.maemo.org/showpost.php?p=1254678&postcount=2831 reports a successful workaround] using chromium from debian squeeze.
+
-
 
+
-
===== Chromium on Sci image =====
+
-
 
+
-
If you try to do this on the Sci image (Sulu via rcolistete), then after enabling the squeeze sources you'll run into apt-get/apt-cache errors of "the value 'testing' is invalid for APT::Default-Release. Work around these with "aptitude -t stable install chromium-browser".
+
-
 
+
-
This will get your browser installed, but it will then complain (if started from command line) about the lack of libesd0 and libcurl3. You can install both of these, also from squeeze sources, upon which it will start without complaining. Also, if you've been testing it as root, then you'll want to "chown -R user /home/user/.cache/chromium" and "chown -R user /home/user/.config/chromium" for it to work properly as "user".
+
-
 
+
-
== Optimising your EasyDebian images ==
+
-
 
+
-
=== Grow your image file to 4GB ===
+
-
 
+
-
Debian Wheezy takes up more space than Squeeze. If you want to enlarge your image file, the maximum file size that you can support on a FAT32 partition is 4GB minus one byte, or 4,294,967,295 bytes. Beyond that, you'll have to use a dedicated partition.
+
-
 
+
-
So, without harming portability, we can increase our image file by 1GB (almost) and then grow the file system to fit it. To increase the image size, first, concatenate 1GB of zeroes onto the end of the file:
+
-
<pre>dd if=/dev/zero bs=1M count=1024 >> /path/to/image.ext3</pre>
+
-
 
+
-
Note that the ">>" is critical here, meaning append the zeroes to the end of the file; accidentally use ">" and you'll overwrite the image. The command will "fail" with an error when you hit 4GB on a FAT32 filesystem, but, don't worry, that's because we hit the maximum file size before we ran out of zeroes. Our image file will still be the desired maximum possible size. Now, we need to unmount and remount the image, in order for the loop mount to pick up the larger "device" that we just created. This is as simple as running the Close Debian script, then restarting Easy Debian via Deb Chroot (or sudo debian).
+
-
 
+
-
Finally, we grow our ext3 file system to match. From within the chroot, issue a
+
-
<pre>resize2fs /dev/loop0</pre>
+
-
and your filesystem will be extended to 4GB.
+
-
 
+
-
=== Convert your image file to ext3, ext4, xfs, etc. ===
+
-
 
+
-
You might wish to use a newer file system for improved data integrity, efficiency or CPU performance; this is supported with recent versions of kernel-power and CSSU and can reduce CPU overhead.
+
-
 
+
-
==== ext2 to ext3 ====
+
-
 
+
-
This is fairly easy; from within the chroot, issue:
+
-
 
+
-
<pre>tune2fs -j /dev/loop0</pre>
+
-
 
+
-
assuming your first partition that is mounted on "/" is called loop0. It may be called dm-0, or anything else. To be sure, check it out. Issue:
+
-
+
-
<pre>df -k</pre>
+
-
 
+
-
and you should get an output like this:
+
-
 
+
-
<pre>
+
-
Filesystem      1K-blocks    Used  Available Use% Mounted on
+
-
/dev/loop0        2064208  1733036    331172  84% /
+
-
/dev/mmcblk0p2    2064208    796220  1163132  41% /home
+
-
/dev/mmcblk0p1  28312128  2252928  26059200  8% /home/user/MyDocs
+
-
</pre>
+
-
 
+
-
'''Example:'''
+
-
If the first partition mounted on "/" is called /dev/dm-0 instead of /dev/loop0, then the command should be:
+
-
 
+
-
<pre>tune2fs -j /dev/dm-0</pre>
+
-
 
+
-
'''end of Example'''
+
-
 
+
-
This command will add a journal to your ext2 filesystem. It will appear that it waits for your input since it will throw you a colon "'''Creating journal inode:'''". Do not type anything and wait approx. one minute to finish by itself. Close down Easy Debian (it is advisable to close it through it's specific icon named "Close Debian" which will properly close Debian and unmont everything).
+
-
 
+
-
Then, from Maemo's X Terminal as root, rename your image file from <image-name>.ext2 to <image-name>.ext3.
+
-
After that, edit /home/user/.chroot file by issuing:
+
-
 
+
-
<pre>nano /home/user/.chroot</pre>
+
-
 
+
-
and change ext2 into ext3 on those 2 unhashed fields:
+
-
 
+
-
<pre>
+
-
# Some examples:
+
-
IMGFILE=/home/user/MyDocs/debian-m5-v3e.img.ext2
+
-
#IMGFILE=/media/mmc1/debian-squeeze-m5.img.ext2
+
-
#IMGFILE=/dev/mmcblk1p2
+
-
#IMGFILE=/dev/mmcblk0p4
+
-
# Filesystem used; must always be set when using a partition.
+
-
# Default: from extension of IMGFILE, or ext2.
+
-
IMGFS=ext2
+
-
</pre>
+
-
 
+
-
Restart Easy Debian, and away you go. Take note that adding a journal adds overhead and may not improve performance; understand the implications before you proceed.
+
-
 
+
-
==== ext3 to ext4 (or anything else) ====
+
-
 
+
-
A word of warning. The version of e2fsprogs in Maemo is ancient, and xfs-tools seems to be non-existent, so if you use ext4 or xfs, you will lose the ability to fsck the image on the device itself. This is fine if you have (and are happy to use) a Linux PC; if not then you may want to stick to ext2/ext3.
+
-
 
+
-
Migrating from ext3 to ext4 has no impact on existing files that were written under ext3, only on newly written files. Therefore, to achieve the expected benefit from a migration to ext4, you'll need to create a fresh image of the desired size, format it and copy the contents of your old image onto your new one. You'll probably want to do this over USB from a Linux PC rather than from the device itself, both for speed reasons and (probably) for newer versions of the applicable filesystem tools.
+
-
 
+
-
First, create a file of the desired size, either with dd or by simply making a copy of the image file that you intend to clone.
+
-
 
+
-
<pre>cp <image-name>.img.ext3 <image-name>.img.ext4</pre>
+
-
 
+
-
Now format the new image file with the desired file system. We'll use ext4 here, but this should work for any filesystem that is supported by kernel-power.
+
-
 
+
-
<pre>mkfs.ext4 /path/to/mounted/n900/<image-name>.img.ext4</pre>
+
-
 
+
-
You might want to consider the "-T small" option to mkfs, which will yield a smaller block size (1KB) and more inodes, otherwise you'll be limited to 262,144 files in 1,048,575 blocks, also, at your option "-m 0" to set the reserved blocks count to zero (do not keep 5% back for the superuser). Once that's done, we need to mount both images, and clone the old one to the new one:
+
-
<pre>
+
-
mkdir /mnt/old
+
-
mkdir /mnt/new
+
-
mount -t ext3 -o loop /path/to/mounted/n900/<image-name>.img.ext3 /mnt/old
+
-
mount -t ext4 -o loop /path/to/mounted/n900/<image-name>.img.ext4 /mnt/new
+
-
cp -a /mnt/old/* /mnt/new/
+
-
umount /mnt/new
+
-
umount /mnt/old
+
-
</pre>
+
-
 
+
-
It does no harm at this point to run a filesystem check on the newly created image. You'll also need to make sure that the image is either configured in .chroot or is the first such image in the directory in order for the Easy Debian chroot scripts to pick it up.
+
-
 
+
-
== Directory based chroot ==
+
-
 
+
-
First copy the filesystem to your homefs. Then edit your ~/.chroot, so that it contains
+
-
 
+
-
    IMGFILE=none
+
-
    CHROOT=/path/to/chroot
+
-
 
+
-
TODO: Do some magic with closechroot
+
== Donations ==
== Donations ==
If you feel overwhelmed by gratitude towards [http://talk.maemo.org/member.php?u=10410 qole] for bringing a full-fledged Debian OS to your device, consider donating at [http://qole.org qole.org]. [DISCLAIMER: This entry was inserted by a grateful user, not qole himself.]
If you feel overwhelmed by gratitude towards [http://talk.maemo.org/member.php?u=10410 qole] for bringing a full-fledged Debian OS to your device, consider donating at [http://qole.org qole.org]. [DISCLAIMER: This entry was inserted by a grateful user, not qole himself.]
-
 
[[Category:Users]]
[[Category:Users]]
[[Category:Power users]]
[[Category:Power users]]

Learn more about Contributing to the wiki.


Please note that all contributions to maemo.org wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see maemo.org wiki:Copyrights for details). Do not submit copyrighted work without permission!


Cancel | Editing help (opens in new window)