diff options
Diffstat (limited to 'RTSM.textile')
-rw-r--r-- | RTSM.textile | 108 |
1 files changed, 108 insertions, 0 deletions
diff --git a/RTSM.textile b/RTSM.textile new file mode 100644 index 0000000..c730a1a --- /dev/null +++ b/RTSM.textile @@ -0,0 +1,108 @@ +h1. Real-Time System Model (RTSM) + +h2. Prerequisites + +* Install the RTSM model(s) you wish to run. You must have a valid license and the environment set up to run models +* Install "linaro-image-tools":https://wiki.linaro.org/Linaro-Image-Tools +* Install kpartx which you can get by issuing the following command in your terminal + +bc. sudo apt-get install kpartx + +Linaro Ubuntu images are made up of two components. The "Hardware Pack":https://wiki.linaro.org/HardwarePacks, which contains the kernel, boot loader and/or Device Tree blob and a Root file system (RootFS) of your choice to generate an image. + +The root file systems are described "here":http://releases.linaro.org/12.09/ubuntu/precise-images where you can also download them. + +h3. Install Linaro Image Tools + +There are multiple ways you can get the latest Linaro Image Tools: + +** Method 1: Install them from the Linaro Image Tools "PPA":https://launchpad.net/~linaro-maintainers/+archive/tools + +bc. + sudo add-apt-repository ppa:linaro-maintainers/tools@ + sudo apt-get update@ + sudo apt-get install linaro-image-tools@ + +** Method 2: Building from source. + +bc. wget http://releases.linaro.org/12.10/components/platform/linaro-image-tools/linaro-image-tools-2012.10.1.tar.gz + +h2. Create a 2GB image file + +RTSM will only deal with file systems up to 2GB in size, however the pre-built image for Ubuntu requires a 4GB filesystem. Therefore we will build our own image using the pre-built artifacts, as obtained in the Binary Image Installation tab on this page. + +We use a "Nano":http://releases.linaro.org/12.09/ubuntu/precise-images RootFS for this example, however, you could use other RootFS types so long as you can install it to a 2GB file. Note, you will also need the @boot.tar.bz2@ file from the Android release. + +Using the following command, you will download the nano RootFS, the hardware back and the boot.tar.gz you need from the Android build. + +bc. + wget \ + http://releases.linaro.org/12.09/ubuntu/precise-images/nano/linaro-precise-nano-20120923-417.tar.gz \ + http://releases.linaro.org/12.09/ubuntu/vexpress/hwpack_linaro-vexpress_20120925-322_armhf_supported.tar.gz \ + http://releases.linaro.org/12.09/android/images/vexpress-jb-gcc47-armlt-tracking-open/boot.tar.bz2 + +Now you need to create the image using the following commands. + +bc. + sudo linaro-media-create \ + --dev vexpress \ + --rootfs ext4 \ + --image-file linaro.img \ + --image-size 2000M \ + --hwpack-force-yes \ + --binary linaro-precise-nano-20120923-417.tar.gz \ + --hwpack hwpack_linaro-vexpress_20120925-322_armhf_supported.tar.gz + +bc. + sudo kpartx -a linaro.img + mkdir boot + sudo mount /dev/mapper/loop0p1 boot + cp boot/uImage . + cp boot/uInitrd . + sudo umount boot + tar jxvf boot.tar.bz2 + +h2. Run A15x4 model + +This example shows how to run the Linaro kernel on a quad core A15 RTSM model: + +bc. + RTSM_MODEL=$HOME/ARM/RTSM/Linux64_RTSM_VE_Cortex-A15x4/RTSM_VE_Cortex-A15x4 + RTSM_BOOTWRAPPER=boot/rtsm/linux-system-semi.axf + RTSM_MMC=linaro.img + RTSM_KERNEL=uImage + RTSM_DTB=boot/rtsm/rtsm_ve-ca15x4.dtb + RTSM_INITRD=uInitrd + RTSM_CMDLINE="console=ttyAMA0,115200n8 root=/dev/mmcblk0p2 rootwait ro mem=1024M ip=dhcp" + +bc. + $RTSM_MODEL \ + $RTSM_BOOTWRAPPER \ + -C motherboard.smsc_91c111.enabled=1 \ + -C motherboard.hostbridge.userNetworking=1 \ + -C motherboard.mmc.p_mmc_file="$RTSM_MMC" \ + -C cluster.cpu0.semihosting-cmd_line="--kernel $RTSM_KERNEL --dtb $RTSM_DTB --initrd $RTSM_INITRD -- $RTSM_CMDLINE" + +h2. Run A15x4-A7x4 model + +This example shows how to run the Linaro kernel on a big.LITTLE RTSM model: + +bc. + RTSM_MODEL=$HOME/ARM/RTSM/Linux64_RTSM_VE_Cortex-A15x4-A7x4/RTSM_VE_Cortex-A15x4-A7x4 + RTSM_BOOTWRAPPER=boot/rtsm/linux-system-semi.axf + RTSM_MMC=linaro.img + RTSM_KERNEL=uImage + RTSM_DTB=boot/rtsm/rtsm_ve-ca15x4-ca7x4.dtb + RTSM_INITRD=uInitrd + RTSM_CMDLINE="console=ttyAMA0,115200n8 root=/dev/mmcblk0p2 rootwait ro mem=1024M ip=dhcp" + +bc. + $RTSM_MODEL \ + -a coretile.cluster0.*=$RTSM_BOOTWRAPPER \ + -a coretile.cluster1.*=$RTSM_BOOTWRAPPER \ + -C motherboard.smsc_91c111.enabled=1 \ + -C motherboard.hostbridge.userNetworking=1 \ + -C motherboard.mmc.p_mmc_file=$RTSM_MMC \ + -C coretile.dualclustersystemconfigurationblock.CFG_ACTIVECLUSTER=0x3 \ + -C coretile.cluster0.cpu0.semihosting-enable=1 \ + -C coretile.cluster0.cpu0.semihosting-cmd_line="--kernel $RTSM_KERNEL --dtb $RTSM_DTB --initrd $RTSM_INITRD -- $RTSM_CMDLINE" |