View Single Post
Old 10-25-2006, 12:10 PM   #1
Antartica
Evangelist
Antartica ought to be getting tired of karma fortunes by now.Antartica ought to be getting tired of karma fortunes by now.Antartica ought to be getting tired of karma fortunes by now.Antartica ought to be getting tired of karma fortunes by now.Antartica ought to be getting tired of karma fortunes by now.Antartica ought to be getting tired of karma fortunes by now.Antartica ought to be getting tired of karma fortunes by now.Antartica ought to be getting tired of karma fortunes by now.Antartica ought to be getting tired of karma fortunes by now.Antartica ought to be getting tired of karma fortunes by now.Antartica ought to be getting tired of karma fortunes by now.
 
Antartica's Avatar
 
Posts: 423
Karma: 1517132
Join Date: Jun 2006
Location: Madrid, Spain
Device: quaderno, remarkable2, yotaphone2, prs950, iliad, onhandpc, newton
Cool Howto create a crosscompiler for iliad27 using softfloat, with scratchbox integration

Hi all!

My first attempt to do a crosscompiler (this thread: https://www.mobileread.com/forums/showthread.php?t=7077) had an error, in that it created it with hardware floating point support, while the iliad uses softfloat. Here are the instructions to create it for softfloat support (bonus: I've also documented the integration with scratchbox (see this other thread: https://www.mobileread.com/forums/showthread.php?t=7131, so you can compile programs for the iliad as if using a native compiler, so most of autoconf-based programs compile flawlessly).

Here it is:

How to install a crosscompiler with softfloat support and integrated with scratchbox

# adduser iliad27
# sudo sb-adduser iliad27
# su - iliad27
$ wget -O crosstool-iliad-files.tar.gz "https://www.mobileread.com/forums/attachment.php?attachmentid=1312"
$ tar -xvzf crosstool-iliad-files.tar.gz
$ wget -O demo-iliad-softfloat.sh.txt "https://www.mobileread.com/forums/attachment.php?attachmentid=1986"
$ cd crosstool
$ wget http://www.kegel.com/crosstool/crosstool-0.42.tar.gz
$ tar -xvzf crosstool-0.42.tar.gz
$ cd ~/crosstool/crosstool-0.42/
$ cp ../../demo-iliad-softfloat.sh.txt demo-iliad-softfloat.sh
$ chmod a+x demo-iliad-softfloat.sh
$ . ../prepare.sh
$ sudo mkdir /scratchbox/compilers/arm-linux-iliad-softfloat
$ sudo chown iliad27:iliad27 /scratchbox/compilers/arm-linux-iliad-softfloat
$ ./demo-iliad-softfloat.sh
(Wait a lot of time while the toolchain builds)
(That's all, you should have your new toolchain in the specified RESULT_TOP, that is, /scratchbox/compilers/arm-linux-iliad-softfloat directory.)


Integration with scratchbox

$ cd /scratchbox/compilers/arm-linux-iliad-softfloat
$ ln -s gcc-3.4.2-glibc-2.3.3/arm-softfloat-linux-gnu/* .
$ cd /scratchbox/compilers/arm-linux-iliad
$ ~/sb-toolchain-extras/confhelper/create_toolchain_conf.py > ~/sb-toolchain-extras/meta/alien-tc/arm-iliad.conf
$ cd ~
$ darcs get --set-scripts-executable http://scratchbox.org/repos/1.0/sb-toolchain-extras
(alternatively, if you don't have dracs installed, you can untar the attached file)
$ cd /scratchbox/compilers/arm-linux-iliad-softfloat
$ ~/sb-toolchain-extras/confhelper/create_toolchain_conf.py > ~/sb-toolchain-extras/meta/alien-tc/arm-iliad-softfloat.conf
$ cd ~/sb-toolchain-extras
$ make CONFIG=meta/alien-tc/arm-iliad-softfloat.conf -C meta/alien-tc all-sums
$ make CONFIG=meta/alien-tc/arm-iliad-softfloat.conf -C meta/alien-tc
$ find . -name configure -exec chmod a+x \{\} \;
$ cd /scratchbox/compilers/arm-linux-iliad/arm-softfloat-linux-gnu/bin
$ for i in * ; do ln -s $i sbox-$i ; done

Configuration of the user to use the new crosscompiler

$ sb-menu
(new target, select the new toolchain, select qemu-arm/perl/debian, don't unpack filesystem, install all utilities and select the new target as default)

Enter scratchbox

$ scratchbox

Miscellaneous

I've untarred the filesystem.27.tar.gz in /iliad in the scratchbox setup, and also done
sbox$ cd /usr/lib
sbox$ ln -s /iliad/usr/lib/* .

For the header files... untar the attached src-xdevel.tar.gz file (files taken shamelessly from debian arm packages...). I've untarred it in /home/iliad27/ , and then
$ cd /usr/include
$ ln -s /home/iliad27/src.xdevel/usr/X11R6/include/X11 .

And I've tested it compiling tcltk 8.5a4; it compiles flawlessly :-). In the previous attempt, tk wouldn't compile...

Have fun!
Attached Files
File Type: txt demo-iliad-softfloat.sh.txt (500 Bytes, 504 views)
File Type: gz sb-toolchain-extras-1.0.tar.gz (1.48 MB, 485 views)
File Type: gz src-xdevel.tar.gz (4.41 MB, 1193 views)

Last edited by Antartica; 10-26-2006 at 06:39 AM. Reason: Clarify some points... and fix iliad/iliad27 and arm-linux-iliad/arm-linux-iliad-softfloat confusion
Antartica is offline   Reply With Quote