| .. _gerrit_accounts: |
| |
| Requesting a Linux Foundation Account |
| ##################################### |
| |
| Contributions to the Zephyr kernel code base require a Linux Foundation account. |
| Follow the steps below to create a Linux Foundation account. |
| |
| Creating a Linux Foundation ID |
| ****************************** |
| |
| #. Go to the `Linux Foundation ID website`_. |
| |
| #. Select the option :guilabel:`I need to create a Linux Foundation ID`. |
| |
| .. figure:: figures/setting_up01.png |
| :scale: 75 % |
| :alt: linuxfoundation.org identity page |
| |
| #. Fill out the form that appears: |
| |
| .. figure:: figures/setting_up02.png |
| :scale: 75 % |
| :alt: New account form |
| |
| #. Open your email account and look for a message with the subject line: |
| "Validate your Linux Foundation ID email". |
| |
| #. Open the received URL to validate your email address. |
| |
| #. Verify the browser displays the message :guilabel:`You have successfully |
| validated your e-mail address`. |
| |
| #. Access `Gerrit`_ by selecting :guilabel:`Sign In`: |
| |
| .. figure:: figures/setting_up03.png |
| :scale: 75 % |
| :alt: Gerrit without being signed in |
| |
| #. Use your Linux Foundation ID to Sign In: |
| |
| .. figure:: figures/setting_up04.png |
| :scale: 75 % |
| :alt: Gerrit sign in screen |
| |
| Configuring Gerrit to Use SSH |
| ***************************** |
| |
| Gerrit uses SSH to interact with your Git client. A SSH private key |
| needs to be generated on the development machine with a matching public |
| key on the Gerrit server. |
| |
| If you already have a SSH key-pair, skip this section. |
| |
| As an example, we provide the steps to generate the SSH key-pair on a Linux |
| environment. Follow the equivalent steps on your OS. |
| |
| #. Create a key-pair, enter: |
| |
| .. code-block:: console |
| |
| $ ssh-keygen -t rsa -C "John Doe john.doe@example.com" |
| |
| .. note:: |
| This will ask you for a password to protect the private key as it |
| generates a unique key. Please keep this password private, and DO NOT |
| enter a blank password. |
| |
| The generated key-pair is found in: |
| :file:`~/.ssh/id_rsa` and :file:`~/.ssh/id_rsa.pub`. |
| |
| #. Add the private key in the :file:`id_rsa` file in your key ring: |
| |
| .. code-block:: console |
| |
| $ ssh-add ~/.ssh/id_rsa |
| |
| Once the key-pair has been generated, the public key must be added to Gerrit. |
| |
| Follow these steps to add your public key :file:`id_rsa.pub` to the Gerrit |
| account: |
| |
| 1. Go to `Gerrit`_. |
| |
| 2. Click on your account name in the upper right corner. |
| |
| 3. From the pop-up menu, select :guilabel:`Settings`. |
| |
| 4. On the left side menu, click on :guilabel:`SSH Public Keys`. |
| |
| 5. Paste the contents of your public key :file:`~/.ssh/id_rsa.pub` and click |
| :guilabel:`Add key`. |
| |
| .. note:: |
| The :file:`id_rsa.pub` file can be opened with any text editor. Ensure |
| that all the contents of the file are selected, copied and pasted into the |
| :guilabel:`Add SSH key` window in Gerrit. |
| |
| .. warning:: |
| Potential Security Risk! Do not copy your private key |
| :file:`~/.ssh/id_rsa` Use only the public :file:`~/.ssh/id_rsa.pub`. |
| |
| .. _code_check_out: |
| |
| Checking Out the Source Code |
| **************************** |
| |
| #. Ensure that SSH has been set up properly. See |
| `Configuring Gerrit to Use SSH`_ for details. |
| |
| #. Clone the repository with your Linux Foundation ID (<LFID>): |
| |
| .. code-block:: console |
| |
| $ git clone ssh://<LFID>@gerrit.zephyrproject.org:29418/zephyr zephyr-project |
| |
| You have successfully checked out a copy of the source code to your local |
| machine. |
| |
| .. important:: |
| Linux users need to download the Zephyr SDK even after successfully |
| cloning the source code. The SDK contains packages that are not part of |
| the Zephyr Project. See :ref:`zephyr_sdk` for details. |
| |
| Gerrit Commit Message Hook |
| ************************** |
| |
| .. include:: gerrit_practices.rst |
| :start-line: 42 |
| :end-line: 49 |
| |
| .. _Linux Foundation ID website: https://identity.linuxfoundation.org |
| |
| .. _Gerrit: https://gerrit.zephyrproject.org/ |