= Booting Barrelfish on PandaBoard = If you are building Barrelfish for the first time, please have a look at the `README` file and the notes given in [[Getting_Started]]. Instructions how to get an extra serial/uart interface connected to your computer are [[PandaBoard/ExtraSerial|here]]. == Toolchain == In addition to the requirements listed in [[Getting_Started]], we are using the Ubuntu/Linaro toolchain for cross-compiling ARM. {{{ $ arm-linux-gnueabi-gcc --version arm-linux-gnueabi-gcc (Ubuntu/Linaro 5.4.0-6ubuntu1~16.04.1) 5.4.0 20160609 Copyright (C) 2015 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. }}} == Building a Barrelfish PandaBoard image == We need to build for `armv7` and then run `make PandaboardES`: {{{ $ mkdir build; cd build $ ../tip/hake/hake.sh -i . -s ../tip/ -a armv7 }}} Then run the following: {{{ $ make -j4 PandaboardES ... OK - pandaboard boot image is built. }}} This creates the boot image `armv7_omap44xx_image`. == Building usbboot == To boot `armv7_omap44xx_image` on a Pandaboard we need `usbboot`. The Barrelfish source tree now contains a copy of `usbboot`. Additional packages for building it are required: {{{ sudo apt-get install libusb-1.0-0-dev freebsd-glue libfreebsd-glue-0 libelf-freebsd-dev }}} The Makefile will build `usbboot` on demand. It can be built explicitly using {{{ make tools/bin/usbboot }}} == Booting barrelfish == Connect to the serial: {{{ $ picocom -b 115200 /dev/ttyUSB0 }}} And boot PandaBoard using `usbboot` {{{ make usbboot_panda }}} You should see Barrelfish booting on your `picocom` window: {{{ MMU enabled paging_arm_reset: base: 0x80000000, length: 0x40000000. invalidate cache invalidate TLB startup_early kernel_startup_early done! paging_map_device_section: 0x8400c000, 0xffe00000, 0x48020000. omap serial_init[2]: base = 0xffe00000 0xffe20000 omap serial_init[2]: done. Barrelfish CPU driver starting on ARMv7 OMAP44xx Board id 0x000008e0 ... }}}