This shows you the differences between two versions of the page.
cross [2015/11/19 22:25] |
cross [2022/04/16 12:22] (current) |
||
---|---|---|---|
Line 1: | Line 1: | ||
+ | |||
+ | ===== [[Software]] ===== | ||
+ | |||
+ | * http://www.emdebian.org/stage.html | ||
+ | ** http://www.scratchbox.org/ | ||
+ | *** http://buildroot.uclibc.org/ | ||
+ | *** http://busybox.net/ | ||
+ | * http://www.microwindows.org/ | ||
+ | * http://blog.brokenfunction.com/2011/11/how-to-make-a-massively-cross-platform-game/# CrossPlatform | ||
+ | |||
+ | |||
+ | ===== [[Hardware]] / [[Device]] ===== | ||
+ | |||
+ | * http://sourceforge.net/projects/explora-linux | ||
+ | * http://i.want.to.surf.free.fr/NCD/HTML/LinuxNCDPort.fr.html | ||
+ | ( http://gulliver.eu.org/wiki/Inventaire ) | ||
+ | * http://vmahe.free.fr/LinuxPorts/PortLinux.html | ||
+ | * http://www.f-b-x.net/ | ||
+ | * [[Nokia]] 770 : http://www.maemo.org/index.html | ||
+ | * http://linuxfr.org/2005/10/23/19780.html | ||
+ | |||
+ | |||
+ | ===== ARM ===== | ||
+ | |||
+ | apt-get install linux-source unp devscripts kernel-package build-essential libncurses5-dev devio uboot-mkimage lzma | ||
+ | -rw-r--r-- 1 root root 76621581 Nov 14 2011 /usr/src/linux-source-3.1.tar.bz2 | ||
+ | cd root/src/linux-source-3.1# time make pkg-deb | ||
+ | |||
+ | * https://github.com/rzr/linux/commit/cb99ba71ea3e7c0bfed4e3605588c41fd7ddb6bb | ||
+ | * http://forum.kernelnewbies.org/read.php?12,993 | ||
+ | |||
+ | ToDo CrosS CompilE for ArM | ||
+ | |||
+ | release=jessie ; echo "deb http://www.emdebian.org/tools/debian/ $release main" | sudo tee /etc/apt/sources.list.d/emdebian.list | ||
+ | |||
+ | |||
+ | OutDated : | ||
+ | |||
+ | echo "deb http://www.emdebian.org/debian/ stable main" | sudo tee /etc/apt/sources.list.d/emdebian.list | ||
+ | sudo aptitude update ; aptitude search arm-linux-gnueabi | ||
+ | sudo aptitude install c-compiler-arm-linux-gnueabi gcc-4.4-arm-linux-gnueabi | ||
+ | time make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- menuconfig deb-pkg | ||
+ | |||
+ | # iowrite32be 'implicit declaration of function' | ||
+ | # http://madwifi-project.org/ticket/1539 | ||
+ | |||
+ | |||
+ | Then when rebuilding LirC I had to rebuid parts of the headers on my [[armv5]] NaS : | ||
+ | |||
+ | root@nas:/usr/src/linux-headers-3.1.1lsproduo-00009-g4d27e1c/scripts/mod# | ||
+ | 526 rm *.o | ||
+ | 543 make obj=. sumversion.o file2alias.o modpost.o | ||
+ | 544 cc *.o | ||
+ | 547 mv a.out modpost | ||
+ | |||
+ | |||
+ | |||
+ | RaiD Armv5 NaS : | ||
+ | |||
+ | * http://code.google.com/p/buffalo-nas-hacking/wiki/HOWTO_Debian_Crosscompile_ARM9_kernel | ||
+ | * http://www.nas-central.org/index.php/Setting_up_the_codesourcery_toolchain_for_X86_to_ARM9_cross_compiling | ||
+ | |||
+ | sudo bash -x ~/bin/setup_codesourcery.sh | ||
+ | /usr/local/bin/codesourcery-arm-2011.03.sh | ||
+ | ARCH=arm | ||
+ | CROSS_COMPILE=arm-none-linux-gnueabi- | ||
+ | PATH=${PATH}:/usr/local/codesourcery/arm-2011.03/bin | ||
+ | |||
+ | git clone git://git.marvell.com/orion.git | ||
+ | |||
+ | * http://sites.google.com/site/shihsung/linkstation-mips/convert-to-lenny | ||
+ | * http://git.marvell.com/?p=orion.git;a=summary | ||
+ | |||
+ | @TaG: [[ARMv5]] [[Raid]] [[Nas]] | ||
+ | |||
+ | |||
+ | ===== emdebian ===== | ||
+ | |||
+ | * http://wiki.debian.org/EmdebianToolchain | ||
+ | |||
+ | ProbleM : | ||
+ | |||
+ | cpp-4.4-arm-linux-gnueabi : Depends: libgmp3c2 but it is not installable | ||
+ | |||
+ | SolutioN : add stable.list | ||
+ | |||
+ | VERSION=4.4 # VERSION=4.3 | ||
+ | ARCH=arm | ||
+ | SUBARCH=armel | ||
+ | sudo aptitude install \ | ||
+ | libc6-${SUBARCH}-cross libc6-dev-${SUBARCH}-cross \ | ||
+ | binutils-${ARCH}-linux-gnueabi \ | ||
+ | gcc-%{VERSION}-${ARCH}-linux-gnueabi g++-%{VERSION}-${ARCH}-linux-gnueabi | ||
+ | |||
+ | * http://www.linux.codehelp.co.uk/serendipity/index.php?/archives/153-Yes,-Im-going-to-FOSDEM-too.html | ||
+ | * http://www.linux.codehelp.co.uk/fosdem/ | ||
+ | |||
+ | @TaG: [[emdebian]] ToolChain ArmeL | ||
+ | |||
+ | |||
+ | ===== dpkg-cross ===== | ||
+ | |||
+ | * http://psas.pdx.edu/DebianCrossCompilerHowto/ | ||
+ | sudo aptitude install pbuilder dpatch | ||
+ | sudo chown -R $USER.staff .. | ||
+ | export ARCH=arm | ||
+ | export TARGET=armel-linux-gnu | ||
+ | fakeroot debian/rules binary-cross > ../binutils.build 2>&1 || echo 'Build error' | ||
+ | |||
+ | url=http://ftp.us.debian.org/debian/pool/main/g/glibc/ | ||
+ | lynx -dump $url | grep libc6 | grep armel | grep http | sed -e 's|.*\(http.*\)|\1|g' | xargs -n 1 wget -c | ||
+ | url=http://ftp.us.debian.org/debian/pool/main/l/linux-kernel-headers/ | ||
+ | lynx -dump $url | grep http | sed -e 's|.*\(http.*\)|\1|g' | grep $ARCH | xargs -n 1 wget -c | ||
+ | url=http://http.us.debian.org/debian/pool/main/g/gcc-4.3/ | ||
+ | lynx -dump $url | grep http | sed -e 's|.*\(http.*\)|\1|g' | grep $ARCH | xargs -n 1 wget -c | ||
+ | |||
+ | dpkg-cross -a armel -b *${ARCH}*.deb | ||
+ | sudo dpkg -i *${ARCH}*cross*.deb | ||
+ | # sudo dpkg -i libc6-armel-cross*.deb # ignore errors 1st | ||
+ | |||
+ | export GCC_TARGET=${ARCH} | ||
+ | debian/rules control | ||
+ | dpkg-buildpackage -us -uc -rfakeroot -b > ../gcc.build 2>&1 || echo 'Build error' | ||
+ | |||
+ | |||
+ | |||
+ | ===== [[Devel]] [[Linux]] ===== | ||
+ | |||
+ | sudo apt-get install wget unp apt-src fakeroot build-essential | ||
+ | sudo addgroup ${USER} src | ||
+ | |||
+ | export DESTDIR=/usr/local/local/${OSTYPE}/opt/ | ||
+ | export TARGET_ARCH=powerpc-elf-linux # for Explora401's [[CPU]] : PowerPC 403GA | ||
+ | export BINUTILS_PREFIX=${DESTDIR}/binutils-2.16.1cvs20051214-${TARGET_ARCH}/ | ||
+ | export GCC_PREFIX=${DESTDIR}/gcc-4.0.2-${TARGET_ARCH} | ||
+ | export AS=${BINUTILS_PREFIX}/bin/${TARGET_ARCH}-as | ||
+ | |||
+ | export PATH=${BINUTILS_PREFIX}/bin:${PATH} | ||
+ | |||
+ | sudo mkdir -p ${DESTDIR} | ||
+ | sudo chgrp src ${DESTDIR} | ||
+ | cd ~/src/ | ||
+ | |||
+ | |||
+ | ### binutils : | ||
+ | |||
+ | # http://directory.fsf.org/GNU/binutils.html | ||
+ | # wget http://ftp.gnu.org/gnu/binutils/binutils-2.16.1.tar.gz | ||
+ | |||
+ | |||
+ | sudo apt-src install binutils | ||
+ | cd binutils-* | ||
+ | |||
+ | export BINUTILS_PREFIX=${DESTDIR}/$(basename $(pwd))-${TARGET_ARCH}/ | ||
+ | |||
+ | ./configure --prefix=${BINUTILS_PREFIX} --target=${TARGET_ARCH} \ | ||
+ | && make && make install | ||
+ | |||
+ | ls ${BINUTILS_PREFIX}/bin/ | ||
+ | # powerpc-elf-linux-addr2line powerpc-elf-linux-nm powerpc-elf-linux-size | ||
+ | # powerpc-elf-linux-ar powerpc-elf-linux-objcopy powerpc-elf-linux-strings | ||
+ | # powerpc-elf-linux-as powerpc-elf-linux-objdump powerpc-elf-linux-strip | ||
+ | # powerpc-elf-linux-c++filt powerpc-elf-linux-ranlib | ||
+ | # powerpc-elf-linux-ld powerpc-elf-linux-readelf | ||
+ | |||
+ | cd .. | ||
+ | |||
+ | |||
+ | ### Now [[GCC]] : | ||
+ | |||
+ | export PATH=${BINUTILS_PREFIX}/bin:${PATH} | ||
+ | |||
+ | |||
+ | |||
+ | sudo apt-src install gcc-4.0 # http://gcc.gnu.org | ||
+ | # cd gcc-* | ||
+ | export GCC_PREFIX=${DESTDIR}/$(basename $(pwd))-${TARGET_ARCH} | ||
+ | |||
+ | # ToDo : the Debian way | ||
+ | |||
+ | |||
+ | wget http://gcc.fyxm.net/releases/gcc-4.0.2/gcc-4.0.2.tar.bz2 \ | ||
+ | && unp gcc*.tar.bz2 | ||
+ | |||
+ | |||
+ | |||
+ | # http://gcc.gnu.org/install/configure.html | ||
+ | mkdir -p tmp && cd tmp | ||
+ | |||
+ | ../configure --prefix=${GCC_PREFIX} --target=${TARGET_ARCH} \ | ||
+ | *-enable-languages=c --disable-threads --disable-shared \ | ||
+ | && make | ||
+ | |||
+ | # as: unrecognized option `-mppc' | ||
+ | # http://gcc.gnu.org/ml/gcc-help/2004-03/msg00242.html | ||
+ | |||
+ | make AS=${AS} | ||
+ | |||
+ | |||
+ | ===== Err ===== | ||
+ | |||
+ | su: This applet requires root priviledges | ||
+ | chmod +s /bin/busybox | ||
+ | |||
+ | powerpc : | ||
+ | make[[2]]: Entering directory `/home/coval/src/buildroot/toolchain_build_powerpc/uClibc' | ||
+ | ... | ||
+ | libc/sysdeps/linux/common/sendfile.c:18: error: conflicting types for 'sendfile64' | ||
+ | ./include/sys/sendfile.h:47: error: previous declaration of 'sendfile64' was here | ||
+ | libc/sysdeps/linux/common/sendfile.c:18: error: conflicting types for 'sendfile64' | ||
+ | ./include/sys/sendfile.h:47: error: previous declaration of 'sendfile64' was here | ||
+ | |||
+ | |||
+ | ===== MISC ===== | ||
+ | |||
+ | * http://free-electrons.com/training | ||
+ | * http://thomas.enix.org/Blog-20050401235326-Actualite | ||
+ | |||
+ | file:///scratchbox/doc/html/installdoc.html | ||
+ | irc://irc.freenode.net/#scratchbox # [[IRC]] | ||
+ | |||
+ | * http://developers.slashdot.org/story/14/01/18/0251214/chrome-is-the-new-c-runtime | ||
+ | |||
+ | |||
+ | ===== MORE ===== | ||
+ | |||
+ | @TaG: EmdeddeD CompilE CompilatioN KerneL RootFs ScratchBox [[GNU]] [[Port]] [[GCC]] [[Linux]] [[OS]] [[Device]] [[Embedded]] [[armel]] [[armv5]] PowerPc | ||
+ | |||
+ | |||
+ | {{http://img249.echo.cx/img249/6660/g37382ex.jpg}} | ||
+ | |||