Questions for the textbook

Chris Simmonds, Mastering Embedded Linux Programming, Packt Publishing 2015

<Hubert.Hoegl@hs-augsburg.de>, April 2016

Chapter 1: Starting Out

Pages 1 to 12.

  1. Why does your TV run Linux? (6 item points)
  2. What hardware conditions must be given to run Linux?
  3. What skills do you need to start a Linux project?
  4. What are the main players?
  5. Name the "four elements"
  6. What do you know about Open-Source licenses?
  7. Beagle Bone Black. Write down the main technical data.
  8. What is Qemu? How can I use it?
  9. For which purpose do you need the uml-utilities?

Chapter 2: Learning About Toolchains

Pages 13 to 39.

  1. Which components are in the standard GNU toolchain?
  2. Compare native and cross toolchains.
  3. What are the capabilities of the target CPU, which are essential for the toolchain?
  4. What reports the command gcc -dumpmachine?
  5. Which C libraries do you know?
  6. Which alternatives do you know to get a toolchain?
  7. Create a toolchain using crosstool-ng!
  8. Follow the istructions in the "Anatomy of a toolchain" section.
  9. How do you cross-compile a program?
  10. How do you compile a program which uses the GNU autotools?

Chapter 3: All about bootloaders

Pages 41 to 68.

  1. Describe the three phases of booting.
  2. Which information is passed from bootloader to kernel?
  3. What is a "device tree"?
  4. From which technology are the device trees derived?
  5. Device tree basics

    XXX add a device tree example here which should be explained (reg, phandles, interrupts, include files, compiling a DT)

  6. Which bootloaders do you know? (which is the most widely used?)
  7. Describe the steps needed to compile and install U-Boot.
  1. Describe how to use U-Boot? Cover the following items:

    • Environment variables
    • Boot image format
    • Loading images from cards and network
    • Start the Linux kernel
  2. How can you automated the boot process?
  3. Which are the board specific U-Boot files?
  4. How to build the Barebox bootloader?

Chapter 4: Porting and configuring the kernel

Pages 69 to 94.

  1. When was the Linux project started?
  2. Which three main jobs has the kernel?
  3. Describe the structure of user space and kernel space and how they interact.
  4. How does kernel version numbering work? What kernel version do you use?
  5. What are mainline, stable and long-term kernels?
  6. How is the kernel licensed? Can you run proprietary (closed) applications in user space?
  7. Questions about the kernel sources

    1. How many files has the current kernel for your board?
    2. How does the kernel configuration work?
    3. How do you run menuconfig for cross-compilation?
    4. How do you configure the kernel with a default configuration for the BBB?
    5. How do you compile a zImage or uImage?
    6. Which information is displayed when you compile the kernel? How can you display all commands to the output?
    7. How do you compile the device trees?
    8. How do you compile and install modules?
    9. What does the kernel need after it has started?
    10. How does the initialization of user space work?
    11. How are the kernel log messages organized? Which messages are displayed if the log level is set to 7?
    12. What is the kernel command line and where is it described?

Chapter 5: Building a root filesystem

Pages 95 to 128.

  1. Welche Komponenten muss man mindestens im Root-Filesystem haben?
  2. Was bedeutet FHS?
  3. Wie funktionieren die file permission bits?
  4. In welchem Programm sind alle wesentlichen Werkzeuge fuer das Root-FS enthalten?
  5. Mit welchen Kommandozeilenaufrufen baut man dieses Programm?
  6. Was sind device nodes und wie erzeugt man sie?
  7. Welche Bedeutung haben die Filesysteme /proc und /sysfs und wie mountet man sie?

Chapter 6: Selecting a build system

Pages 129 to 157.

Chapter 8: Introducing Device Drivers

Pages 197 to 227.

Chapter 12: Debugging with GDB

Pages 295 to 321.

Chapter 14: Real-time programming

Page 353 to 373.

ElinuxSimmondsQuestions (zuletzt geƤndert am 2016-06-02 22:11:39 durch p5B0B89E3)