2011-07-08-EmbeddedLinuxSessions

Revision 6 as of 2011-07-23 00:54:21

Clear message

Embedded Linux Session 1

Agenda items:

  1. What's embedded Linux?
  2. What do we want to do with embedded Linux?
  3. What do we need?

Present:

  • Mohamed Nour El-Din
  • Islam Hassan
  • Haitham Al-Ghareeb
  • Mahmoud Tantawy
  • Ahmed Mamdouh
  • Samar Ali
  • Osama Mongy
  • Anas Emad

Points covered:

  • The main steps of developing embedded Linux:
    1. Compiling the kernel
    2. Compiling the file system
    3. Adding utilities to the file system
    4. Installing the boot loader onto the board
    5. Deploying the system on the board

Conclusion:

  • We'll make our own embedded Linux edition using tools to automate the process like openEmbedded.

  • We'll will use a ready made cross compiler like crosstool-ng.

  • We agreed to study the introduction to Linux command line tutorial from free-electrons.com before the next meeting and download the embedded Linux tutorial that would be used for the rest of the workshop Download both from here.

  • The next meeting will be either in Offok center in Muhandessin, or, if they didn't agree, a center near Rab'a Al-Adaweya Mosque. The meeting time is next Friday (15/ Jul) at 2 P.M. as indicated in the team's Google calender and loco event.

Embedded Linux Session 2

Agenda:

  • How to develop embedded Linux.

Points covered:

  1. Why embedded Linux?
    1. Re-using components.
    2. Low cost.
    3. Quality.
    4. Full control.
    5. ease of testing new features.
    6. Community support.
  2. Systems running embedded Linux.
  3. Hardware:
    1. processors and architectures.
    2. RAM and storage.
    3. Communication.
    4. Types of hardware platforms.
    5. Criteria for choosing hardware.
  4. Embedded Linux system architecture.
    1. Global architecture.
    2. Software components.
      1. Cross-compilation tool chain.
      2. Boot loader.
      3. Linux Kernel.
      4. C library.
      5. Libraries and applications.
  5. Embedded Linux development environment.
    1. Vendor solutions VS community solutions.
    2. OS for Linux development.
    3. Root and non-root users.
    4. Software packages.
    5. Host VS target machines.
    6. Serial line communication.
  6. Cross-compiling tool chains.
    1. Definition.
    2. Components.
    3. Binutils.
    4. Kernel headers.
    5. GCC Compiler.
    6. C Library
      1. glibc.
      2. uClibc.
      3. eglibc.
      4. Other smaller C libraries.
    7. Machines in build procedures.
    8. Different tool chain build procedures.
    9. ABI.
    10. Floating point support.
    11. CPU Optimization flags. i.Building a tool chain manually.
    12. Getting a pre-compiled tool chain.
    13. Tool chain building utilities.
    14. Crosstool-NG: Building and installation.

Present:

  • Mohamed Nour El-Din.
  • Islam Hassan.
  • Ahmed Mamdouh.

Conclusion:

  • We should download, build and install crosstool-ng and buildroot and get familiar with them.
  • We should apply the labs associated with the points covered. Labs are in a separate PDF file downloaded from the same page where the slides PDF was.