Hi,
I use the nios2mmu branch because it deals with the custom_fpga.h file instead of the device tree (I work with Windows XP and I don't know if the sopc2dts tool works with Windows).
I created a board layer like said here in Altera Wiki (
alterawiki.com/wiki/Creating_a_Nios_II_Design_with_an_MMU)
I downloaded the toolchain nios2gcc-20080203.tar.bz2
Here is my problem:
After having exported the PATH (export PATH=$PATH:~/path_to_toolchain/opt/nios2/bin), when I want to compile the kernel, the simple instruction make dosen't work. Here is the trace:
//////////////////////////////////////////////////////////////////////////////////
pierre@ubuntu:~/nios_linux_2010/nios2-linux/uClinux-dist$ CROSS_COMPILE=/home/pierre/nios_compilo/opt/nios2/bin/nios2-linux- make
make -f tools/
autotools.mk autotools-cache
make[1]: entrant dans le répertoire « /home/pierre/nios_linux_2010/nios2-linux/uClinux-dist »
set -e;
mkdir -p /home/pierre/nios_linux_2010/nios2-linux/uClinux-dist/tools/autotools-cache/build//$$;
cd /home/pierre/nios_linux_2010/nios2-linux/uClinux-dist/tools/autotools-cache/build//$$;
gt=`../../
create-target-cache.sh nios2-linux-gnu`;
cp $gt /home/pierre/nios_linux_2010/nios2-linux/uClinux-dist/vendors/config/$gt;
touch /home/pierre/nios_linux_2010/nios2-linux/uClinux-dist/tools/autotools-cache/build/nios2-linux-gnu
../../
create-target-cache.sh: 30: nios2-linux-gnu-gcc: not found
../../
create-target-cache.sh: 31: nios2-linux-gnu-gcc: not found
Using inc dir for nios2-linux-gnu (nios2-unknown-linux-gnu):
../../
create-target-cache.sh: 65: nios2-linux-gnu-gcc: not found
xargs: nios2-linux-gnu-readelf: Aucun fichier ou dossier de ce type
make[1]: quittant le répertoire « /home/pierre/nios_linux_2010/nios2-linux/uClinux-dist »
ln -sf staging-compiler tools/nios2-linux-gnu-gcc
ln -sf staging-compiler tools/nios2-linux-gnu-g++
ln -sf staging-compiler tools/nios2-linux-gnu-cpp
ln -sf staging-compiler tools/nios2-linux-gnu-ld
ln -sf cross-pkg-config tools/nios2-linux-gnu-pkg-config
chmod +x tools/
romfs-inst.sh tools/
modules-alias.sh tools/
build-udev-perms.sh . linux-2.6.x/.config; if [ "$CONFIG_INITRAMFS_SOURCE" != "" ]; then
mkdir -p `dirname $CONFIG_INITRAMFS_SOURCE`;
touch $CONFIG_INITRAMFS_SOURCE || exit 1;
fi
rm -f linux-2.6.x/usr/initramfs_data.cpio
make ARCH=nios2 CROSS_COMPILE=nios2-linux-gnu- O=/home/pierre/nios_linux_2010/nios2-linux/uClinux-dist/linux-2.6.x -j1 -C ../linux-2.6 || exit 1
make[1]: entrant dans le répertoire « /home/pierre/nios_linux_2010/nios2-linux/linux-2.6 »
nios2-linux-gnu-gcc: command not found; perhaps you need to fix your PATH?
Using /home/pierre/nios_linux_2010/nios2-linux/linux-2.6 as source for kernel
GEN /home/pierre/nios_linux_2010/nios2-linux/uClinux-dist/linux-2.6.x/Makefile
CHK include/linux/version.h
CHK include/generated/utsrelease.h
CC kernel/bounds.s
nios2-linux-gnu-gcc: command not found; perhaps you need to fix your PATH?
make[3]: *** [kernel/bounds.s] Erreur 127
make[2]: *** [prepare0] Erreur 2
make[1]: *** [sub-make] Erreur 2
make[1]: quittant le répertoire « /home/pierre/nios_linux_2010/nios2-linux/linux-2.6 »
make: *** [linux] Erreur 1
pierre@ubuntu:~/nios_linux_2010/nios2-linux/uClinux-dist$
//////////////////////////////////////////////////////////////////////////////////
I have to add CONFIGURE_HOST=nios2-linux because, without this, the prefix needed is nios2-linux-gnu witch dosen't exists for me.
But then, I have this error :
//////////////////////////////////////////////////////////////////////////////////
pierre@ubuntu:~/nios_linux_2010/nios2-linux/uClinux-dist$ CROSS_COMPILE=/home/pierre/nios_compilo/opt/nios2/bin/nios2-linux- make CONFIGURE_HOST=/home/pierre/nios_compilo/opt/nios2/bin/nios2-linux-
make -f tools/
autotools.mk autotools-cache
make[1]: entrant dans le répertoire « /home/pierre/nios_linux_2010/nios2-linux/uClinux-dist »
set -e;
mkdir -p /home/pierre/nios_linux_2010/nios2-linux/uClinux-dist/tools/autotools-cache/build//home/pierre/nios_compilo/opt/nios2/bin//$$;
cd /home/pierre/nios_linux_2010/nios2-linux/uClinux-dist/tools/autotools-cache/build//home/pierre/nios_compilo/opt/nios2/bin//$$;
gt=`../../
create-target-cache.sh /home/pierre/nios_compilo/opt/nios2/bin/nios2-linux-`;
cp $gt /home/pierre/nios_linux_2010/nios2-linux/uClinux-dist/vendors/config/$gt;
touch /home/pierre/nios_linux_2010/nios2-linux/uClinux-dist/tools/autotools-cache/build//home/pierre/nios_compilo/opt/nios2/bin/nios2-linux-
/bin/sh: ../../
create-target-cache.sh: not found
make[1]: *** [/home/pierre/nios_linux_2010/nios2-linux/uClinux-dist/tools/autotools-cache/build//home/pierre/nios_compilo/opt/nios2/bin/nios2-linux-] Erreur 127
make[1]: quittant le répertoire « /home/pierre/nios_linux_2010/nios2-linux/uClinux-dist »
make: *** [autotools-cache] Erreur 2
pierre@ubuntu:~/nios_linux_2010/nios2-linux/uClinux-dist$ CROSS_COMPILE=/home/pierre/nios_compilo/opt/nios2/bin/nios2-linux- make CONFIGURE_HOST=nios2-linuxmake -f tools/
autotools.mk autotools-cache
make[1]: entrant dans le répertoire « /home/pierre/nios_linux_2010/nios2-linux/uClinux-dist »
make[1]: Rien à faire pour « autotools-cache ».
make[1]: quittant le répertoire « /home/pierre/nios_linux_2010/nios2-linux/uClinux-dist »
chmod +x tools/
romfs-inst.sh tools/
modules-alias.sh tools/
build-udev-perms.sh . linux-2.6.x/.config; if [ "$CONFIG_INITRAMFS_SOURCE" != "" ]; then
mkdir -p `dirname $CONFIG_INITRAMFS_SOURCE`;
touch $CONFIG_INITRAMFS_SOURCE || exit 1;
fi
rm -f linux-2.6.x/usr/initramfs_data.cpio
make ARCH=nios2 CROSS_COMPILE=nios2-linux- O=/home/pierre/nios_linux_2010/nios2-linux/uClinux-dist/linux-2.6.x -j1 -C ../linux-2.6 || exit 1
make[1]: entrant dans le répertoire « /home/pierre/nios_linux_2010/nios2-linux/linux-2.6 »
Using /home/pierre/nios_linux_2010/nios2-linux/linux-2.6 as source for kernel
GEN /home/pierre/nios_linux_2010/nios2-linux/uClinux-dist/linux-2.6.x/Makefile
CHK include/linux/version.h
CHK include/generated/utsrelease.h
CC kernel/bounds.s
nios2-linux-gcc: /include: No such file or directory
nios2-linux-gcc: /include: No such file or directory
make[3]: *** [kernel/bounds.s] Erreur 1
make[2]: *** [prepare0] Erreur 2
make[1]: *** [sub-make] Erreur 2
make[1]: quittant le répertoire « /home/pierre/nios_linux_2010/nios2-linux/linux-2.6 »
make: *** [linux] Erreur 1
//////////////////////////////////////////////////////////////////////////////////
Thank you for your help.
Best regards.
Pierre