From this point on, it is very easy to create your own developer live CD.
As the different necessary parts are too large to get a CD for e.g. sharp and ipaq running, the next section describes the way to get an iPaq developer CD.
The next section of this chapter describes the more complicated way to configure and create a CD containing Embedded, iPaq and a Sharp version using the "cloop" method. This CD finally contains all necessary copies of qte and opie using the transparent compressing method of cloop, which is e.g. used to get 2GByte of programs/data onto one Knoppix CD.
Create a directory e.g. ipaq-cd and copy the following stuff inside.
The following paragraph shows the directory structure of the CD.
ipaq-cd
ipaq-cd/armdev
ipaq-cd/armdev/kernel
ipaq-cd/armdev/kernel/2.4.18-rmk3-hh10
ipaq-cd/qt-vers
ipaq-cd/qt-vers/qt-2.3.7-opie-ipaq
ipaq-cd/opie-vers
ipaq-cd/opie-vers/opie_280603-099-ipaq
ipaq-cd/environ
ipaq-cd/environ/.goqtopiearm2953rc
ipaq-cd/arm
ipaq-cd/arm/2.95.3
ipaq-cd/doc
ipaq-cd/doc/ipaqhelp
ipaq-cd/doc/opiedev_doc
ipaq-cd/bin
The resulting "ls -ls" is shown in the next paragraph. You may recognize, that beside the dirs arm, armdev, bin, doc, qt-vers, opie-vers and environ there are some scripts and some links existing. They are only used to make it more comfortable. In principle the the following action items may also be done manually.
4 drwxr-xr-x 9 root root 4096 2003-06-29 19:31 .
4 drwxr-xr-x 13 root root 4096 2003-06-29 19:32 ..
4 -rwxr-xr-x 1 root root 1235 2003-06-29 18:22 .resetsymlinks.rc
4 -rwxr-xr-x 1 root root 1405 2003-06-29 18:09 .setsymlinks.rc
4 -rw-r--r-- 1 root root 296 2003-06-29 17:23 README
4 drwxr-xr-x 3 root root 4096 2003-06-29 17:15 arm
4 drwxr-xr-x 4 root root 4096 2003-06-29 17:20 armdev
4 drwxr-xr-x 2 root root 4096 2003-06-29 09:05 bin
4 -rwxr-xr-x 1 root root 2280 2003-06-29 18:14 crossprep.rc
4 drwxrwxrwx 4 root root 4096 2003-06-29 19:31 doc
4 drwxr-xr-x 2 root root 4096 2003-06-29 17:40 environ
0 lrwxrwxrwx 1 root root 31 2003-06-29 17:24 opie-ipaq -> opie-vers/opie_280603-099-ipaq/
4 drwxr-xr-x 3 root root 4096 2003-06-29 09:00 opie-vers
4 drwxr-xr-x 3 root root 4096 2003-06-29 08:57 qt-vers
0 lrwxrwxrwx 1 root root 27 2003-06-29 17:23 qt2opie-ipaq -> qt-vers/qt-2.3.7-opie-ipaq/
The following links (all should be relative) have to be set inside ipaq-cd dir.
The following scripts are used (required : bash and awk, "su root -c" possibility).
You also have to modify the environ/.goqtopiearm2953rc to the special need of the CD version. Find the modified script here.
Burn your CD and you will be able to use it on every PC you want, without installing large source directories.
Just mount the CD and call ipaqprep.rc. This script will take care on all related items. You are in the CD environment now and able to cross-compile using the CDs toolchain and libraries.
The method described here is similar, than the above one, but uses the cloop device to compress the data stored on a CD. This allows the user to put more data on a CD than just 650MB.
The described example contains mainly qte and opie vesions for embedded, ipaq and sharp use, as well as an arm kernel and two toolchains (2.95.3 from hh and Embedix from sharp). All items together copied into a directory increases the used space to approx. 1.8GByte. After the cloop file is created, only 330MBytes are left, which can be easily copied onto a CD.
Beside the opiedev stuff itself, you will need the cloop programs / device binary to get the system running. I use the modified cloop version available at http://www.knopper.net/knoppix.
Create a directory e.g. opie-cd and a subdir e.g. opie-cd/OPIEDEV.src and copy the following stuff inside.
The following paragraph shows the directory structure of the CD.
opie-cd
opie-cd/utils
opie-cd/utils/cloop-0.68
opie-cd/OPIEDEV.src
opie-cd/OPIEDEV.src/Embedix
opie-cd/OPIEDEV.src/arm
opie-cd/OPIEDEV.src/arm/2.95.3
opie-cd/OPIEDEV.src/armdev
opie-cd/OPIEDEV.src/armdev/kernel
opie-cd/OPIEDEV.src/armdev/kernel/2.4.18-rmk3-hh10
opie-cd/OPIEDEV.src/qt-vers
opie-cd/OPIEDEV.src/qt-vers/qt-2.3.7-opie-emb
opie-cd/OPIEDEV.src/qt-vers/qt-2.3.7-opie-ipaq
opie-cd/OPIEDEV.src/qt-vers/qt-2.3.7-opie-sharp
opie-cd/OPIEDEV.src/opie-vers
opie-cd/OPIEDEV.src/opie-vers/opie_280603-099-emb
opie-cd/OPIEDEV.src/opie-vers/opie_280603-099-ipaq
opie-cd/OPIEDEV.src/opie-vers/opie_280603-099-sharp
opie-cd/OPIEDEV.src/environ
opie-cd/OPIEDEV.src/environ/.goqtopieembrc
opie-cd/OPIEDEV.src/environ/.goqtopiearm2953rc
opie-cd/OPIEDEV.src/environ/.goqtopiearmsharprc
opie-cd/OPIEDEV.src/doc
opie-cd/OPIEDEV.src/doc/ipaqhelp
opie-cd/OPIEDEV.src/doc/opiedev_doc
opie-cd/OPIEDEV.src/bin
opie-cd/README
The resulting "ls -lsa OPIEDEV.src" is shown in the next paragraph. You may recognize, that beside the dirs arm, armdev, bin, doc, qt-vers, opie-vers and environ there are some scripts and some links existing. They are only used to make it more comfortable. In principle the the following action items may also be done manually.
4 drwxr-xr-x 10 root root 4096 2003-09-21 11:10 .
4 drwxr-xr-x 4 root root 4096 2003-09-21 11:11 ..
4 -rwxr-xr-x 1 root root 1481 2003-09-21 10:20 .resetlinks.rc
4 -rwxr-xr-x 1 root root 1502 2003-09-21 10:19 .setlinks.rc
4 drwxr-xr-x 3 root root 4096 2003-09-20 18:12 Embedix
4 drwxr-xr-x 3 root root 4096 2003-09-21 09:29 arm
4 drwxr-xr-x 4 root root 4096 2003-06-29 17:20 armdev
4 drwxr-xr-x 2 root root 4096 2003-06-29 09:05 bin
4 drwxrwxrwx 4 root root 4096 2003-06-29 19:31 doc
4 -rwxr-xr-x 1 root root 2638 2003-09-21 10:20 embprep.rc
4 drwxr-xr-x 2 root root 4096 2003-09-21 10:37 environ
4 -rwxr-xr-x 1 root root 2654 2003-09-21 10:20 ipaqprep.rc
0 lrwxrwxrwx 1 root root 29 2003-09-20 18:05 opie-emb -> opie-vers/opie_280603-099-emb
0 lrwxrwxrwx 1 root root 31 2003-06-29 17:24 opie-ipaq -> opie-vers/opie_280603-099-ipaq/
0 lrwxrwxrwx 1 root root 31 2003-09-20 18:05 opie-sharp -> opie-vers/opie_280603-099-sharp
4 drwxr-xr-x 5 root root 4096 2003-09-21 11:08 opie-vers
4 drwxr-xr-x 5 root root 4096 2003-09-20 18:04 qt-vers
0 lrwxrwxrwx 1 root root 25 2003-09-20 18:05 qt2opie-emb -> qt-vers/qt-2.3.7-opie-emb
0 lrwxrwxrwx 1 root root 27 2003-06-29 17:23 qt2opie-ipaq -> qt-vers/qt-2.3.7-opie-ipaq/
0 lrwxrwxrwx 1 root root 27 2003-09-20 18:05 qt2opie-sharp -> qt-vers/qt-2.3.7-opie-sharp
4 -rwxr-xr-x 1 root root 2655 2003-09-21 10:24 sharpprep.rc
The following links (all should be relative) have to be set inside ipaq-cd dir.
The following scripts are used (required : bash and awk, "su root -c" possibility).
You also have to modify the environ/.goqtopieXXXrc to the special need of the CD version. Find the modified scripts here.
Either compile the cloop source your own, or use the _mkcloopdevice.rc script (always as superuser).
The script will ask you, where your kernel source (includes) are installed. After that, the sources are compiled and a cloop.o module for your kernels usage, as well as some programs to create and extract your cloop file will be the result.
The script will copy the sources into /tmp and compile it there using the "su root" feature. If successfull, the cloop.o file will be copied into a dir /lib/modules/misc.
To create the cloop file, you can use the script _mkcloop.rc. The script expects two parameters one to define the sources dir and one to define the outputs file name. The cloop utilities take some time and need a lot of memory. So be carefull always.
Once ready, you can test the result by mounting the cloop file.
A insmod cloop.o file=./OPIEDEV followed by a mount -o ro /dev/cloop /mnt will
mount the cloop file to /mnt. Cd there and check, whether everything is correct, by trying out the
prepare scripts.
Select the cloop file OPIEDEV, the dirctoty utils and the cloop scripts and burn it onto a CDs root dir using your favorite burn software.
Mount the CD to e.g. /cdrom. If used the first time on e.g. your laptop, you may have to create the cloop device first. Call the _mkcloopdevice.rc script for that (superuser) (more info about what happens see here).
If ready with that (or already done on your laptop) call _mountcloop.rc to mount the cloop file to e.g. /mnt.
Cd to /mnt (as standard user) and call e.g. ./ipaqprep.rc to change to ipaq environment. The script will ask you some questions and stores the results in some temporary files in you home dir. To get all environment variables available, a new bash is started.
If you start kdevelop from this bash, you are able to crosscompile.
The method described here is similar, than the above one, but uses the cloop device with multiple files to split the different parts into 5 cloop files (cloop-1.02 needed). This guarantees an easy update without uploading always 400MB.
The described example contains mainly qte and opie vesions for embedded, ipaq and sharp use, as well as arm kernels and three toolchains (2.95.3 and 3.2.3 from hh and Embedix from sharp).
Beside the opiedev stuff itself, you will need the cloop programs / device binary to get the system running. I use the modified cloop version available at http://developer.linuxtag.net/knoppix/sources.
Create a directory e.g. opie-cd and the subdirs e.g.
and copy the following stuff inside.
The following paragraph shows the directory structure of the CD.
opie-cd
opie-cd/utils
opie-cd/utils/cloop-1.02
opie-cd/BASE.src
opie-cd/BASE.src/Embedix -> kernel/arm/Embedix
opie-cd/BASE.src/arm -> kernel/arm
opie-cd/BASE.src/opie-emb -> opie-vers/opie_100-emb
opie-cd/BASE.src/opie-ipaq -> opie-vers/opie_100-ipaq
...
opie-cd/BASE.src/environ
opie-cd/BASE.src/environ/.goqtopieembrc
opie-cd/BASE.src/environ/.goqtopiearm2953rc
opie-cd/BASE.src/environ/.goqtopiearmsharprc
opie-cd/BASE.src/doc
opie-cd/BASE.src/doc/ipaqhelp
opie-cd/BASE.src/doc/opiedev_doc
opie-cd/BASE.src/bin
opie-cd/TOOLCHAIN.src/arm/2.95.3
opie-cd/TOOLCHAIN.src/arm/Embedix
opie-cd/KERNEL.src/arm/2.4.18-rmk3-hh10
opie-cd/QTE.src/qt-2.3.7-opie-emb
opie-cd/QTE.src/qt-2.3.7-opie-ipaq
opie-cd/QTE.src/qt-2.3.7-opie-sharp
opie-cd/OPIE.src/opie_280603-099-emb
opie-cd/OPIE.src/opie_280603-099-ipaq
opie-cd/OPIE.src/opie_280603-099-sharp
opie-cd/README
The following links (all should be relative) have to be set inside ipaq-cd dir.
The following scripts are used (required : bash and awk, "su root -c" possibility).
You also have to modify the environ/.goqtopieXXXrc to the special need of the CD version. Find the modified scripts here.
Either compile the cloop source your own, or use the _mkcloopdevice.rc script (always as superuser).
The script will ask you, where your kernel source (includes) are installed. After that, the sources are compiled and a cloop.o module for your kernels usage, as well as some programs to create and extract your cloop file will be the result.
The script will copy the sources into /tmp and compile it there using the "su root" feature. If successfull, the cloop.o file will be copied into a dir /lib/modules/misc.
To create the cloop files, you can use the script _createcloop.rc. The script expects two parameters one to define the sources dir and one to define the outputs file name. The cloop utilities take some time and needs a lot of memory. So be carefull always.
The following cloop files should be created (if you want to use the provided cloop scripts).
Once ready, you can test the result by mounting the cloop file.
A insmod cloop.o file=./OPIEDEV followed by a mount -o ro /dev/cloop /mnt will
mount the cloop file to /mnt. Cd there and check, whether everything is correct, by trying out the
prepare scripts.
With the multiple CLOOP-Files, you are able to use losetup to define, which cloop-files uses which /dev/cloopx file. You may want to use the _mountcloop.rc script to mount all cloop files.
Select the cloop file OPIEDEV, the dirctoty utils and the cloop scripts and burn it onto a CDs root dir using your favorite burn software.
Mount the CD to e.g. /cdrom. If used the first time on e.g. your laptop, you may have to create the cloop device first. Call the _mkcloopdevice.rc script for that (superuser) (more info about what happens see here).
If ready with that (or already done on your laptop) call _mountcloop.rc to mount the cloop file to e.g. /mnt.
Cd to /mnt (as standard user) and call e.g. ./ipaqprep.rc to change to ipaq environment. The script will ask you some questions and stores the results in some temporary files in you home dir. To get all environment variables available, a new bash is started.
If you start kdevelop from this bash, you are able to crosscompile.
If you dont want to create your CD yourself (following the above documentation) you can download a prepared version (0.2.3 and 0.2.7) from http://www.handhelds.org/pub/linux/dists/opiedev.
Find a usage and installation documentation there.