How to update NELK

From DAVE Developer's Wiki
Jump to: navigation, search
Info Box
Naon am387x-dm814x.png Applies to Naon
Maya 03.png Applies to Maya
Dido-main.png Applies to Dido
VirtualMachine.png Applies to DVDK

Introduction

This page describes how to perform the NELK update procedure, starting from an existing DVDK installation and updating only the SDK (tools, sources and root file system) without creating a full new DVDK virtual machine.


200px-Emblem-important.svg.png We assume that the DVDK provided with a previous kit version is already installed on the system 200px-Emblem-important.svg.png

Updating git repositories

Starting with NELK 4.0.0, the following source trees are clones of DAVE Embedded Systems public git repositories:


Component GIT Remote NELK Installation Directory
EZSDK * git@git.dave.eu:dave/naon/sdk-x.xx.xx.xx.git /home/shared/devel/dave/naon-DAA/sw/linux/sdk/sdk-x.xx.xx.xx
Linux git@git.dave.eu:dave/naon/linux-omap3.git /home/shared/devel/dave/naon-DAA/sw/linux/sdk/sdk-x.xx.xx.xx/board-support/linux-omap3.git
U-Boot git@git.dave.eu:dave/naon/u-boot-omap3-arago.git /home/shared/devel/dave/naon-DAA/sw/linux/sdk/sdk-x.xx.xx.xx/board-support/u-boot-omap3-arago.git
GStreamer git@git.dave.eu:dave/naon/gstreamer_ti.git /home/shared/devel/dave/naon-DAA/sw/linux/sdk/sdk-x.xx.xx.xx/component-sources/gstreamer_ti

This means that these components can be kept in sync and up to date with DAVE Embedded Systems repositories.

  • N.B. sdk-x.xx.xx.xx is just a placeholder that must be replaced with the actual sdk version (eg: sdk-5.05.02.00).

RSA key generation

Please follow the procedure reported below to generate the RSA ssh key:

  • select your username (ad es. username@myhost.com)
  • start the DVDK and login into the virtual machine
  • start a shell session
  • enter the .ssh subdirectory into your home directory: cd ~/.ssh/
  • launch the following command:
    ssh-keygen -t rsa -C "username@myhost.com" -f username@myhost.com
  • this command creates the files ~/.ssh/username@myhost.com (private key) and ~/.ssh/username@myhost.com.pub (public key)
  • edit your ~/.ssh/config adding the following lines:
Host git.dave.eu
    User git
    Hostname git.dave.eu
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/username@myhost.com

Please send the public key file to one of the following email support addresses (depending on which SOM is included in your kit version)

with the request for the creation of a new public git account associated to your username. The support team will enable the account and send you a confirmation as soon as possible.

Synchronizing the repository

When the account is enabled, you can synchronize a source tree entering the repository directory and launching the git fetch command, like in the following example:

nelk@nelk-desktop:~$ cd /home/shared/devel/dave/naon-DAA/sw/linux/sdk/sdk-5.05.02.00/board-support/linux-omap3.git/
nelk@nelk-desktop:/home/shared/devel/dave/naon-DAA/sw/linux/sdk/sdk-5.05.02.00/board-support/linux-omap3.git$ git fetch origin

Please note that git fetch doesn't merge the commits on the current branch. To do that, you should run

nelk@nelk-desktop:/home/shared/devel/dave/naon-DAA/sw/linux/sdk/sdk-5.05.02.00/board-support/linux-omap3.git$ git merge origin/naon

or replace the fetch-merge process with a single git pull command. Please note that the recommended method is the fetch-merge process. For further information on Git, please refer to Git Documentation.

Installing the upgrade package

200px-Emblem-important.svg.png The update package consists in a compressed archive (nelk-x.y.x.tar.bz2). Please send your request to the email support address 200px-Emblem-important.svg.png
  1. Start the DVDK virtual machine
  2. Take a snapshot of the current VM state. This creates a sort of "backup" on your host machine that can be used to restore the previous installation. We recommend to take the snapshot because to do the update you need to remove the previous SDK (unless you have extended the disk space - see VirtualBox Extending Disk Size)

    Vm-take-snapshot.png

  3. Fetch the nelk-x.y.x.tar.bz2 file. You several options, including the following:
    • downloading it from inside the virtual machine (with a browser or file downloader);
    • sharing the file from a shared folder on the host machine using the "Shared Folder" feature (you need to have the Virtual Guest extension installed, see VirtualBox Shared folders);
    • sharing the file from a shared folder on the local network (you need to have a working network configuration, see VirtualBox Network Configuration;
  4. Open a terminal emulator
  5. Enter the sdk directory: cd /home/shared/devel/dave/naon-DAA/sw/linux/sdk
  6. Remove the symbolic link to the root file system: rm rfs/nelk
  7. Check the available disk space: df -m
    • if you have more than 3 GB available (check the /dev/sda1 line), you can proceed to the next step without removing the previous sdk version
    • if you have less than 3 GB available, you can follow the VirtualBox Extending Disk Size guide to free some space and continue the procedure to the next step; otherwise, you must remove the previous sdk directory: rm -fr sdk-x.xx.xx.xx
  8. Un-compress the archive: sudo tar xvjf <path-to-update-archive>nelk-x.y.z.tar.bz2. Include in the command the actual path to the nelk-x.y.x.tar.bz2 archive according on how you fetched it

The new components (sdk-x.xx.xx.xx directory, rfs/nelk-x.xx.xx.xx root file system and rfs/nelk symbolic link) will be installed into the /home/shared/devel/dave/naon-DAA/sw/linux/sdk directory.