This page is deprecated

Go here instead:

Hacking RTSM to use gnome-terminal instead of xterm

xterm must be about the most useless terminal program on the planet. To hack your machine so that FastModels uses a gnome-terminal instead of an xterm, do this:

cd /usr/bin
sudo mv /usr/bin/xterm /usr/bin/xterm.orig
sudo vi xterm

Then, use the following as the contents of the file:

echo Someone is starting an xterm
echo and they are using the parameters: $@
INPUT=$@
port=`echo $INPUT| cut -d' ' -f 7`
echo but I am going to run: gnome-terminal -e "telnet localhost $port"

# This provides a simple gnome-terminal rather than an xterm
#gnome-terminal --geometry=80x24-1+0 -e "telnet localhost $port"

LOG=$HOME/logs/rtsm-`date +%s.log`
echo "Logging output to $LOG"
gnome-terminal --geometry=80x24-1+0 -e "script -c \"telnet localhost $port\" $LOG"

(Thanks to Simon for the improvements!)

Save the file, then run

chmod a+x xterm

Note, xterm will be completely broken for anything else on your machine. But hey, who else uses xterm for anything?! ;-)

Logging RTSM output to a file

To log the output of the model to a file, add the following parameters to the model command:

-C motherboard.pl011_uart0.out_
file=/tmp/somefile -C motherboard.pl011_uart0.
unbuffered_output=true

Beware that the file will get over-written every time you start the model. You could trying using a filename that incorporated the output of date, eg:

-C motherboard.pl011_uart0.out_file=/tmp/`date +%Y%m%d-%H%M%S`

Setting up networking on RTSM

Configuring your host

You need to setup bridge networking on your host to get RTSM to work:

sudo apt-get install bridge-utils
cd /linaro/aarch64/RTSM_AEMv8/ModelNetworking
sudo ln -s /sbin/brctl brctl_64

cp setup.sh setup.sh.orig

# download Bernard's patch from this page (link below)
# edit it to set your router's IP address
# and make sure the mods make sense on your network, they might not!!
patch -p1 < ModelNetworking_setup_sh_Linaro.patch

sudo ./add_adapter_64.sh
# [ follow the prompts to configure it ]

sudo service FMNetwork start

# now test that your network is still working
ping www.linaro.org

# Stop bridged networking
sudo service FMNetwork stop

Bernard's patch:

https://wiki.linaro.org/ARM/FastModels?action=AttachFile&do=get&target=ModelNetworking_setup_sh_Linaro.patch

note: this didn't work for me as is, I had to hack it to get it to work. But it was very close.

Configuring your model

You need to supply extra params to the model, eg:

model_shell64 \
-a $BOOTWRAPPER_PATH/linux-system.axf \
$WORKSPACE/RTSM_AEMv8_VE/models/Linux64_GCC-4.1/RTSM_VE_AEMv8A.so \
-C motherboard.mmc.p_mmc_file=$IMAGE_PATH/mmc.bin \
-C motherboard.hostbridge.interfaceName=ARM$USER \
-C motherboard.smsc_91c111.enabled=true \
-C motherboard.smsc_91c111.mac_address=00:02:f7:ef:67:e6

Configuring DNS in Android

Android is stupid, so you need to configure the DNS manually, eg:

root@android:/ # setprop net.dns1 192.168.1.254

Where 192.168.1.254 is my DNS server IP address, but probably not yours. Yours can often be found in /etc/resolv.conf, for example, on my system:

$ cat /etc/resolv.conf
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 192.168.1.254
nameserver 127.0.0.1

ARM/FastModels (last modified 2015-10-05 20:28:36)