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 50 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 == | ||
- | * | + | * 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. | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
** 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-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. | ||
Line 29: | Line 25: | ||
; 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 | + | ; 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 391: | Line 387: | ||
deb http://ftp.debian.org/debian squeeze main contrib non-free | deb http://ftp.debian.org/debian squeeze main contrib non-free | ||
- | + | deb http://www.debian-multimedia.org squeeze main | |
- | + | ||
- | + | ||
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: | 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: | ||
Line 563: | Line 557: | ||
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: | 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= | + | <pre>dd if=/dev/zero bs=1M count=1048576 >> /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). | 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). | ||
Line 571: | Line 565: | ||
and your filesystem will be extended to 4GB. | and your filesystem will be extended to 4GB. | ||
- | === | + | === Converting 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. | 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. | ||
+ | |||
+ | A word of warning, though. 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. | ||
==== ext2 to ext3 ==== | ==== ext2 to ext3 ==== | ||
- | This is fairly easy; from within the chroot, issue | + | This is fairly easy; from within the chroot, issue |
<pre>tune2fs -j /dev/loop0</pre> | <pre>tune2fs -j /dev/loop0</pre> | ||
- | + | which will add a journal to your ext2 filesystem. Close down Easy Debian, rename your image file from <image-name>.ext2 to <image-name.ext3>, make sure that the image name is either configured in .chroot or that it's the first such image in the directory, 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) ==== | ==== ext3 to ext4 (or anything else) ==== | ||
- | + | 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. | 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. | ||
Line 637: | Line 595: | ||
<pre>mkfs.ext4 /path/to/mounted/n900/<image-name>.img.ext4</pre> | <pre>mkfs.ext4 /path/to/mounted/n900/<image-name>.img.ext4</pre> | ||
- | You might | + | You might like 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> | <pre> | ||
mkdir /mnt/old | mkdir /mnt/old | ||
Line 649: | Line 607: | ||
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. | 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. | ||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
== Donations == | == Donations == |
Learn more about Contributing to the wiki.