mirror of
https://github.com/genodelabs/genode.git
synced 2024-12-26 00:41:08 +00:00
31d57a6257
Implies support for the ARMv6 architecture through 'base-hw'. Get rid of 'base/include/drivers' expect of 'base/include/drivers/uart'. Merge with the support for trustzone on VEA9X4 that came from Stefan Kalkowski. Leave board drivers in 'base/include/platform'. Rework structure of the other drivers that were moved to 'base_hw/src/core' and those that came with the trustzone support. Beautify further stuff in 'base_hw'. Test 'nested_init' with 'hw_imx31' (hardware) and 'hw_panda_a2' (hardware), 'demo' and 'signal' with 'hw_pbxa9' (qemu) and 'hw_vea9x4' (hardware, no trustzone), and 'vmm' with 'hw_vea9x4' (hardware, with trustzone).
93 lines
2.6 KiB
Plaintext
93 lines
2.6 KiB
Plaintext
|
|
==================================================
|
|
Getting started with 'base-hw' on Freescale i.MX31
|
|
==================================================
|
|
|
|
|
|
Martin Stein
|
|
|
|
Abstract
|
|
########
|
|
|
|
This is a short tutorial that depicts a handy way to get a Genode ELF-image,
|
|
build with 'base-hw', started on the Freescale i.MX31. For informations
|
|
about how to build Genode images with 'base-hw', have a look at
|
|
'<GENODE_DIR>/base-hw/doc/hw.txt'. This tutorial is dedicated to common
|
|
Linux systems, but all examples originate from a Ubuntu 11.10.
|
|
|
|
|
|
Tutorial
|
|
########
|
|
|
|
Connect the i.MX31 to your local Ethernet through its RJ45 connector.
|
|
Additionally connect the i.MX31 to your machine through its COM port.
|
|
We use the bootloader that is installed on the board by the manufacturer, it's
|
|
the LogicLoader by Logic Product Development, Version 2.3.5-IMX31_10 0001.
|
|
Now install the following packages to communicate with the i.MX31:
|
|
|
|
! apt-get install tftp-hpa minicom
|
|
|
|
Open '/etc/default/tftpd-hpa' with a text editor and ensure that it has
|
|
the following content:
|
|
|
|
! TFTP_USERNAME="tftp"
|
|
! TFTP_DIRECTORY="/var/lib/tftpboot"
|
|
! TFTP_ADDRESS="0.0.0.0:69"
|
|
! TFTP_OPTIONS="-l"
|
|
|
|
Tell TFTP wich image to provide:
|
|
|
|
! cd /var/lib/tftpboot/
|
|
! ln -s <GENODE_BOOT_ELF> image.elf
|
|
|
|
Where '<GENODE_BOOT_ELF>' is the absolute path of the targeted ELF image.
|
|
Start TFTP to enable the upload of the image:
|
|
|
|
! service tftp-hpa restart
|
|
|
|
Precautionary determine the inet address of your TFTP machine:
|
|
|
|
! ifconfig
|
|
|
|
Start Minicom in configuration mode:
|
|
|
|
! minicom -s
|
|
|
|
Go to 'Serial port setting' and ensure that the device is set to the
|
|
TTY of the COM port you've conntected the i.MX31 with. In my case it was
|
|
'/dev/ttyS0'. Configure the other settings for a baud rate of '115200',
|
|
8 bit char length, no parity and 1 stop bit. Quit Minicom and start
|
|
it once more in a dedicated terminal:
|
|
|
|
! minicom
|
|
|
|
Plug in the i.MX31 power connector or push the 'S1' button if the i.MX31 is
|
|
already powered. Minicom should now show the following message below some
|
|
bootloader info:
|
|
|
|
! losh>
|
|
|
|
We have to start DHCP first, so in the Minicom console type:
|
|
|
|
! ifconfig sm0 dhcp
|
|
|
|
Wait until DHCP is started:
|
|
|
|
! Starting DHCP on sm0 ...
|
|
! losh>
|
|
|
|
Then load the Genode image:
|
|
|
|
! load elf /tftp/<INET_ADDR>:/var/lib/tftpboot/image.elf
|
|
|
|
Where '<INET_ADDR>' is the inet address of your TFTP machine.
|
|
To execute the loaded image type:
|
|
|
|
! exec start
|
|
|
|
Now your Genode scenario should start and offer its debug output
|
|
in Minicom. You can boot other images by redirecting the link
|
|
'/var/lib/tftpboot/image.elf' accordingly, restarting your i.MX31
|
|
and instructing LogicLoader again as described above.
|
|
|