sudo apt-get install aptitude http://releases.linaro.org/12.06/ubuntu/precise-images/nano/ ------------ /* Install nesessary packages to Ubuntu 12.04 64bit for cross compiling */ $sudo apt-get install gcc-arm-linux-gnueabi binutils-arm-linux-gnueabi linux-libc-dev-armel-cross libc6-armel-cross libc6-dev-armel-cross Downloaded FE000-KT-00002-r7p1-47rel0.tgz from https://silver.arm.com/ /* Install the FastModels */ $tar xzvf FE000-KT-00002-r7p1-47rel0.tgz $cd FastModels_7-1-047_Linux $./setup.bin /* Install gcc-4.4 on Ubuntu 12.04 64bit */ $sudo apt-get install gcc-4.4 $sudo apt-get install g++-4.4 /* set symbolic link to gcc 4.4 otherwise 4.6 will be used and have errors */ $cd FastModelsTools_7.1/bin $ln -s /usr/bin/g++-4.4 g++ $ln -s /usr/bin/gcc-4.4 gcc /* build the model for FastModles */ $. FastModelsTools_7.1/source_all.sh $sgcanvas - File --> Load Project FastModelsPortfolio_7.1/examples/RTSM_VE/Build_Cortex-A15x2/RTSM_VE_Cortex-A15x2.sgproj - Change from Linux-Release-GCC-4.1 to Linux64-Release-GCC-4.4 - Setting -> Target -> check "integrated simulator" - Project --> Build System /* to check "cadi_system_Linux64-Release-GCC-4.4.so" is successfully built */ $cd FastModelsPortfolio_7.1/examples/RTSM_VE/Build_Cortex-A15x2/Linux64-Release-GCC-4.4/ $model_shell -m ./cadi_system_Linux64-Release-GCC-4.4.so ../../../../images/brot_ve.axf // it is fine, if it shows GUI demo $sudo apt-get install git /* build the boot wrapper */ $git clone git://git.linaro.org/arm/models/boot-wrapper.git $cd boot-wrapper $make CROSS_COMPILE=arm-linux-gnueabi- linux-system-semi.axf $cd .. /* to check "linux-system-semi.axf" is successfully built */ $model_shell -m ./cadi_system_Linux64-Release-GCC-4.4.so boot-wrapper/linux-system-semi.axf // it is fine because it will list the parameters for the boot wrapper /* build the device tree image */ $sudo apt-get install device-tree-compiler $git clone git://linux-arm.org/arm-dts.git //use the attached "rtsm_ve-cortex_a15x2_32.dts" $cp rtsm_ve-cortex_a15x2_32.dts arm-dts/fast_models/. $dtc -O dtb arm-dts/fast_models/rtsm_ve-cortex_a15x2_32.dts > fastmodel-a15x2.dtb /* get kernel source */ //go to directory where you would like to build kernel $git clone git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git $git checkout v3.4.7 <- any later stable version should be fine $sudo apt-get install libncurses5-dev /* build the kernel for soft-float */ $cd linux-stable $export ARCH=arm $export CROSS_COMPILE=arm-linux-gnueabi- //use the attached "vexpress_rtsm_defconfig_3.4.7-2" $cp vexpress_rtsm_defconfig_3.4.7-2 .config $make oldconfig $make -j8 // zImage in arch/arm/boot/ /* Download Oneric Nano LEB image */ http://releases.linaro.org/12.03/ubuntu/oneiric-images/nano/linaro-o-nano-tar-20120327-1.tar.gz /* extract Oneric Nano rootfs */ $cd /srv/ $sudo mkdir arm-nano-root/ $cd arm-nano-root/ $sudo tar xzvf /home/****/Document/linaro/images/nano/linaro-o-nano-tar-20120327-1.tar.gz /* create a new tty for ttyAMA0 */ $cd binary/boot/filesystem.dir/etc/init $sudo cp tty1.conf ttyAMA0.conf $sudo vi tty0.conf // change the line "exec /sbin/getty -8 38400 tty1" as bellow exec /sbin/getty -8 38400 ttyAMA0 $sudo apt-get install chkconfig $sudo apt-get install nfs-kernel-server $sudo apt-get install nfs-common /* export Oneric Nano rootfs with NFS */ $sudo vi /etc/exports //add the following one line /srv/arm-nano-root/binary/boot/filesystem.dir *(rw,sync,no_root_squash,no_subtree_check) $sudo service nfs-kernel-server restart /* to check exported Oneric rootfs can mount properly */ $sudo mount -t nfs 127.0.0.1:/srv/arm-nano-root/binary/boot/filesystem.dir/ /mnt $ll /mnt // if the directories of rootfs are shown, it is OK $sudo apt-get install bridge-utils /* Setting-up tap bridge network for the FastModels */ $cd FastModelsPortfolio_7.1/ModelNetworking //use the attached "ModelNetworking_setup_sh_Linaro_1.patch" $patch -p1 < ModelNetworking_setup_sh_Linaro_1.patch //follow the instruction of chapter 2.13 http://infocenter.arm.com/help/topic/com.arm.doc.dui0370n/DUI0370N_fast_model_ug.pdf $./add_adapter_64.sh /* start Oneric Nano LEB on FastModels */ $./isim_system boot-wrapper/linux-system-semi.axf -C motherboard.hostbridge.interfaceName=ARMakirat -C motherboard.smsc_91c111.enabled=1 -C motherboard.smsc_91c111.mac_address=auto -C cluster.cpu0.semihosting-cmd_line="--kernel ../../../../../../../kernel/linux-stable/arch/arm/boot/zImage --dtb fastmodel-a15x2.dtb -- console=ttyAMA0,38400n8 mem=512M earlyprintk noinitrd root=/dev/nfs nfsroot=192.168.1.103:/srv/arm-nano-root/binary/boot/filesystem.dir/,tcp rw ip=dhcp nfsrootdebug" //user:linaro password:linaro for login //check /var/log/kern.log if any errors during the booting /* after shuting down Nano LEB, deleting the network tap bridge */ $sudo service FMNetwork stop ------------