= GCI Hello World Task = [[PageOutline]] This task consists of following the instructions at [wiki:GSoC/GettingStarted GSOC Getting Started] and helping improve the instructions. We prefer you use a GNU/Linux distribution if possible, as these tend to be the best supported. == Directions for Students == Follow the instructions at https://devel.rtems.org/wiki/GSoC/GettingStarted **EXCEPT**: * Use your favorite host operating system to do this. You can do this on Windows using MSYS2, a GNU/Linux distribution, MacOS, FreeBSD, etc. Guidance on many operating systems is in the [https://docs.rtems.org/branches/master/rsb/hosts.html# Hosts] section of the RTEMS Source Builder [https://docs.rtems.org/branches/master/rsb manual]. * In many cases, you can use [http://www.virtualbox.org Virtualbox] to execute the operating system virtually. Many operating system images are available are available at https://virtualboxes.org/images/ and https://www.osboxes.org/virtualbox-images/. This allows you to use a Windows computer to run a virtual machine with GNU/Linux or FreeBSD. Note that the virtual machines there may need to be updated and have extra packages installed to be suitable for building RTEMS tools and RTEMS itself. * Build your own tools using the [wiki:Developer/Tools/RSB RTEMS Source Builder (RSB)] add "no clean" option and report the disk space used by the build, and the build time along with specs on the machine and OS you used. * '''Report back on the process''' to help us improve the [wiki:GSoC/GettingStarted GSoC Getting Started] page to be current, clear, and correct. * '''Submit a git patch''' [https://devel.rtems.org/wiki/Developer/Git/Users#CreatingaPatch HowTo create git patch] to your GCI claimed task (GCI website). * '''Submit a screenshot''' of your modified running Hello World program to your GCI claimed task (GCI website). * Fill in an entry in the Feedback table below. * If you run into trouble, ask for help on the [wiki:TBR/Website/RTEMSMailingLists RTEMS Users mailing list], [wiki:Developer/IRC IRC channel], or use Google to search for similar problems others may have experienced before. === Feedback === Note: Some sample feedback from previous years is included. ||'''Student''' || '''Host OS''' || '''RTEMS Target''' || '''Feedback''' || Brydog. || Arch Linux || sparc-rtems4.11 || While compiling the tools and RTEMS I only encountered two problems. The first one was with binutils; for some reason, it refused to compile outside the source directory, so I compiled it in the source directory. The second problem was with building RTEMS itself. The error was easy to fix though and just required removing the --disable-posix flag when calling ./configure. || Kev || Linux Mint 13 LTS || sparc-rtems4.11 || I made lots of errors myself, but overall the instructions were fairly clear. Perhaps the RSB Quick Start should explain moving executables a bit more (like where to find them) and the RTEMS Quick Start should have remarked that you should put export the PATH to the tools bin you compiled. I needed python2.7-dev installed. || Naive. || Ubuntu || sparc-rtems4.11 || I found the directions straightforward, although I do admit I had some trouble from time to time. It also seemed like several pages contradicted each other, but that might have been on my side due to my lack of experience. || Ralphhhh. || Linux Mint 17.1 || sparc-rtems4.11 || Instructions were very clear and simple to follow, albeit spread over several pages. Compiling RBS was simple, with the error messages clear (I only had to install CSV). Finding information was easy, and compilation was successful first time (with slight modifications to certain paths to match my projects directory path). I should probably note that I likely had most of the dependencies for compiling RBS, etc. already as I had previously manually built a cross-targeted GCC (and so I was already aware of such things as adding targeting executables to the path, as well as using git relatively proficiently, thus I did not need to locate information on such topics). The source tree of RTEMS is simple to navigate, and there were no issues with rebuilding and debugging/running a modified executable. || Tan || Ubuntu 15.10 || sparc-rtems4.11 || I had a fairly difficult time doing the task both because of some errors in the instructions and some of my own. However, most of these could be solved by looking at the logs and searching around a bit. Two problems I had in particular were that build-rep chose python2.7 instead of python2.7-dev and I had to install it directly and the package for git-send-email was named git-email unlike what the instructions said. The first one was especially problematic because I didn't understand the problem until I looked at the error log instead of the incomprehensibly long build log. || MichaƂ || Arch Linux || sparc-rtems4.11 || Instructions were relly easy to follow, I had no problem building RTEMS. Unfortunatelly, RSB scripts assume that {{{/usr/bin/python}}} is {{{python2}}}, but that's an issue with nearly every build script and it's easy to solve, so it was not a big problem. || OP. || Ubuntu and OS X || sparc-rtems4.11 || When I built RTEMS the first time on Ubuntu, I thought the instructions were relatively clear, but at sometimes seemed vague to me. I had a few errors when trying to build the tool set with RSB, so I had to dig around in the log files multiple times. When I built RTEMS on OS X, it didn't take long and I found it much easier than doing it on Ubuntu, probably because I already had experience. I was able to get it working the first time. == Directions for Mentors == Verify the patch, screenshot, and read the feedback above.