Developer Manual/Tools/Cygwin

From coreboot
Revision as of 06:56, 11 June 2013 by PatrickGeorgi (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

The following Howto by Jiming Sun from Intel details how to configure a Cygwin setup as a coreboot development environment.

  1. $ git clone http://review.coreboot.org/coreboot.git # Get the coreboot code
  2. $ cd /cygdrive/c # this is your C drive
  3. $ cd source/coreboot # assuming you have downloaded coreboot code under C:\source
  4. $ cd util/crossgcc
  5. $ ./buildgcc
  6. Wait for it finish in about 30 minutes, including download and build; if it fails, it might be your firewall preventing it from downloading. Sometimes, if you download or use an older version of coreboot, the ./buildgcc may not finish due to either mismatched package names or mismatched versions.
  7. Once “./buildgcc” is done, you have all the GCC tools available to you.
  8. At this point, you should have all the tools you need for building a coreboot project.
  9. Now, let’s try to build it:
    1. $ cd source/coreboot # or wherever your coreboot source code is
    2. $ make menuconfig # to make sure you have the right platform, chipset, and other options you want to build, but you may skip this step if you just want to build an existing project
    3. If your "make" shows error messages like "Permission Denied", you need to fix up access permissions. In cygwin, run "chmod -R a+rwX ." from the coreboot directory (/cygdrive/c/source/coreboot in the example above). Note that the arguments are case sensitive.
    4. If you receive a message “.xcompile:1: no suitable gcc found”, You have a .xcompile file hanging around from a previous failed build. Delete the .xcompile file from /cygdrive/c/source/coreboot directory and try again.
    5. Once you used "chmod" to resolve permission denied errors and deleted the .xcompile file, try “make clean” and “make” again.
  10. You should see the build complete with a ROM image map showing at the end.