1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
|
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 RootFS can be:
* "Nano":http:// - a very small file system that support command prompt (no X)
* "Developer":http://linktodveloper - a very small file system like the nano but with basic X support
* "ALIP":http:linktoALIP (ARM Linux Internet Platform) - A medium sized file system with full "LXDE":http://lxde.org/ light graphical desktop environment
* "Ubuntu":http://linktoubunturootfs - A full fledged file system based on the Ubuntu 12.04 Desktop environment
?? Need to see if 12.10 is based off the 12.10 or the 12.05 FS ??
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.
?? I am afraid I don't follow. Can we make this clearer. Instead of "However" shouldn't we say that we can't use the Ubuntu file system? ??
We use a "nano":https://wiki.linaro.org/Platform/DevPlatform/Nano RootFS for this example, however, you could use other RootFS types, as mentioned above, 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"
|