Getting started with 'genode/base-hw' on PandaBoard A2
This is a short tutorial that depicts a handy way to get a Genode ELF image, build with base-hw, started on the PandaBoard A2. It is dedicated to common Linux systems, but all examples originate from a Ubuntu 10.10.
Tutorial
Connect the PandaBoard to your local Ethernet through its RJ45 connector. Additionally connect the PandaBoard to your machine through its COM port. Ensure that you have installed the genode tool chain that is available at:
- http://genode.org/download/tool-chain
-
Get the genode tool chain]
Ensure that <GENODE_GCC_DIR>/bin/ is in your PATH variable. Get the linaro U-Boot repository and compile U-Boot for PandaBoard:
git clone git://git.linaro.org/boot/u-boot-linaro-stable.git cd <UBOOT_DIR> make CROSS_COMPILE=genode-arm- omap4_panda_config make CROSS_COMPILE=genode-arm-
During the compilation i had some errors. The first was in assembly code, it seemed to originate from a slip with the typo and was easy to fix. The second kind of errors occured because the GCC version had no support for direct array initialization, thus i avoided them by simply initialize the array elements separately.
Now install the following packages to communicate with the PandaBoard:
sudo apt-get install tftp-hpa minicom
Open /etc/default/tftpd-hpa with a text editor and ensure that it has the following content:
# /etc/default/tftpd-hpa TFTP_USERNAME="tftp" TFTP_DIRECTORY="/var/lib/tftpboot" TFTP_ADDRESS="0.0.0.0:69" TFTP_OPTIONS="-l"
Tell U-Boot wich image to load on boot command:
cd /var/lib/tftpboot/ ln -s <GENODE_BOOT_ELF> image.elf
Start TFTP to enable the upload of the image:
sudo service tftp-hpa restart
Start Minicom in configuration mode:
minicom -s
Go to Serial port setting and ensure that the device is set the TTY of the COM port you've conntected PandaBoard 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:
minicom
Mount your SD-card and copy the U-Boot files to its boot partition:
cd <UBOOT_DIR>; cp MLO /media/boot/; cp u-boot.bin /media/boot/
Unmount the SD card and insert it into the appropriate PandaBoard slot. Plug in the power connector or push the S1 button if the PandaBoard is already powered.
Minicom should now show the following message:
Hit any key to stop autoboot:
We have to stop autoboot and type in this line to load and boot the genode image via ethernet:
usb start; dhcp; bootelf 0x82000000
Now the ELF image should start correctly and offer some debug output in minicom. You can now boot further images by redirecting the link /var/lib/tftpboot/image.elf accordingly, restarting your pandaboard and instructing uboot again as described above.